AWSのRedshiftで1億レコード
2020.03.05
AWSのRedhshiftを使って大量レコードで遊んでみる。
■目的
大量データでの検索パフォーマンス、環境の作りやすさの調査。
ローカル環境にてCassandraで1億レコード環境を作ってみたが、色々問題点が目に付いたので、結局Redshiftに戻ってくる。
1億超のレコードは扱ったことがなかったので試す。
■準備
・テストテーブルの作成、テストデータの作成(100万件、1000万件、1億件のCSVファイル)
・CSVファイルをS3にアップロード
・IAMにて、Redshift用のロールを作成しておく
・Redshiftにてクラスタを作成。最小構成($0.314/h)で、1ノードで試す。
・テスト用のEC2にpostgresql92をインストールし、RedshiftのDBに接続する。
■結果
・COPYコマンドにて、S3からデータのロード。
100万件・・3秒程度でロード完了
1000万件・・25秒程度でロード完了
1億件・・5分程度でロード完了
・各種検索
avg、sum、group by などを使った集計用の検索処理をいくつか実行。
どれも数秒で結果が返ってくる。
■感想
・Redshift環境は簡単に作成できる。
・データのインポートが想像よりはるかに早い。1億レコード5分は驚異的。
・最小構成でも集計用SQLは数秒で返ってくる。
より上位の構成にしたり、ノード数を増やせばさらにパフォーマンス向上が見込まれるが、これは予算との兼ね合いで。
最小構成であれば、月額3万円以内で収まる。
・オンプレで頑張って分散環境作るより、Redshiftがお薦め。
最新記事
- OpenAI(InstructGPT)でチャットボット
- ChatGPTで遊びたいが、GPT-2でカスタムモデルを生成
- 画像生成AI「Stable Diffusion」で遊ぶ
- LightGBMのチューニングの話(1)
- 顔で個人を判定(簡易版)
- 機械学習を使って競馬AIを作ってみた
- 印鑑画像を生成
- Flutterで簡単なデモアプリ
- 電子カルテシステム「OpenDolphin」を使ってみる
- Zoomで講師
- AWSのRedshiftで1億レコード
- RaspberryPi + Node-RED
- Mac Catalina(10.15)へのアップグレードは慎・・・
- 全文検索のデモ
- ruby関連の知識のアップデート
- SRGANで超解像
- オニヒトデをロボで駆除できるか
- 7pay(セブンペイ)のサービス終了に思う
- DQN(Deep Q-Network)を復習する
- AI創薬 5時限目