MongoDB または HBase を使用して内部のリアルタイム分析システムを構築しようとしています (他のオプションも可能ですが、現在検討しているのはこれら 2 つです)。これら 2 つを選択した理由は次のとおりです。
- 膨大な数のイベントを記録する予定であり、水平方向および垂直方向にスケーリングできるようにしたいと考えています。
- 「ロングテール」のリクエスト (たとえば、「3 年前のこのアイテムの指標を教えてください」) を受け取るため、時間またはその他の値に関係なく、広い範囲でリアルタイムのクエリを実行する必要があります。
分析テーブルに MySQL を使用しようとしましたが、テーブルが非常に速く大きくなり、分析テーブルが MySQL システムの残りの部分の「自重」になることは望ましくありません。(誰かが洞察を持っている場合は、分析テーブルに MySQL やその他のソリューションを使用することについてアドバイスをお待ちしています。)
問題は、多くの場合、分析データ ストアと MongoDB/Hbase の両方でリアルタイムのルックアップと JOIN を実行する必要があるということです。たとえば、テーブルの「id」を分析に保存しますが、どのリクエストでも、「コンテンツ」テーブルの「タイトル」フィールドと「コンテンツ」フィールドに対して「結合」する必要があります。 MySQL。
MongoDB/HBase と MySQL の間で JOIN を行う方法はありますか、それともアプリケーションにカスタムビルドする必要があるのでしょうか? また、それをアプリケーションに組み込む場合、MySQL と MongoDB/HBase にまたがる大規模なデータ セットでカスタム JOIN をどのように処理するのでしょうか?