0

みなさん、こんにちは: 「技術」、「金融」、「健康」などのさまざまなカテゴリのデータベースにニュース記事を保存している場合、分散データベースはこのシステムと RDBMS でうまく機能しますか? 各ニュース項目には、ニュース記事と他のいくつかの項目が添付されます。ただし、クエリが高速になるかどうかは疑問です。

100 万行を超えることはなく、最新 (5 時間以内) の技術記事を入手したいとします。それは「Give me all tech article」(おそらく 10000) のマップ削減になると思います。次に、最新のタイムスタンプを持つものだけを除外します。

私は正しい方法で問題に取り組むことを考えていますか? DDB が最善の解決策でさえありますか? 数年後には500万個になるかもしれませんが、それでも……。

4

1 に答える 1

3

分散データベースまたはキー値ストアのどちらを使用するかは、ドメインの問題よりも運用上の要件に依存します。

Riak で時間順クエリを実行する方法を尋ねられると、通常、いくつかの戦略を提案します (ただし、Riak には順序付き範囲クエリがないため、どれも特効薬ではありません)。

1) 特定の時間帯に頻繁にアクセスしている場合は、データをその期間を反映するバケットに分割します。たとえば、指定された日、時間、または分のすべてのデータは、適切なタイムスタンプを含むバケットに保存またはリンクされます。今日のすべての技術ニュースが必要な場合、バケット名は「tech-20100616」になります。データが入ってきたら、タイムボックス化されたバケットから実際のアイテムへの適切なリンクを追加します。

2) データがよりシーケンス指向で、特定の時点に関連していない場合は、リンクを使用してデータのチェーンを作成し、時間の後方、前方、またはその両方にリンクします。(これは、Wiki ページなどのバージョン管理されたデータにも適しています。) また、リストの先頭だけを指すオブジェクトを保持する必要がある場合もあります。

これらの戦略は別として、Riak はおそらく最新の情報に対する 100% のソリューションではありませんが、長期保存には優れているかもしれません。これを Redis、memcached、または MongoDB (データがわずかに一時的でメモリに収まる場合に優れたパフォーマンスを発揮する) などと組み合わせて、最新のもののローリング インデックスを保持することができます。

于 2010-06-16T13:15:52.240 に答える