CQLとメモリ内クエリエンジンSpark/Sharkの使用に関するあなたの考えと経験を聞きたいと思います。私が知っているところから、CQLプロセッサは各ノードのCassandra JVMの中で動作しています。 Cassandraクラスタに添付されたShark/Sparkクエリプロセッサが、分離したクラスタ内で外部で実行されています。また、Datastaxには、Hadoop/Hiveのデプロイを可能にするCassandraのDSEバージョンがあります。問題は、どちらのユースケースでは、他のソリューションではなく特定のソリューションを選択することです。CassとSpark/Sharkのクエリ対Hive/Hadoop(DSEバージョン)の比較
答えて
私は私の経験に基づいていくつかの考えを共有します。しかし、可能であれば、あなたのユースケースについてお知らせください。より良い方法でクエリに答えるのに役立ちます。
1-読み込みよりも書き込みが多い場合は、明らかにCassandraが良い選択です。あなたがSQLのバックグラウンドから来て、Cassandraを使用する予定があるなら、CQLが非常に役立つことは間違いありません。しかし、JOINやGROUP BYのような操作を実行する必要がある場合、CQLは書き込み時間とコンパクト時間ソートを使用してプリミティブなGROUP BYユースケースを解決し、1対多の関係を実装しますが、CQLは答えではありません。
2 Spark SQL(以前のShark)は、メモリ内の処理と計画のデータパイプラインの2つの理由から非常に高速です。メモリ内処理により、Hiveより100倍高速です。 Hiveと同様に、Spark SQLはメモリデータ型よりも大規模で、計画パイプラインのおかげで最大10倍高速に処理します。 Spark SQLには、filterやgroupByのような複数のデータパイプラインが存在する場合の利点があります。アドホックなリアルタイムクエリーが必要なときは、それを実行してください。膨大な量のデータに対して長時間実行されるジョブが必要な場合には適していません。
3-ハイブは、基本的に、既存のHadoopクラスタの上で実行され、データを処理するSQLのようなインターフェイスを提供するウェアハウスです。しかし、Hiveはリアルタイムのニーズには適していません。オフラインバッチ処理に最適です。基礎となるHDFSをデータストレージとして使用するため、追加のインフラは必要ありません。大規模なデータセットやOLAPのJOIN、GROUP BYなどの操作を実行する必要があるときには、それを行ってください。
Note :
Spark SQLはSpark上でApache Hiveの動作をエミュレートするため、ほぼすべてのHive機能をサポートしますが、潜在的に高速です。既存のハイブクエリ言語、ハイブデータ形式(SerDes)、ユーザー定義関数(UDF)、および外部スクリプトを呼び出すクエリをサポートしています。
しかし、あなたは手を汚した後にのみ、これらのツールの長所と短所を適切に評価できると思います。私はちょうどあなたの質問に基づいて提案することができます。
これは、あなたの質問のいくつかにお答えしたいと考えています。
P.S. :上記の答えは、私の経験だけに基づいています。コメント/修正は大歓迎です。ここに文書化されたベンチマークのための非常に良い努力がある
- 1. LINQ to SQL多対多の比較クエリ
- 2. ViewStateとクッキーとの比較対キャッシュの比較
- 3. 絶対パスと絶対パスの比較
- 4. JOINクエリと複数のクエリの比較
- 5. SQLデータベースのインデックス付きテーブルとクエリの比較対HashMap
- 6. Qt:C++のUIとXMLの比較対qml
- 7. MySQLの対戦相手との比較
- 8. mysqlクエリとmysqlインデックスとの比較
- 9. 日付句との比較のSQLクエリ
- 10. Processing対JavaFxとGriffonの比較
- 11. grok対djangoの比較
- 12. 単純なMySQLのクエリと比較
- 13. MySQLと比較項目のクエリ?
- 14. MYSQLの日付比較クエリ
- 15. ソースセーフ古いバージョンと現在のバージョンを比較する
- 16. クエリ日付比較のColdFusionクエリ
- 17. JavaScriptのWebページのバージョン比較
- 18. Entity Framework - ObjectContextからのクエリとナビゲーションプロパティからのクエリの比較
- 19. Doctrineエンティティ削除対削除クエリ、パフォーマンス比較
- 20. Androidのバージョンと開発者の視点の比較
- 21. 価格比較のためのMysqlクエリ
- 22. SharepointのCAMLクエリの日時比較
- 23. xpathクエリ値の比較の問題
- 24. RPC対GWTアプリケーションのJSON比較
- 25. Pythonの動的な比較指定子でバージョン番号を比較
- 26. TFS:ワークスペースとの比較バージョンが空白の場合
- 27. Mavenの依存関係 - バージョンとアップデートの比較
- 28. 行数を比較し、行を比較します。クエリMysql PHP
- 29. 角度とMySQL - フロントエンドのフィルタリングと複数のクエリの比較
- 30. Googleアナリティクスとリアルタイムアナリティクスの比較:ChartbeatとClickyとMixpanelの比較
がdownvoteの理由を与える、私は5歳のようにこれを行わないspirit..Justでそれを受け入れるだろう。 – Tariq
謝罪、それは意図的ではありませんでした。私は今日もまたチェックインするまで私がそれをしたことに気付かなかった。 – Gavin
-1 Spark SQL(旧Shark)は、Sparkの上でSQLからRDDへの操作をコンパイルし、HadoQLの上で操作をマップして減らすのではなく、HiveQLからSparkのRDD操作をコンパイルする機能を提供します。また、Sparkはメモリ内だけでなく、ディスクに10倍高速にページングされたデータセットを処理します。 –