1 か月で最大 1 TB のサイズになるデータベースがあります。直接クエリを実行すると、時間がかかります。そのため、データベース上で Hadoop を使用することを考えていました。ほとんどの場合、クエリにはデータベース全体の検索が含まれます。私のデータベース インスタンスは 1 または 2 で、それ以上ではありません。しばらくして、データベースをパージします。では、大量のデータを処理するのに役立つ Hadoop フレームワークを使用できますか?
2 に答える
Hadoopは分散システムでより適切に機能します。さらに、1TBはビッグデータではありません。このため、リレーショナルデータベースがその役割を果たします。Hadoopの真の力は、100TB以上のデータを処理する必要がある場合に発生します。リレーショナルデータベースに障害が発生した場合。
Hbaseを調べると高速ですが、MySQLやOracleの代わりにはなりません。
Hadoop は「クエリを実行するもの」ではありませんが、Hadoop を使用して大量のデータを処理し、クエリを実行できるシステムにロードして検索インデックスを作成できます。
ビッグデータのストアが必要な場合は、HBaseを調べることもできます。HBase に加えて、大規模なデータに適したキー値ストアまたは非リレーショナル (NoSQL) ストアが多数あります。
適切な答えは、実行しているクエリの種類によって異なります。常に特定のクエリを実行していますか? その場合、キー値ストアはうまく機能します。適切なキーを選択するだけです。あなたが言うようにクエリがデータベース全体を検索する必要があり、1 時間または 2 時間ごとに 1 つのクエリしか作成しない場合は、原則として、HDFS ストアから読み取る単純な "クエリ" を Hive で作成できます。
Hive でクエリを実行しても、RDBMS や単純なクエリに比べて時間を節約できるだけであることに注意してくださいgrep
。大量のデータがあり、適切なサイズのクラスターにアクセスできる場合です。マシンが 1 台しかない場合、それは解決策ではありません。