InfiniDBのデータ格納形式
InfiniDBは列指向型アーキテクチャを採用しているため、データは列単位で格納されます。列単位でデータを格納する場合、行単位でデータを格納する汎用データベースと比べて圧縮効果が高くなります。
例えば、図1のようなデータが格納されている場合、汎用データベースは行ごとにデータが格納されているため、重複データの割合は低くなります。全く同じデータが存在することは少ないです。
それに対して、InfiniDBのような列指向型データベースでは、列ごとにデータが格納されているため、列によっては非常に高いデータ重複率となります(例:性別、年齢など)。
このように重複率が高いデータが多く存在する場合は、効率良く圧縮することができます。
データ圧縮率が高いと、ストレージ容量の削減につながることはもちろん、検索時にディスクから読み込むデータ量を削減できるため、検索パフォーマンスの向上に大きく寄与します。