ホームページ >Java >&#&チュートリアル >Java 開発者はこれら 15 のビッグ データ ツールとフレームワークを知っておく必要があります
フレームワークは、実際には再利用可能なコードの集合です。フレームワークのコードは、ビジネス ロジック コードではなく、フレームワーク アーキテクチャのコードです。フレームワーク コードは、クラス、メソッド、関数などを保護します。枠組みを形成するために特定のルールに従う。
国内の大手インターネット企業のほとんどのプログラマーは研究開発エンジニアと呼ばれていますが、実際には国内には研究開発プロジェクトはほとんどなく、開発としか言えません。
開発プログラマーの仕事は反復作業が多く、勤続2~5年で給与が頭打ちになり、改善が難しくなることが多いです。プログラマーは最終的に他の業界に転職しました。
JAVA は、洗練された強力な言語であり、他の言語では代えがたいパフォーマンスと保守性を備えており、IT 業界への参入を希望する人も多くなっています。 。
しかし、今後 10 年で、世界は間違いなく人工知能の出現によりビッグデータに支配され、多くの企業がビッグデータの分野に参入するでしょう。現在のビッグデータ アーキテクチャは基本的に JAVA 言語で完成しているため、JAVA プログラマから切り替える人には当然の利点があります。今後 10 年間で JAVA ビッグデータの需要は増加するでしょう。
現在 JAVA を学習している人が将来排除されたくないのであれば、現在の業界の傾向によれば、JAVA プログラマーは次のような理由で競争力が低くなります。また、JAVA プログラマーの残業時間が長すぎるため、技術面で若い世代に追い越されやすくなっており、すでに多くの上級 JAVA エンジニアがビッグデータに参入しています。
今日 IT 開発者が直面している最大の課題は、ハードウェアがますます複雑になり、OS がますます複雑になり、プログラミング言語と API がますます複雑になり、アプリケーションがますます複雑になっていることです。ビルドもますます複雑になっています。海外メディアの調査報告によると、専門家は、Java プログラマーが過去 12 か月間使用したツールやフレームワークをリストアップしており、それらはあなたにとって意味があると思われます。
1. MongoDB - 最も人気のあるクロスプラットフォームのドキュメント指向データベース。
MongoDB は、C 言語で書かれた分散ファイル ストレージに基づくデータベースです。 Web アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供するように設計されています。アプリケーションのパフォーマンスはデータベースのパフォーマンスに依存します。MongoDB は非リレーショナル データベースの中で最も機能が豊富で、MongoDB 3.4 のリリースにより、アプリケーション シナリオの機能がさらに拡張されました。
MongoDB の主な利点は、柔軟なドキュメント モデル、可用性の高いレプリカ セット、およびスケーラブルなシャード クラスターです。 MongoDB ツールのリアルタイム監視、メモリ使用量とページ フォールト、接続数、データベース操作、レプリケーション セットなど、さまざまな側面から MongoDB を理解することができます。
2. Elasticsearch - クラウド用に構築された分散 RESTful 検索エンジン。
ElasticSearch は Lucene に基づいた検索サーバーです。 RESTful Web インターフェイスに基づいた分散マルチユーザー対応の全文検索エンジンを提供します。 Java で開発され、Apache ライセンスの条件に基づいてオープン ソースとしてリリースされた Elasticsearch は、人気のあるエンタープライズ レベルの検索エンジンです。
ElasticSearch は、全文検索エンジンであるだけでなく、分散型リアルタイム ドキュメント ストレージでもあり、各フィールドはインデックス付きデータであり、リアルタイムで検索できる分散型検索エンジンでもあります。また、分析機能を数百台のサーバーに拡張して、ペタバイト規模のデータを保存および処理することもできます。 ElasticSearch は Lucene を使用してインデックス作成機能を最下位レベルで完了するため、基本的な概念の多くは Lucene に由来しています。
3. Cassandra - Facebook が独自に開発したオープンソースの分散データベース管理システムで、多くの汎用サーバー上で大量のデータを処理し、高可用性を提供し、単一障害点がないように設計されています。
Apache Cassandra は、オープンソースの分散型 NoSQL データベース システムです。 Google BigTable のデータモデルと Amazon Dynamo の完全分散アーキテクチャを組み合わせています。 Cassandra は 2008 年にオープンソース化されました。それ以来、Cassandra はその優れたスケーラビリティにより、Digg や Twitter などの Web 2.0 Web サイトで採用され、人気のある分散構造化データ ストレージ ソリューションになりました。
Cassandra は Java で書かれているため、理論的には JDK6 以降を搭載したマシンで実行できます。正式にテストされた JDK には OpenJDK と Sun の JDK が含まれます。 Cassandra の操作コマンドは、私たちが普段操作しているリレーショナル データベースと似ており、MySQL に慣れている人にとっては簡単に操作を始めることができます。
4. Redis - データベース、キャッシュ、メッセージ ブローカーとして使用されるオープン ソース (BSD ライセンス) インメモリ データ構造ストレージ。
Redis は、ANSI C 言語で書かれたオープンソースのログタイプの Key-Value データベースで、ネットワークをサポートし、メモリベースで永続化でき、複数の言語で API を提供します。 Redis には、他の多くの競合他社と異なる 3 つの主な機能があります。 Redis は、データを完全にメモリに保存し、永続化の目的のみにディスクを使用するデータベースです。Redis は、多くのキー値データ ストレージ システムと比較して、比較的豊富なデータ型セットを備えています。 ; Redis は任意の番号
5 にデータをコピーできます。Hazelcast - Java ベースのオープン ソース メモリ データ グリッドです。
Hazelcast は、Java プログラマーにミッション クリティカルなトランザクションと兆レベルのメモリ アプリケーションを提供するインメモリ データ グリッドです。 Hazelcast にはいわゆる「マスター」はありませんが、リーダー ノード (最も古いメンバー) が存在します。この概念は ZooKeeper のリーダーと似ていますが、実装原理はまったく異なります。同時に、Hazelcast ではデータが分散され、各メンバーがデータの一部とそれに対応するバックアップ データを保持する点も ZooKeeper とは異なります。
Hazelcast のアプリケーションの利便性は開発者に愛されていますが、実際に使用する場合は慎重に検討する必要があります。
6. EHCache - 広く使用されているオープンソース Java 分散キャッシュ。主に一般的なキャッシュ、Java EE、軽量コンテナ向けです。
EhCache は、高速で高機能な純粋な Java インプロセス キャッシュ フレームワークであり、休止状態のデフォルトの CacheProvider です。主な特徴は、高速かつシンプルで、複数のキャッシュ戦略を備えていること、キャッシュされたデータにはメモリとディスクの 2 つのレベルがあるため、仮想マシンの再起動時にキャッシュされたデータがディスクに書き込まれることを心配する必要がありません。 RMI およびプラグイン可能な API を介してアクセスできます。 分散キャッシュには、キャッシュおよびキャッシュ マネージャーのリスニング インターフェイスがあり、1 つのインスタンスに対して複数のキャッシュ領域をサポートします。
7. Hadoop - Java で書かれたオープン ソース ソフトウェア フレームワークで、分散ストレージに使用されます。ユーザーは、分散の基本的な詳細を理解していなくても、分散プログラムを開発できます。
高速コンピューティングとストレージのためにクラスターを最大限に活用します。 Hadoop は、HDFS と呼ばれる分散ファイル システム (Hadoop 分散ファイル システム) を実装しています。 Hadoop フレームワークの中心となる設計は、HDFS と MapReduce です。 HDFS は大規模なデータのストレージを提供し、MapReduce は大規模なデータの計算を提供します。
8. Solr - Apache Lucene プロジェクトの Java で書かれたオープンソースのエンタープライズ検索プラットフォーム。
Solr は、Web サービスに似た API インターフェイスを提供する独立したエンタープライズ レベルの検索アプリケーション サーバーです。ユーザーは、http リクエストを通じて特定の形式の XML ファイルを検索エンジン サーバーに送信してインデックスを生成できます。また、HTTP Get 操作を通じて検索リクエストを作成し、XML 形式で返された結果を取得することもできます。
ElasticSearch と同様に、これも Lucene に基づいていますが、Lucene を拡張して、Lucene よりも豊富なクエリ言語を提供すると同時に、構成可能でスケーラブルでクエリのパフォーマンスを最適化します。
9. Spark - Apache Software Foundation で最も活発なプロジェクトは、オープンソースのクラスター コンピューティング フレームワークです。
Spark は、Hadoop に似たオープンソースのクラスター コンピューティング環境ですが、特定のワークロードでは Spark の方が優れているという点で、両者にはいくつかの違いがあります。つまり、Spark はメモリ内分散データセットを可能にします。インタラクティブなクエリを提供できることに加えて、反復的なワークロードも最適化できます。
Spark は Scala 言語で実装されており、アプリケーション フレームワークとして Scala を使用します。 Hadoop とは異なり、Spark と Scala は緊密に統合されており、Scala はローカル コレクション オブジェクトと同じくらい簡単に操作できます。
10. Memcached - 一般的な分散メモリ キャッシュ システム。
Memcached は、元々は LiveJournal 用に Danga Interactive によって開発された分散キャッシュ システムですが、多くのソフトウェア (MediaWiki など) で使用されています。 Memcached は高速分散キャッシュ サーバーとして、シンプルなプロトコル、libevent に基づくイベント処理、内蔵メモリ ストレージという特徴を備えています。
11. Apache Hive -- Hadoop 上に SQL のような層を提供します。
Hive は、Hadoop に基づくデータ ウェアハウス プラットフォームです。ハイブを介して ETL 作業を簡単に実行できます。 hive は SQL に似たクエリ言語を定義しており、ユーザーが作成した SQL を、Hadoop に基づいて実行する対応する Mapreduce プログラムに変換できます。現在、Apache Hive 2.1.1 バージョンがリリースされています。
12. Apache Kafka - LinkedIn が独自に開発した高スループットの分散型サブスクリプション メッセージング システム。
Apache Kafka は、Scala で書かれたオープンソースのメッセージング システム プロジェクトです。このプロジェクトの目標は、リアルタイム データを処理するための、高スループット、低遅延の統合プラットフォームを提供することです。 Kafka は、トピックと呼ばれるクラスごとに区別されたメッセージを保持します。プロデューサは Kafka トピックにメッセージをパブリッシュし、コンシューマはトピックに登録して、これらのトピックにパブリッシュされたメッセージを受け取ります。
13. Akka – JVM 上で高度に同時実行性、分散性、復元力のあるメッセージ駆動型アプリケーションを構築するためのツールキット。
Akka は、フォールトトレラントでスケーラビリティの高い Java および Scala アクター モデル アプリケーションの作成を簡素化する、Scala で書かれたライブラリです。電気通信業界で実績があり、システムがダウンすることはほとんどありません。
14. HBase - Google の BigTable を使用してモデル化されたオープンソースの非リレーショナル分散データベースで、Java で記述され、HDFS 上で実行されます。
FUJITSU Cliq などの商用ビッグ データ製品とは異なり、HBase は、ファイル ストレージ システムとして GFS を使用する Google Bigtable と同様に、Google が実行するファイル ストレージ システムとして Hadoop HDFS を使用します。 MapReduce は Bigtable の大量データを処理します。HBase も Hadoop MapReduce を使用して HBase で大量のデータを処理します。Google Bigtable は共同サービスとして Chubby を使用し、HBase は対応するサービスとして Zookeeper を使用します。
15. Neo4j - Java で実装されたオープンソースのグラフ データベース。
Neo4j は、構造化データをテーブルではなくネットワーク上に保存する高性能 NOSQL グラフ データベースです。これは、組み込みのディスクベースの完全トランザクション Java 永続エンジンです。
概要:
Java は世界中の何百万もの開発者に求められており、優れたプログラミング言語に進化しました。最終的に、言語はテクノロジーの変化に応じて変化する市場のニーズに対応するために常に改良され続けています。
テクノロジー企業を所有しているかどうかに関係なく、ソフトウェアはほぼすべてのビジネスに不可欠な部分になっており、潜在的な顧客を引き付けるためには、技術的に革新的な製品を顧客に提供する必要があります。 Java は、この技術革新を実現するためのプラットフォームを提供します。 Java の貢献者は、最新かつ最も強力な機能を提供するために広範な更新を維持してきました。
関連する推奨事項:
ThinkPHP フレームワーク 1、ThinkPHP フレームワーク
ci フレームワーク (1)、ci フレームワーク (##) #
以上がJava 開発者はこれら 15 のビッグ データ ツールとフレームワークを知っておく必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。