4

Webベースのアプリケーション用に非常に大量のデータを保存するための最良の方法は何でしょうか?

各レコードには3つのフィールドしかありませんが、1日あたり約1億4400万レコード(1か月間保存)、合計4,464,000,000レコードになります。50億に切り上げましょう。

データはキーワードで検索可能であり、エンドユーザーにできるだけ早く結果を返す必要があります。

  • どのプログラミング言語?
  • JSON / XML /聞いたことのないデータベースシステム?
  • どんなインフラ?このシステムが同時に最大1,000人のユーザーのニーズにしか対応していないと想像してみてください。

10レコードを検索する場合でも、100億レコードを検索する場合でも、コードは同じだと思います。もっと効率的にする必要があります。また、mySQL / PHPにはチャンスがないと思います。そして、ホスティングソリューションに非常に多額の金額を支払うことになります。

本当に、どこから始めればよいかについてのガイダンスが必要です。ありがとうございました!

4

1 に答える 1

4

ビッグ データ エコシステム (NoSQL データベース、分散コンピューティング、機械学習、検索など) には、質問に対する答えを形成できる多くのツールがあります。あなたのアプリケーションは書き込み負荷が高いので、Apache Cassandra の優れた書き込みパフォーマンスをお勧めします (ただし、MongoDB などの NoSQL/ドキュメント データベースよりも多くのデータ モデリングが必要です)。また、Solr または ElasticSearch ベースの検索ソリューションと、インデックスとクエリ用の Map/Reduce も必要です。

ビジネス エンド ユーザーがビッグ データに対してクエリを作成する場合を除き、プログラミング言語は問題ではありません。その場合、Hive や Pig などの非常に SQL に似たものを使用できます。開始するには、次の (最近の) リンクから、ニーズに基づいて分析スタックを選択する方法についてのアイデアが得られる場合があります。すべてのデータベースまたは分散コンピューティング パラダイムは、特定のユース ケースに特化していることに注意してください。

分析スタックの選択方法

また、企業がスケーラビリティの問題にどのように取り組んでいるかについては、さまざまなユース ケースの高スケーラビリティも参照してください。

于 2013-03-01T16:52:00.337 に答える