AWSは列指向アーキテクチャのDWHとしてAmazon Redshiftを提供する。大量データの集計や分析に向いている。列単位でデータを扱うため、ある列に格納された値の集計が速い。
Redshiftのクラスターの冗長性を高めるためにはノード数を増やす。ノード数を増やすと複数のDBがクラスター化され、耐障害性が高まる。RedshiftではマルチAZは設定できない。
カラム毎に圧縮のエンコーディングタイプを設定できる。
ZSTDは圧縮率が高く、容量及びIO削減に有効であるケースが多い。その反面、クエリ実行時の圧縮展開のオーバーヘッド(CPU負荷)が高くなる。
LZO は逆に圧縮率はZSTDに劣るが、性能面では優れているケースもある。
Amazon RedshiftはAmazon S3上のAVRO, CSV, JSON, Parquet, ORC, TXT形式のファイルのCOPYをサポートする。JSON (Java Script Object Notation)は半構造化データを定義するフォーマットである。REST APIでよく利用される。
セクション:中括弧で囲んだ範囲
キーとバリュー:セクションの中で、コロンでつなぐ。
配列:角括弧で囲む
AVROは行指向フォーマット、ParquetとORCは列指向(カラムナ)フォーマットである。AVRO, Parquet, ORCは人間が見る上では向いていないが、保存時の圧縮効率や機械による処理のしやすさを追求したフォーマットである。
列指向フォーマットではデータは列方向に沿って格納される。データ分析では特定の列の値の集計や、特定の列の条件を元にしたフィルタリングやジョインが行われることが多い。この場合、列方向にデータが連続して格納されていると必要なデータのみを効率的に読み込むことができる。
Redshiftのクラスターの冗長性を高めるためにはノード数を増やす。ノード数を増やすと複数のDBがクラスター化され、耐障害性が高まる。RedshiftではマルチAZは設定できない。
カラム毎に圧縮のエンコーディングタイプを設定できる。
ZSTDは圧縮率が高く、容量及びIO削減に有効であるケースが多い。その反面、クエリ実行時の圧縮展開のオーバーヘッド(CPU負荷)が高くなる。
LZO は逆に圧縮率はZSTDに劣るが、性能面では優れているケースもある。
Amazon RedshiftはAmazon S3上のAVRO, CSV, JSON, Parquet, ORC, TXT形式のファイルのCOPYをサポートする。JSON (Java Script Object Notation)は半構造化データを定義するフォーマットである。REST APIでよく利用される。
セクション:中括弧で囲んだ範囲
キーとバリュー:セクションの中で、コロンでつなぐ。
配列:角括弧で囲む
AVROは行指向フォーマット、ParquetとORCは列指向(カラムナ)フォーマットである。AVRO, Parquet, ORCは人間が見る上では向いていないが、保存時の圧縮効率や機械による処理のしやすさを追求したフォーマットである。
列指向フォーマットではデータは列方向に沿って格納される。データ分析では特定の列の値の集計や、特定の列の条件を元にしたフィルタリングやジョインが行われることが多い。この場合、列方向にデータが連続して格納されていると必要なデータのみを効率的に読み込むことができる。