Maison  >  Article  >  Java  >  Les développeurs Java doivent connaître ces 15 outils et frameworks Big Data

Les développeurs Java doivent connaître ces 15 outils et frameworks Big Data

坏嘻嘻
坏嘻嘻original
2018-09-14 17:10:091994parcourir

Un framework est en fait une collection de codes réutilisables. Le code du framework est le code de l'architecture du framework, pas le code de la logique métier. Le code du framework protège les classes, les méthodes, les fonctions, etc. à certaines règles pour former un cadre.

Les programmeurs de la plupart des grandes sociétés Internet nationales sont appelés ingénieurs R&D, mais en fait, il n'y a presque aucun projet de R&D dans le pays et ne peuvent être qualifiés que de développement.

La plupart du travail des programmeurs de développement est un travail répétitif, qui peut facilement causer de la fatigue. Les salaires atteignent un sommet en 2 à 5 ans de travail, et il est plus difficile de s'améliorer. pour finir, je suis passé à d'autres industries.

JAVA est sophistiqué et puissant, et possède des performances et une maintenabilité irremplaçables par rapport aux autres langages. Il est déjà devenu l'un des langages de programmation les plus populaires. De nombreuses personnes souhaitent se lancer dans l'industrie informatique, et le langage de choix est JAVA. .

Cependant, dans les 10 prochaines années, le monde du big data sera définitivement dominé par le big data. Avec l'explosion de l'intelligence artificielle, un grand nombre d'entreprises y entreront. Le domaine du Big Data, et des programmeurs JAVA au Big Data JAVA, aura des avantages naturels, car l'architecture Big Data actuelle est essentiellement réalisée en langage JAVA. Au cours des 10 prochaines années, la demande de Big Data JAVA augmentera.

Si ceux qui apprennent JAVA maintenant ne veulent pas être éliminés à l'avenir, ils entreront certainement dans les rangs du big data à l'avenir. Selon les tendances actuelles de l'industrie, les programmeurs JAVA sont moins compétitifs en raison de. Limites de développement et âge.Il est également de plus en plus facile d'être dépassé par la jeune génération en termes de technologie. Parce que les programmeurs JAVA font trop d'heures supplémentaires, un grand nombre d'ingénieurs JAVA seniors sont déjà entrés dans le big data.

Le plus grand défi auquel sont confrontés les développeurs informatiques aujourd'hui est la complexité. Le matériel devient de plus en plus complexe, le système d'exploitation devient de plus en plus complexe, les langages de programmation et les API sont de plus en plus complexes, ainsi que les applications que nous utilisons. la construction devient également de plus en plus complexe. Selon un rapport d'enquête réalisé par des médias étrangers, des experts ont répertorié certains outils ou frameworks que les programmeurs Java ont utilisés au cours des 12 derniers mois et qui pourraient être utiles pour vous.

1. MongoDB - la base de données multiplateforme orientée document la plus populaire.

MongoDB est une base de données basée sur le stockage de fichiers distribué, écrite en langage C++. Conçu pour fournir des solutions de stockage de données évolutives et hautes performances pour les applications Web. Les performances des applications dépendent des performances de la base de données. MongoDB est la base de données non relationnelle la plus riche en fonctionnalités et ressemble le plus à une base de données relationnelle. Avec la sortie de MongoDB 3.4, ses capacités de scénarios d'application ont été encore étendues.

Les principaux avantages de MongoDB sont son modèle de document flexible, ses jeux de réplicas hautement disponibles et ses clusters fragmentés évolutifs. Vous pouvez essayer de comprendre MongoDB sous plusieurs aspects, tels que la surveillance en temps réel des outils MongoDB, l'utilisation de la mémoire et les défauts de page, le nombre de connexions, les opérations de base de données, les jeux de réplication, etc.

2. Elasticsearch - un moteur de recherche RESTful distribué conçu pour le cloud.

ElasticSearch est un serveur de recherche basé sur Lucene. Il fournit un moteur de recherche en texte intégral distribué multi-utilisateurs basé sur une interface Web RESTful. Elasticsearch, développé en Java et publié en open source selon les termes de la licence Apache, est un moteur de recherche populaire au niveau des entreprises.

ElasticSearch n'est pas seulement un moteur de recherche en texte intégral, mais aussi un stockage de documents distribué en temps réel, dans lequel chaque champ contient des données indexées et peut être recherché. C'est également un moteur de recherche distribué en temps réel ; capacités d'analyse. Et il peut être étendu à des centaines de serveurs pour stocker et traiter des pétaoctets de données. ElasticSearch utilise Lucene pour compléter sa fonction d'indexation au niveau inférieur, c'est pourquoi bon nombre de ses concepts de base proviennent de Lucene.

3. Cassandra - un système de gestion de bases de données distribuées open source, développé à l'origine par Facebook, conçu pour gérer de grandes quantités de données sur de nombreux serveurs de base, offrir une haute disponibilité et aucun point de défaillance unique.

Apache Cassandra est un système de base de données NoSQL distribué open source. Il combine le modèle de données de Google BigTable avec l'architecture entièrement distribuée d'Amazon Dynamo. Il a été open source en 2008. Depuis lors, en raison de sa bonne évolutivité, Cassandra a été adoptée par les sites Web 2.0 tels que Digg et Twitter et est devenue une solution de stockage de données structurées distribuées populaire.

Comme Cassandra est écrit en Java, il peut théoriquement fonctionner sur des machines avec JDK6 et supérieur. Les JDK officiellement testés incluent OpenJDK et le JDK de Sun. Les commandes de fonctionnement de Cassandra sont similaires aux bases de données relationnelles que nous exploitons habituellement. Pour les amis qui connaissent MySQL, l'opération sera facile à démarrer.

4. Redis - stockage de structure de données en mémoire open source (sous licence BSD), utilisé comme base de données, cache et courtier de messages.

Redis est une base de données de valeurs-clés de type journal open source écrite en langage ANSI C, prend en charge le réseau, peut être basée sur la mémoire et persistante, et fournit des API dans plusieurs langues. Redis possède trois fonctionnalités principales qui le distinguent de nombreux autres concurrents : Redis est une base de données qui enregistre les données entièrement en mémoire, en utilisant le disque uniquement à des fins de persistance ; Redis possède un ensemble de types de données relativement riche par rapport à de nombreux systèmes de stockage de données à valeurs-clés ; ; Redis peut copier des données vers n'importe quel nombre

5. Hazelcast - une grille de données de mémoire open source basée sur Java.

Hazelcast est une grille de données en mémoire qui fournit aux programmeurs Java des transactions critiques et des applications de mémoire de plusieurs milliards. Bien que Hazelcast n'ait pas de soi-disant "Master", il possède toujours un nœud Leader (le membre le plus ancien). Ce concept est similaire au Leader de ZooKeeper, mais le principe de mise en œuvre est complètement différent. Dans le même temps, les données de Hazelcast sont distribuées et chaque membre détient une partie des données et les données de sauvegarde correspondantes, ce qui est également différent de ZooKeeper.

La commodité de l'application Hazelcast est appréciée des développeurs, mais si vous souhaitez l'utiliser, vous devez y réfléchir attentivement.

6. EHCache - un cache distribué Java open source largement utilisé. Principalement pour le cache général, Java EE et les conteneurs légers.

EhCache est un framework de mise en cache en cours de processus Java pur, rapide et performant. Il s'agit du CacheProvider par défaut en veille prolongée. Les principales fonctionnalités sont : rapide et simple, avec plusieurs stratégies de mise en cache ; les données mises en cache ont deux niveaux, mémoire et disque, il n'y a donc pas lieu de s'inquiéter des problèmes de capacité qui seront écrites sur le disque lors du redémarrage de la machine virtuelle ; il est accessible via RMI et l'API enfichable. Mise en cache distribuée d'autres manières ; dispose d'une interface d'écoute pour les gestionnaires de cache et de cache ; prend en charge plusieurs instances de gestionnaire de cache, ainsi que plusieurs zones de cache pour une instance ;

7. Hadoop - un framework logiciel open source écrit en Java, utilisé pour le stockage distribué, et pour les très grandes données, les utilisateurs peuvent développer des programmes distribués sans comprendre les détails sous-jacents de la distribution.

Exploitez pleinement les clusters pour le calcul et le stockage à haut débit. Hadoop implémente un système de fichiers distribué (Hadoop Distributed File System), appelé HDFS. La conception de base du framework Hadoop est : HDFS et MapReduce. HDFS fournit un stockage pour des données massives et MapReduce fournit un calcul pour des données massives.

8. Solr - une plateforme de recherche d'entreprise open source, écrite en Java, à partir du projet Apache Lucene.

Solr est un serveur d'applications de recherche indépendant au niveau de l'entreprise qui fournit une interface API similaire à un service Web. Les utilisateurs peuvent soumettre des fichiers XML dans un certain format au serveur du moteur de recherche via des requêtes http pour générer des index ; ils peuvent également effectuer des requêtes de recherche via des opérations Http Get et obtenir les résultats renvoyés au format XML.

Comme ElasticSearch, il est également basé sur Lucene, mais il l'étend pour fournir un langage de requête plus riche que Lucene, tout en étant configurable, évolutif et en optimisant les performances des requêtes.

9. Spark - le projet le plus actif de l'Apache Software Foundation, est un framework informatique en cluster open source.

Spark est un environnement informatique en cluster open source similaire à Hadoop, mais il existe certaines différences entre les deux qui rendent Spark supérieur dans certaines charges de travail. Cela étant dit, Spark permet des ensembles de données distribués en mémoire, ce qui en plus de pouvoir fournir des requêtes interactives, il peut également optimiser les charges de travail itératives.

Spark est implémenté dans le langage Scala et utilise Scala comme framework d'application. Contrairement à Hadoop, Spark et Scala sont étroitement intégrés, Scala le rendant aussi simple à utiliser que les objets de collection locale.

10. Memcached - un système général de cache de mémoire distribuée.

Memcached est un système de mise en cache distribué qui a été initialement développé par Danga Interactive pour LiveJournal, mais qui est utilisé par de nombreux logiciels (tels que MediaWiki). En tant que serveur de cache distribué à haut débit, Memcached présente les caractéristiques suivantes : un protocole simple, un traitement des événements basé sur libevent et un stockage mémoire intégré.

11. Apache Hive - Fournit une couche de type SQL au-dessus de Hadoop.

Hive est une plateforme d'entrepôt de données basée sur Hadoop. Grâce à Hive, le travail ETL peut être facilement effectué. hive définit un langage de requête similaire à SQL, qui peut convertir le SQL écrit par l'utilisateur en programmes Mapreduce correspondants pour une exécution basée sur Hadoop. Actuellement, la version Apache Hive 2.1.1 a été publiée.

12. Apache Kafka - un système de messagerie par abonnement distribué à haut débit développé à l'origine par LinkedIn.

Apache Kafka est un projet de système de messagerie open source écrit en Scala. L'objectif de ce projet est de fournir une plateforme unifiée, à haut débit et à faible latence, pour le traitement des données en temps réel. Kafka gère des messages différenciés par classes, appelés sujets. Les producteurs publient des messages sur les sujets Kafka, et les consommateurs s'inscrivent auprès des sujets et reçoivent les messages publiés sur ces sujets.

13. Akka – Une boîte à outils pour créer des applications hautement concurrentes, distribuées et résilientes basées sur les messages sur la JVM.

Akka est une bibliothèque écrite en Scala qui simplifie l'écriture d'applications de modèles d'acteurs tolérantes aux pannes et hautement évolutives en Java et Scala. Il a été utilisé avec succès dans l’industrie des télécommunications et le système ne tombe presque jamais en panne.

14. HBase - base de données open source, non relationnelle et distribuée, modélisée à l'aide de BigTable de Google, écrite en Java et fonctionnant sur HDFS.

Différent des produits commerciaux de Big Data tels que FUJITSU Cliq, HBase est une implémentation open source de Google Bigtable. Semblable à Google Bigtable, qui utilise GFS comme système de stockage de fichiers, HBase utilise Hadoop HDFS comme système de stockage de fichiers exécuté par Google ; MapReduce pour traiter des données massives, HBase utilise également Hadoop MapReduce pour traiter des données massives dans HBase ; Google Bigtable utilise Chubby comme service collaboratif et HBase utilise Zookeeper comme contrepartie.

15. Neo4j - une base de données graphique open source implémentée en Java.

Neo4j est une base de données graphique NOSQL hautes performances qui stocke les données structurées sur le réseau plutôt que dans des tables. Il s'agit d'un moteur de persistance Java intégré, basé sur disque et entièrement transactionnel.

Résumé :

Java est recherché par des millions de développeurs à travers le monde et est devenu un excellent langage de programmation. En fin de compte, le langage est constamment amélioré à mesure que la technologie évolue pour répondre aux besoins changeants du marché.

Que vous soyez propriétaire d'une entreprise technologique ou non, les logiciels sont devenus une partie intégrante de presque toutes les entreprises. Afin d'attirer vos clients potentiels, vous devez leur proposer un produit techniquement innovant. Eh bien, Java peut fournir une telle plate-forme pour vous aider à réaliser cette innovation technologique. Les contributeurs Java ont maintenu des mises à jour approfondies pour fournir les fonctionnalités les plus récentes et les plus puissantes.

Recommandations associées :

ThinkPHP framework one, ThinkPHP framework

ci framework (1), ci framework (

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn