0

毎日約 50,000 のユニークな訪問者を獲得している Web サイトを考えてみましょう。ここで、ピクセル トラッキングを使用して Web サイトにアクセスしたユーザーを追跡したいと考えています。開発を開始する前に、プロジェクトで使用するストレージ データベースについて決定したいと思います。

明らかに、これは、誰か (管理者) が分析データを見ようとしている間、書き込みが多すぎて検索がほとんどない、書き込み集約型のデータベースになります。

では、このプロジェクトにはどのタイプのデータベースを使用する必要がありますか?

疑問を質問する際に不明な点がある場合はコメントしてください。

ありがとう !

4

2 に答える 2

0

提供された負荷の見積もりと合理的な保持ポリシー (たとえば 2 年間のデータ) を考えると、通常のリレーショナル データベースで十分だと思います。MySQL は、テーブルのパーティショニングとパーティションのアーカイブをサポートしています。

ユーザーの訪問データは、日付ごとに自然に分割できます。そのようなデータの分析クエリには、通常、日付または日付範囲も含まれます。あまりにも多くの小さすぎるパーティションを管理することによるパフォーマンスの問題を回避するために、週単位で範囲をパーティション化することをお勧めします。

たとえば、データが 2 桁 (1 日あたり 100K ではなく 10M レコード) 増加する場合は、ビッグデータ ソリューションを真剣に検討する必要があります。Flume/Hadoop/Hive を組み合わせることで、最小限の変更で分析クエリを再利用できます。

于 2013-08-09T11:39:02.470 に答える
0

スケーリングの観点から最も簡単なのは、情報をファイル (単純なログ ファイル) に書き込むことです。その後、Hadoopを使用してデータを処理できます。最初はクラスターなし (組み込みモードの Hadoop)。その後、好きなだけノードを追加できます。

しかし重要な問題は、データをどのように処理したいかということでもあります。それで、あなたの分析的な期待は何ですか。データを視覚化したいですか? どのくらいの速さで答えを得たいですか? 新しいデータを統合する速度。いつも同じ質問をしたり、データをいじりたいですか? 他のデータと混ぜたい...

Mysql はおそらく、その上にある分析ツールの点でより成熟しています。また、データサイズが大きすぎない限り、より高速になる可能性があります。Hadoop では、Hiveとコンソートを使用してデータの処理を支援できますが、視覚化は簡単ではない場合があります。

于 2013-08-09T15:05:53.627 に答える