0

強力な RDBMS に保持されている 2 つのソース テーブルからデータを読み取る、1 日 1 回実行されるバッチ分析 SQL ジョブがあります。ソース テーブルは巨大 (>100 TB) ですが、結合されたフィールドは 10 未満です。

私が持っている質問は、2 つのソース テーブルを圧縮されインデックス化されたフラット ファイルに保持できるので、操作全体がはるかに高速になり、ストレージを節約でき、低スペックのサーバーで実行できるかということです。また、これらの圧縮されインデックス化されたフラット ファイルに対して SQL のようなクエリを実行できますか? これを行う方法についての指針は非常に役立ちます。

4

1 に答える 1

1

ほとんどの最適化戦略は、速度またはサイズのいずれかを最適化し、一方を他方とトレードオフします。一般に、RDBMS ソリューションはサイズを犠牲にして速度を最適化します。たとえば、インデックスを作成すると、より多くのスペースが必要になりますが、代わりにデータ アクセスが高速になります。

そのため、速度とサイズの両方を最適化したいというあなたの願いが叶う可能性はほとんどありません。

次に、「SQL に似た」クエリを実行したい場合は、RDBMS が最適なソリューションであると確信しています。特に、巨大なデータ セットの場合はそうです。

基になるデータが特定の最適化に役立つ場合があります。たとえば、ビットマスクに基づいてカスタム インデックス スキームを作成して整数を作成し、それらの整数を使用してブール演算子を使用してデータにアクセスできる場合、次のことができる場合があります。 RDBMS インデックスのパフォーマンスを凌駕します。

于 2011-11-25T10:16:59.833 に答える