RedShifts経由でSPICEにデータを入れようとしているのですが
明細データ1年分5億件をSPICEに入れようとすると300G必要となります。
RedShifts側のデータタイプ、QuickSight側のデータセットのデータタイプなど何等か見直したら容量削減に繋がりますでしょうか?項目数は最低限にしております。
RedShifts上は数字のコードはINT4,8などを使用し数量、金額の項目はnumericを使用
データセットは各々INTGER、DECIMALです。
RedShifts経由でSPICEにデータを入れようとしているのですが
明細データ1年分5億件をSPICEに入れようとすると300G必要となります。
RedShifts側のデータタイプ、QuickSight側のデータセットのデータタイプなど何等か見直したら容量削減に繋がりますでしょうか?項目数は最低限にしております。
RedShifts上は数字のコードはINT4,8などを使用し数量、金額の項目はnumericを使用
データセットは各々INTGER、DECIMALです。
ご質問ありがとうございます。
項目数および Redshift 側の INT4/INT8 使い分けについて承知いたしました。そこからさらに容量を抑制可能な点があるとすれば、データ型の「QuickSight 側での認識」と「行数そのもの」の 2 軸になるかと思います。
■ データ型の認識確認
SPICE のデータ型別容量は以下の通りです。
Redshift 側で INT を使われていても、QuickSight のデータセット定義上で String として認識されているケースがまれにあります。もしまだご確認されていなければ、データセットの列一覧で型が意図通りか一度ご確認いただくとよいかもしれません。String として取り込まれると、固定 24 bytes + 桁数分のオーバーヘッドが発生し、Numeric の 12 bytes に対して倍
以上の容量になります。
同様に、日付を文字列(“2024-01-01” 等の 10 文字)で保持されている列があれば、24 + 10 = 34 bytes を消費しています。Date 型への変換で 12 bytes に抑えられます。
■ SPICE に入れる行数を絞る構成
こちらは既にご検討を頂いているかと思いますが、明細 5 億件をすべて SPICE に載せる以外の選択肢として、以下のような構成も考えられます。
1 つの分析内で SPICE データセットとダイレクトクエリデータセットを併用できますので、「速度が必要な集計は SPICE、明細参照は直接クエリ」という使い分けも可能です。
■ その他の観点
■ 事前見積の方法
公式の容量計算式で事前見積が可能です。小規模サンプル(1 万行程度)で実測し、全体を比例計算するなどご活用いただけますと幸いです。
参照: Importing data into SPICE - Amazon Quick
上記、ご確認のほどよろしくお願いいたします。
ご回答ありがとうございます。承知しました。見直し検討いたします。