More Related Content
Similar to Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Similar to Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan (20)
More from Koichi Fujikawa
More from Koichi Fujikawa (8)
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
- 4. 1. Redshift (Data Warehouse) は通常の
RDB (MySQL, Oracleなど)と違う!
»データの持ち方がカラム毎に独立
»1行取ってくるのも数秒かかる
»その代わり大規模データの join / group
by / sort が異常に早い
• Hadoop/Hiveはこの辺りがかなり苦手(つ
まり遅い・難しい)
- 7. 4. データロードとクエリ実行はどうする
の?
» データロード
• insert文はとても遅い
• copyコマンドによるバルクロード
• S3かdynamodbにデータをアップロードしてcopyコ
マンドで投入
» クエリ実行は PostgreSQL と同等!
• psqlやpg gemなど既存ツールがそのまま使える
• JDBC/ODBCアクセスも可能
» unloadというコマンドでデータをS3にexport
できる
- 12. 7. リサイズあれこれ
» 操作はAWS consoleから数クリック
• XLの数を増やすことも、8XLクラスタにすること
も可能
» 最初にread onlyになり、数時間後、数分read
も不可になって利用可能に
» 内部的には別クラスタを立ち上げてデータを
マイグレート、DNSを切り替えている
» データ量が多い、複雑なテーブル構造等があ
るとリサイズは時間がかかる事が多い
• snapshotからの復元のほうが早いこともある
- 13. 8. Redshiftの主要な制限
» PostgreSQLベースだが関数は半分くらいしか使えな
い
• 主にパフォーマンスに影響する関数がNG
» データタイプもプリミティブなもののみ
• INT系、FLOAT系、Boolean、Char、Varchar、Date、Timestamp
» 1テーブルにつきバルクロード系操作は同時に1つ
しかできない
• copyやselect insertクエリはテーブルごとに2個め以降キュー
イングされる
» 最大コネクション数は95 = 複数サーバからのcopy
コマンドがキューイングされるとすぐいっぱいに
なる
» TimestampはTimezoneをサポートしていない。UTC
で格納し、アプリ側でハンドルした方が良い
» 8XLインスタンスは最低2インスタンスから