東京の西側でロハスに暮らす

雑食系ブログです

RedshiftとPostgresSQLの機能差分をまとめる

RedshiftはRDBMSではありません

RedshiftはPostgresSQLをベースとしたMPP型データベースです。DWH特化型DBといってよいサービスですが、普通のRDBMSと同じように設計するとうまく特性を生かせない事が多々あります。

 

そこで、初めてRedshiftを使う人や、RDBMSは知っているけどRedshiftをよく知らない人向けに、RDBMSであるPostgresSQLとの差分をまとめてみました。

 

RedshiftとPostgreSQLの機能比較

代表的な機能を軸に比較してみました。運用面の差が大きいです。

※これは2018年4月時点の情報です。今後のアップデートで変更になる可能性はあります。

f:id:t264d:20190510213545j:plain

差を踏まえたうえでのRedshiftにおけるSQL設計


これらをふまえ、実際のSQL設計をどのようにすべきかまとめました。最も注意すべきはINSERT, UPDATEです。RDBMSだとテーブルトランケートはほとんどしないと思いますが、Redshiftではテーブルを再作成する事が実はベストプラクティスだったりします。

 

f:id:t264d:20190510214018j:plain

超簡単な具体的な使い分け基準

では、RDBMSとRedshiftをどのように使い分けるべきか?様々な観点がありますがすごく簡単な基準としては、

OLTP(普通の業務システムやWEBシステム)=RDBMS

OLAP(BI、DWH等分析系のシステム)=Redshift

と思っていただいて、OKです。