Heim >Betrieb und Instandhaltung >Sicherheit >Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

PHPz
PHPznach vorne
2023-05-13 23:49:121999Durchsuche

1. MongoDB – die beliebteste plattformübergreifende, dokumentenorientierte Datenbank.

MongoDB ist eine Datenbank, die auf verteilter Dateispeicherung basiert und in der Sprache C++ geschrieben ist. Entwickelt, um skalierbare, leistungsstarke Datenspeicherlösungen für Webanwendungen bereitzustellen. Die Anwendungsleistung hängt von der Datenbankleistung ab. MongoDB ist die funktionsreichste unter den nicht relationalen Datenbanken und ähnelt am ehesten einer relationalen Datenbank. Mit der Veröffentlichung von MongoDB 3.4 wurden die Funktionen für Anwendungsszenarien weiter erweitert.

Die Hauptvorteile von MongoDB sind ein flexibles Dokumentmodell, ein hochverfügbarer Replikatsatz und ein skalierbarer Sharded-Cluster. Sie können versuchen, MongoDB unter verschiedenen Gesichtspunkten zu verstehen, z. B. Echtzeitüberwachung der MongoDB-Tools, Speichernutzung und Seitenfehler, Anzahl der Verbindungen, Datenbankoperationen, Replikationssätze usw.

Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

2. Elasticsearch – eine verteilte RESTful-Suchmaschine, die für die Cloud entwickelt wurde.

ElasticSearch ist ein Suchserver basierend auf Lucene. Es stellt eine verteilte, mehrbenutzerfähige Volltextsuchmaschine bereit, die auf einer RESTful-Webschnittstelle basiert. Elasticsearch wurde in Java entwickelt und unter den Bedingungen der Apache-Lizenz als Open Source veröffentlicht und ist eine beliebte Suchmaschine für Unternehmen.

ElasticSearch ist nicht nur eine Volltextsuchmaschine, sondern auch ein verteilter Echtzeit-Dokumentenspeicher, in dem jedes Feld indizierte Daten enthält und durchsucht werden kann. Es ist auch eine verteilte Suchmaschine mit Echtzeit-Analysefunktionen kann auf Hunderte von Servern erweitert werden, die Petabytes an Daten speichern und verarbeiten. ElasticSearch verwendet Lucene, um seine Indizierungsfunktion auf der untersten Ebene zu vervollständigen, daher stammen viele seiner Grundkonzepte von Lucene.

Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

3. Cassandra – ein verteiltes Open-Source-Datenbankverwaltungssystem, ursprünglich von Facebook entwickelt, das für die Verarbeitung großer Datenmengen auf vielen Standardservern konzipiert ist, eine hohe Verfügbarkeit bietet und keinen Single Point of Failure aufweist.

Apache Cassandra ist ein verteiltes Open-Source-NoSQL-Datenbanksystem. Es kombiniert das Datenmodell von Google BigTable mit der vollständig verteilten Architektur von Amazon Dynamo. Es wurde 2008 als Open Source bereitgestellt. Seitdem wurde Cassandra aufgrund seiner guten Skalierbarkeit von Web 2.0-Websites wie Digg und Twitter übernommen und hat sich zu einer beliebten verteilten strukturierten Datenspeicherlösung entwickelt.

Da Cassandra in Java geschrieben ist, kann es theoretisch auf Maschinen mit JDK6 und höher ausgeführt werden. Zu den offiziell getesteten JDKs gehören OpenJDK und Suns JDK. Die Betriebsbefehle von Cassandra ähneln den relationalen Datenbanken, die wir normalerweise betreiben. Für Freunde, die mit MySQL vertraut sind, ist der Einstieg einfach.

Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

4. Redis – Open-Source-In-Memory-Datenstrukturspeicher (BSD-lizenziert), der als Datenbank, Cache und Nachrichtenbroker verwendet wird.

Redis ist eine Open-Source-Schlüsselwertdatenbank vom Protokolltyp, die in der ANSI-C-Sprache geschrieben ist, Netzwerke unterstützt, speicherbasiert und persistent sein kann und APIs in mehreren Sprachen bereitstellt. Redis verfügt über drei Hauptmerkmale, die es von vielen anderen Mitbewerbern unterscheiden: Redis ist eine Datenbank, die Daten vollständig im Speicher speichert und die Festplatte nur für Persistenzzwecke verwendet. Redis verfügt im Vergleich zu vielen Schlüsselwert-Datenspeichersystemen über einen relativ umfangreichen Satz an Datentypen ; Redis kann Daten auf jede beliebige Nummer kopieren

5 – ein Open-Source-Speicherdatenraster auf Java-Basis.

Hazelcast ist ein In-Memory-Datengrid, das Java-Programmierern geschäftskritische Transaktionen und Speicheranwendungen auf Billionenebene bietet. Obwohl Hazelcast keinen sogenannten „Master“ hat, verfügt es dennoch über einen Leader-Knoten (das älteste Mitglied). Dieses Konzept ähnelt dem Leader in ZooKeeper, das Implementierungsprinzip ist jedoch völlig anders. Gleichzeitig werden die Daten in Hazelcast verteilt, und jedes Mitglied verfügt über einen Teil der Daten und die entsprechenden Sicherungsdaten, was sich auch von ZooKeeper unterscheidet.

Der Anwendungskomfort von Hazelcast wird von Entwicklern geschätzt, aber wenn Sie ihn nutzen möchten, müssen Sie ihn sorgfältig abwägen.

6. EHCache – ein weit verbreiteter Open-Source-Java-Distributed-Cache. Hauptsächlich für allgemeinen Cache, Java EE und Lightweight-Container.

EhCache ist ein reines Java-In-Process-Caching-Framework, das schnell und leistungsfähig ist. Es ist der Standard-CacheProvider im Ruhezustand. Die Hauptmerkmale sind: schnell und einfach, mit mehreren Caching-Strategien; zwischengespeicherte Daten haben zwei Ebenen, Speicher und Festplatte, sodass zwischengespeicherte Daten beim Neustart der virtuellen Maschine nicht befürchtet werden müssen; Der Zugriff erfolgt über RMI und eine steckbare API. Das verteilte Caching verfügt über eine Überwachungsschnittstelle für Cache- und Cache-Manager und bietet mehrere Cache-Bereiche für eine Instanz.

7. Hadoop – ein in Java geschriebenes Open-Source-Software-Framework, das für die verteilte Speicherung verwendet wird. Für sehr große Datenmengen können Benutzer verteilte Programme entwickeln, ohne die zugrunde liegenden Details der Verteilung zu verstehen.

Nutzen Sie Cluster voll für Hochgeschwindigkeits-Computing und -Speicherung. Hadoop implementiert ein verteiltes Dateisystem (Hadoop Distributed File System), das als HDFS bezeichnet wird. Das Kerndesign des Hadoop-Frameworks ist: HDFS und MapReduce. HDFS bietet Speicher für große Datenmengen und MapReduce ermöglicht die Berechnung großer Datenmengen.

Welche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?

8. Solr – eine in Java geschriebene Open-Source-Unternehmenssuchplattform aus dem Apache Lucene-Projekt.

Solr ist ein unabhängiger Suchanwendungsserver auf Unternehmensebene, der eine API-Schnittstelle ähnlich einem Webdienst bereitstellt. Benutzer können XML-Dateien in einem bestimmten Format über http-Anfragen an den Suchmaschinenserver senden, um Indizes zu generieren. Sie können auch Suchanfragen über HTTP-Get-Vorgänge stellen und Ergebnisse im XML-Format erhalten.

Wie ElasticSearch basiert es ebenfalls auf Lucene, erweitert es jedoch, um eine umfangreichere Abfragesprache als Lucene bereitzustellen, gleichzeitig konfigurierbar und skalierbar zu sein und die Abfrageleistung zu optimieren.

9. Spark – das aktivste Projekt der Apache Software Foundation, ist ein Open-Source-Cluster-Computing-Framework.

Spark ist eine Open-Source-Cluster-Computing-Umgebung, die Hadoop ähnelt, es gibt jedoch einige Unterschiede zwischen den beiden, die Spark bei bestimmten Arbeitslasten überlegen machen. Mit anderen Worten: Spark ermöglicht nicht nur die Möglichkeit, im Speicher verteilte Datensätze zu verwenden Um interaktive Abfragen bereitzustellen, können auch iterative Arbeitslasten optimiert werden.

Spark ist in der Scala-Sprache implementiert und verwendet Scala als Anwendungsframework. Im Gegensatz zu Hadoop sind Spark und Scala eng integriert und Scala kann genauso einfach betrieben werden wie lokale Sammlungsobjekte.

10. Memcached – allgemeines verteiltes Speicher-Cache-System.

Memcached ist ein verteiltes Caching-System, das ursprünglich von Danga Interactive für LiveJournal entwickelt wurde, aber von vielen Softwareprogrammen (wie MediaWiki) verwendet wird. Als verteilter Cache-Server mit hoher Geschwindigkeit weist Memcached die folgenden Merkmale auf: einfaches Protokoll, Ereignisverarbeitung basierend auf Libevent und integrierte Speichermethode.

11. Apache Hive – Bietet eine SQL-ähnliche Ebene auf Hadoop.

Hive ist eine Data-Warehouse-Plattform basierend auf Hadoop. Über Hive können ETL-Arbeiten problemlos durchgeführt werden. hive definiert eine SQL-ähnliche Abfragesprache, die vom Benutzer geschriebenes SQL in entsprechende Mapreduce-Programme zur Ausführung auf Basis von Hadoop umwandeln kann. Derzeit ist die Version Apache Hive 2.1.1 veröffentlicht.

12. Apache Kafka – ein verteiltes Abonnement-Messaging-System mit hohem Durchsatz, das ursprünglich von LinkedIn entwickelt wurde.

Apache Kafka ist ein in Scala geschriebenes Open-Source-Messaging-Systemprojekt. Ziel dieses Projekts ist die Bereitstellung einer einheitlichen Plattform mit hohem Durchsatz und geringer Latenz für die Verarbeitung von Echtzeitdaten. Kafka verwaltet Nachrichten, die nach Klassen, sogenannten Themen, differenziert sind. Produzenten veröffentlichen Nachrichten zu Kafka-Themen, und Verbraucher registrieren sich bei Themen und erhalten Nachrichten, die zu diesen Themen veröffentlicht werden.

13. Akka – Ein Toolkit zum Erstellen hochgradig gleichzeitiger, verteilter und robuster nachrichtengesteuerter Anwendungen auf der JVM.

Akka ist eine in Scala geschriebene Bibliothek, die das Schreiben fehlertoleranter, hoch skalierbarer Java- und Scala-Aktormodellanwendungen vereinfacht. Es wird erfolgreich in der Telekommunikationsbranche eingesetzt und das System fällt fast nie aus.

14. HBase – Open Source, nicht relationale, verteilte Datenbank, modelliert mit Googles BigTable, geschrieben in Java und läuft auf HDFS.

Im Gegensatz zu kommerziellen Big-Data-Produkten wie FUJITSU Cliq ist HBase eine Open-Source-Implementierung von Google Bigtable, das GFS als Dateispeichersystem verwendet. HBase verwendet Hadoop HDFS als Dateispeichersystem Um große Datenmengen in Bigtable Data zu verarbeiten, verwendet HBase auch Hadoop MapReduce, um riesige Datenmengen in HBase zu verarbeiten. Google Bigtable verwendet Chubby als kollaborativen Dienst und HBase verwendet Zookeeper als Gegenstück.

15. Neo4j – eine in Java implementierte Open-Source-Graphdatenbank.

Neo4j ist eine leistungsstarke NOSQL-Grafikdatenbank, die strukturierte Daten im Netzwerk anstelle von Tabellen speichert. Es handelt sich um eine eingebettete, festplattenbasierte, vollständig transaktionale Java-Persistenz-Engine.

Das obige ist der detaillierte Inhalt vonWelche Big-Data-Tools und Frameworks müssen Java-Entwickler kennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was ist Datenbankprüfung?Nächster Artikel:Was ist Datenbankprüfung?