トップサービス導入事例強み開発ブログよくある質問会社案内 お問い合わせ
Dev Blog

AWSのRedshiftで1億レコード

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がお薦め。