はじめに

Verticaのデータサイズの確認方法について紹介します。
Verticaはデータをロードすると、圧縮された形でデータを格納しますが、
圧縮されたサイズだけでなく、非圧縮状態のサイズを確認したいケースもあると思います。
そのような場合に、システムテーブルのprojection_storageやdisk_storage、AUDIT関数を使った確認方法を以下に記載します。

データベース全体のサイズ(圧縮済み)

データベース全体のサイズを確認するために、以下のクエリを使います。
この結果では、各ノードのデータ領域とカタログ領域のサイズが確認できます。
ファイルシステム上のサイズを返しますので、カタログ領域やデータ領域にデータベース以外のファイルを保存している場合は、それらのサイズも含まれる点に注意が必要です。


データベース全体のサイズ(非圧縮)

実際に格納されたデータサイズ(非圧縮)については、実測値ではなくサンプルデータから算出した近似値を確認することができます。
AUDIT関数の第一引数を”(空白)にすることで、データベース全体の非圧縮サイズを確認することができます。


AUDIT関数の補足

AUDIT関数の引数に、以下のように許容誤差率を0%、信頼値を100%とすると、
精度の高いサイズを確認することができます。
しかし、マシンリソースを消費するため、業務時間外に実施されることをお奨めいたします。


関連情報
ライセンスで許容されているデータ量と現在のデータ量の確認


テーブルのサイズ(圧縮済み)

実際に格納されたデータサイズ(圧縮済み)のテーブルサイズを確認する方法。
このクエリでは、各テーブルデータの圧縮されたサイズを確認することができます。
また、1つのテーブルに複数のプロジェクションが存在する場合、複数のプロジェクションの合計サイズが含まれます。
例えば、クエリスペシフィックプロジェクションを追加すると、スーパープロジェクションとクエリスペシフィックプロジェクションの両方のサイズの合計値が算出されます。



関連情報
各テーブルごとのサイズを確認する方法

テーブルのサイズ(非圧縮)

実際に格納されたデータサイズ(非圧縮)については、実測値ではなくサンプルデータから算出した近似値を確認することができます。
AUDIT関数の第一引数をに「スキーマ名.テーブル名」を指定することで、指定したテーブルの非圧縮サイズを確認することができます。


AUDIT関数の補足

AUDIT関数の引数に、以下のように許容誤差率を0%、信頼値を100%とすると、
精度の高いサイズを確認することができます。
しかし、マシンリソースを消費するため、業務時間外に実施されることをお奨めいたします。


プロジェクションのサイズ(圧縮済み)

各プロジェクションのサイズを確認するには、以下のクエリを使います。


ノード別のサイズ(圧縮済み)

各ノードのデータサイズを確認するには、以下のクエリを使います。




検証バージョンについて

この記事の内容はVertica 9.1で確認しています。

更新履歴

2019/03/08 本記事を公開