RedshiftとPostgresSQLの機能差分をまとめる
RedshiftはRDBMSではありません
RedshiftはPostgresSQLをベースとしたMPP型データベースです。DWH特化型DBといってよいサービスですが、普通のRDBMSと同じように設計するとうまく特性を生かせない事が多々あります。
そこで、初めてRedshiftを使う人や、RDBMSは知っているけどRedshiftをよく知らない人向けに、RDBMSであるPostgresSQLとの差分をまとめてみました。
RedshiftとPostgreSQLの機能比較
代表的な機能を軸に比較してみました。運用面の差が大きいです。
※これは2018年4月時点の情報です。今後のアップデートで変更になる可能性はあります。
差を踏まえたうえでのRedshiftにおけるSQL設計
これらをふまえ、実際のSQL設計をどのようにすべきかまとめました。最も注意すべきはINSERT, UPDATEです。RDBMSだとテーブルトランケートはほとんどしないと思いますが、Redshiftではテーブルを再作成する事が実はベストプラクティスだったりします。
超簡単な具体的な使い分け基準
では、RDBMSとRedshiftをどのように使い分けるべきか?様々な観点がありますがすごく簡単な基準としては、
OLTP(普通の業務システムやWEBシステム)=RDBMS
OLAP(BI、DWH等分析系のシステム)=Redshift
と思っていただいて、OKです。