MySQLデータベースがあり、次のBLOB(JSONオブジェクトを含む)とID(このJSONオブジェクト用)を格納しています。JSONオブジェクトには、さまざまな情報が含まれています。「city:LosAngeles」と「state:California」と言います。
現在、そのようなレコードは約50万件ありますが、増え続けています。そして、各JSONオブジェクトは非常に大きいです。
私の目標は、MySQLデータベースで(リアルタイムで)検索を行うことです。たとえば、「state」から「California」、「city」から「SanFrancisco」のすべてのJSONオブジェクトを検索したいとします。
このタスクにHadoopを利用したいと思います。私の考えは、MySQLからたとえば100レコード(行)のチャンクを取得し、指定された検索条件に従ってそれらを検証し、適格なもの(ID)を返す「ジョブ」があるということです。
長所短所?そのために単純なSQLパワーを利用する必要があると思うかもしれませんが、JSONオブジェクトの構造はかなり「重い」ので、SQLスキーマとして配置すると、少なくとも3〜5個のテーブル結合があります。 (私は実際に試しました)かなりの頭痛の種を生み出し、すべての適切なインデックスを構築すると、私が考えるよりも速くRAMを消費します。;-)それでも、インデックスを利用するには、すべてのSQLクエリを分析する必要があります。そうしないと、全表スキャンでは文字通り面倒です。そして、そのような構造では、「アップ」する唯一の方法は、垂直方向のスケーリングだけです。しかし、JSONオブジェクト(データ構造)がどのように成長するか(データ構造)がわかり、オブジェクトの数も増えるので、それが私にとって最良のオプションかどうかはわかりません。:-)
ヘルプ?誰かがこれを行う方法の簡単な例を教えてもらえますか?それはまったく意味がありますか?重要なものが欠けていますか?
ありがとうございました。