Heim > Java > javaLernprogramm > Hauptteil

Java-Entwickler müssen diese 15 Big-Data-Tools und Frameworks kennen

坏嘻嘻
Freigeben: 2018-09-14 17:10:09
Original
2040 Leute haben es durchsucht

Ein Framework ist eigentlich eine Sammlung wiederverwendbarer Codes. Der Code des Frameworks ist der Code der Framework-Architektur, nicht der Geschäftslogikcode. Der Framework-Code wird entsprechend kombiniert an bestimmte Regeln gebunden, um einen Rahmen zu bilden.

Programmierer der meisten großen inländischen Internetunternehmen werden als F&E-Ingenieure bezeichnet, aber tatsächlich gibt es im Land fast keine F&E-Projekte und kann nur als Entwicklung bezeichnet werden.

Die meiste Arbeit von Entwicklungsprogrammierern ist repetitive Arbeit, die leicht zu Ermüdung führt. Die Gehälter erreichen innerhalb von 2 bis 5 Jahren einen Höhepunkt und es ist schwieriger, sie zu verbessern Am Ende wechselte man in andere Branchen.

JAVA ist ausgereift und leistungsstark und bietet eine im Vergleich zu anderen Sprachen unersetzliche Leistung und Wartbarkeit. Viele Menschen möchten in die IT-Branche einsteigen, und die Sprache ihrer Wahl ist .

Allerdings wird die Welt der Big Data in den nächsten 10 Jahren definitiv von Big Data dominiert werden. Mit der Explosion der künstlichen Intelligenz werden viele Unternehmen eintreten Im Bereich Big Data werden JAVA-Big-Data-Programmierer natürliche Vorteile haben, da die aktuelle Big-Data-Architektur grundsätzlich in der JAVA-Sprache vervollständigt wird. In den nächsten 10 Jahren wird die Nachfrage nach JAVA-Big-Data steigen zunehmend.

Wenn diejenigen, die jetzt JAVA lernen, in Zukunft nicht ausscheiden wollen, werden sie in Zukunft definitiv in die Riege von Big Data aufsteigen. Den aktuellen Branchentrends zufolge sind JAVA-Programmierer aufgrund dessen weniger wettbewerbsfähig Entwicklungsbeschränkungen und Alter Es wird auch immer einfacher, von der jüngeren Generation überholt zu werden. Da JAVA-Programmierer zu lange Überstunden machen, sind viele erfahrene JAVA-Ingenieure bereits in Big Data eingestiegen.

Die größte Herausforderung für IT-Entwickler ist heute die Komplexität. Hardware wird immer komplexer, Betriebssysteme werden immer komplexer, Programmiersprachen und APIs werden immer komplexer und die Anwendungen, die wir verwenden Auch der Aufbau wird immer komplexer. Laut einem Umfragebericht ausländischer Medien haben Experten einige Tools oder Frameworks aufgelistet, die Java-Programmierer in den letzten 12 Monaten verwendet haben und die für Sie von Bedeutung sein könnten.

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 sein flexibles Dokumentmodell, hochverfügbare Replikatsätze und skalierbare 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.

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 eine verteilte Echtzeit-Dokumentenspeicherung, in der jedes Feld indizierte Daten enthält und durchsucht werden kann. Es ist auch eine verteilte Suchmaschine mit Echtzeit Analysefunktionen und können auf Hunderte von Servern erweitert werden, um Petabytes an Daten zu speichern und zu verarbeiten. ElasticSearch verwendet Lucene, um seine Indizierungsfunktion auf der untersten Ebene zu vervollständigen, daher stammen viele seiner Grundkonzepte von Lucene.

3. Cassandra – ein Open-Source-Datenbankverwaltungssystem, das ursprünglich von Facebook entwickelt wurde und 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.

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. Hazelcast – ein Open-Source-Speicherdatenraster auf Basis von Java.

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.

Die Anwendungsfreundlichkeit von Hazelcast wird von Entwicklern geschätzt, aber wenn Sie es nutzen möchten, müssen Sie es 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 und für sehr große Datenmengen Benutzer verteilte Programme entwickeln kann, 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.

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, ist gleichzeitig konfigurierbar und skalierbar und optimiert die Abfrageleistung.

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 verteilte Datensätze im Arbeitsspeicher Neben der Möglichkeit, 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 – ein 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 Hochgeschwindigkeits-Cache-Server weist Memcached die folgenden Merkmale auf: einfaches Protokoll, Ereignisverarbeitung basierend auf Libevent und integrierter Speicherspeicher.

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 Apache Hive Version 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 Akteurmodellanwendungen in Java und Scala 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 MapReduce verwendet zur Verarbeitung großer Datenmengen auch Hadoop MapReduce zur Verarbeitung großer Datenmengen in HBase. 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-Graphdatenbank, die strukturierte Daten im Netzwerk anstelle von Tabellen speichert. Es handelt sich um eine eingebettete, festplattenbasierte, vollständig transaktionale Java-Persistenz-Engine.

Zusammenfassung:

Java ist bei Millionen von Entwicklern auf der ganzen Welt gefragt und hat sich zu einer hervorragenden Programmiersprache entwickelt. Letztendlich wird die Sprache ständig verbessert, da sich die Technologie verändert, um den sich ändernden Marktanforderungen gerecht zu werden.

Ob Sie ein Technologieunternehmen besitzen oder nicht, Software ist zu einem integralen Bestandteil fast jedes Unternehmens geworden. Um Ihre potenziellen Kunden anzulocken, sollten Sie Ihren Kunden ein technisch innovatives Produkt liefern. Nun, Java kann eine solche Plattform bieten, die Ihnen bei der Umsetzung dieser technologischen Innovation hilft. Java-Mitwirkende haben umfangreiche Updates durchgeführt, um die neuesten und leistungsstärksten Funktionen bereitzustellen.

Verwandte Empfehlungen:

ThinkPHP-Framework eins, ThinkPHP-Framework

ci-Framework (1), ci-Framework (

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!