ホームページ >運用・保守 >安全性 >Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

PHPz
PHPz転載
2023-05-13 23:49:121999ブラウズ

1. MongoDB - 最も人気のある、クロスプラットフォームのドキュメント指向データベースです。

MongoDB は、C 言語で書かれた分散ファイル ストレージに基づくデータベースです。 Web アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供するように設計されています。アプリケーションのパフォーマンスはデータベースのパフォーマンスに依存します。MongoDB は非リレーショナル データベースの中で最も機能が豊富で、最もリレーショナル データベースに似ています。MongoDB 3.4 のリリースにより、そのアプリケーション シナリオ機能がさらに拡張されました。

MongoDB の主な利点は、柔軟なドキュメント モデル、可用性の高いレプリカ セット、およびスケーラブルなシャード クラスターです。 MongoDB ツールのリアルタイム監視、メモリ使用量とページ フォールト、接続数、データベース操作、レプリケーション セットなど、さまざまな側面から MongoDB を理解することができます。

Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

2. Elasticsearch - クラウド用に構築された分散型 RESTful 検索エンジン。

ElasticSearch は Lucene に基づいた検索サーバーです。 RESTful Web インターフェイスに基づいた分散マルチユーザー対応の全文検索エンジンを提供します。 Java で開発され、Apache ライセンスの条件に基づいてオープン ソースとしてリリースされた Elasticsearch は、人気のあるエンタープライズ レベルの検索エンジンです。

ElasticSearch は、全文検索エンジンであるだけでなく、分散型リアルタイム ドキュメント ストレージでもあり、各フィールドにはインデックス付きデータがあり、検索が可能です。また、リアルタイム性を備えた分散型検索エンジンでもあります。また、数百台のサーバーに拡張して、ペタバイト規模のデータを保存および処理することもできます。 ElasticSearch は Lucene を使用してインデックス作成機能を最下位レベルで完了するため、基本的な概念の多くは Lucene に由来しています。

Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

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 に詳しい友人であれば簡単に操作を始めることができます。

Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

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 つのレベルがあるため、容量の問題を心配する必要がないこと、キャッシュされたデータは仮想マシンの再起動時にディスクに書き込まれること、キャッシュされたデータは仮想マシンの再起動時にディスクに書き込まれること、およびキャッシュされたデータがメモリとディスクの 2 つのレベルにあることです。 RMI およびプラグイン可能な API を介してアクセス可能 他の方法での分散キャッシュ、キャッシュおよびキャッシュ マネージャーのリスニング インターフェイスを備え、複数のキャッシュ マネージャー インスタンスと 1 つのインスタンスの複数のキャッシュ領域をサポート、Hibernate キャッシュの実装を提供します。

7. Hadoop - Java で書かれたオープン ソース ソフトウェア フレームワークで、分散ストレージに使用され、非常に大規模なデータのユーザーは分散の基本的な詳細を理解していなくても分散プログラムを開発できます。

高速コンピューティングとストレージのためにクラスターを最大限に活用します。 Hadoop は、HDFS と呼ばれる分散ファイル システム (Hadoop 分散ファイル システム) を実装しています。 Hadoop フレームワークの中心となる設計は、HDFS と MapReduce です。 HDFS は大規模なデータのストレージを提供し、MapReduce は大規模なデータの計算を提供します。

Java 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?

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 の方が優れているという点で、この 2 つの違いはいくつかあります。インタラクティブなクエリを提供できることに加えて、反復的なワークロードも最適化できます。

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 は Google Bigtable のオープン ソース実装です。ファイル ストレージ システムとして GFS を使用する Google Bigtable と同様に、HBase はファイル ストレージ システムとして Hadoop HDFS を使用します。 ; Google は処理に MapReduce を実行します。HBase も Hadoop MapReduce を使用して Bigtable 内の大量のデータを処理します。Google Bigtable は共同サービスとして Chubby を使用し、HBase は対応するものとして Zookeeper を使用します。

15. Neo4j - Java で実装されたオープンソースのグラフ データベース。

Neo4j は、構造化データをテーブルではなくネットワーク上に保存する高性能 NOSQL グラフ データベースです。これは、組み込みのディスクベースの完全トランザクション Java 永続エンジンです。

以上がJava 開発者が知っておくべきビッグ データ ツールとフレームワークは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。