HBaseの使い方を学ぶためのアプリケーションを開発したいと考えています。 HBaseを使った良い学習プロジェクトを開発するために、どのような技術を使用できますか?私はRuby on RailsやJava EEやSpringのようなものを使いたいと思っています。どのようなアーキテクチャができますか?HBaseプロジェクト - 技術とアーキテクチャ
答えて
HBaseはHDFS(Hadoop Distributed File System)の上に構築されているので、非常に大きな(TBまたはPB)データセットを格納するために使用されることが期待されます。したがって、通常のアプリケーション(コンソールまたはデスクトップまたはWebアプリケーション)からHBaseを使用することは良い考えではありません。なぜなら、データセットに対して並列処理を行うことができるからです。これは、パフォーマンスとスケーラビリティが優れている場合に必要ですそのような大きなデータセット。並列処理を行わないと、そのような大量のデータに対して1つのジョブを完了するまでに数日かかることがあります。 HadoopのMapReduceフレームワークは、この問題を正確に解決します。 MapReduceを使用してHBaseを読み書きすることができます。これにより、アプリケーションのパフォーマンスが向上します(ジョブは数日から数時間に減少します)。
したがって、IMO、MapReduceフレームワークとHBaseを併用することをお勧めします。これにはJavaまたはRoRを使用できます。 MapReduceフレームワークはJavaで開発されていますが、他の言語からもStreaming API経由で使用できます。 RoRはHadoopとの統合も強化しています。
HBaseで動作するアプリケーションの技術問題ではないと思います。主な学習曲線(HadoopとHBaseの管理以外)は、RDBMSとHBaseの間のパラダイムシフトを理解することです。
私はあなたが持っている(または想像することができる)既存のRDBMSデザインを取ってHBASEにマップすることを提案します。あなたが渡さなければならない主要なテスト - あなたがRDMSで実行するために使用したすべてのクエリが、効率的な効率で可能であることを確認する。これを行うことで、HBaseとリレーショナルデータベースの概念の違いを理解できます。
- 1. LAMPアーキテクチャとプッシュ技術
- 2. アーキテクチャ:技術質問
- 3. ビデオストリーミング技術の技術
- 4. moodleの "技術プロジェクト"の仕組みは?
- 5. 技術一覧
- 6. mint.comプログラミング技術
- 7. シングルワードインデックス技術
- 8. ダミープッシュ技術?
- 9. スキャンJSON技術
- 10. Web技術
- 11. サーブレットのフィルタとキャッシング技術
- 12. 画像検索におけるスライディングウインドウ技術とスキャンウインドウ技術との違い
- 13. プロビジョニングスクリプト - 技術情報
- 14. PDF圧縮技術
- 15. アプリケーションレベルのロードバランシング技術
- 16. サーバーのJavaEE技術
- 17. プッシュサーバー実装技術?
- 18. Nativescript PUSHの技術
- 19. Houseparty Appストリーミング技術
- 20. エアプレイの技術ライセンス
- 21. PHPの最新技術
- 22. 大きなプロジェクトの解析技術を選択する
- 23. NLP:言語解析技術とアルゴリズム
- 24. httpとhttpsの技術の違い
- 25. MongoDBと類似のデータベース技術
- 26. Mod_rewriteと複合リダイレクション技術の推奨
- 27. 最高のウェブサイトマップの技術とベストプラクティス
- 28. Javaミドルウェア技術とは何ですか?
- 29. ステガノグラフィ技術としてのデータ連結
- 30. PHP SQLインジェクション防止技術