Cassandra と Presto | Advent Calendar 2015
IT系の勉強会行ってきた Advent Calendar 2015 - Adventarの14日目!
Cassandra Summit Tokyo 2015
基調講演
- 1.X系と2.X系で大きく機能等が異なるので新しいバージョンを使うことを推奨
3.X以降も新しい機能が追加予定 - DataStaxのCTO登場
サポート会社を作る事で企業も導入しやすくしてる
EUやUSAでも盛り上がってる。去年の参加者は2000人で今年は3500人くらい - NETFLIX、eBay 等いろんな会社が使ってる
今、何故RDBではなくNoSQL? 多くの企業がすでに利用しているApache Cassandra
- PS4で使用されているSEN(旧PSN)やAppleも使用
- DataStax Enterpriseの紹介、色んな機能がセットである。900社以上と契約
- IoTのように数が莫大になるとRDBでは限界がある
センサーや新しいデバイス情報が増える場合にスケール等が難しい - 日本だとデータベース=RDBMSみたいな風潮
- コンテンツ中心のデータにはそれに対応した形で設計を行う必要がある
RDBからの脱却:新ERP"HUE"におけるCassandra
- 毎分2000通処理するメーラー
- 100msの応答を売りに、操作の際にtry and errorを繰り返したい
- バッチに8時間かかっていたものが20分で完了するならワークフロー変わる
- Elasticsearch や Zookeeper だと10台を超えるスケールが若干面倒だったのでCassandra採用
- トランザクション管理やN+1問題など設計を今までとは異なる形でやる必要はある
自動車IoTを支えるCassandraソリューション
- 走行情報を常に記録、事故直前のデータを照合等可能
- Cassandraの基本的な考えとしてサーバは止まるものとして考えてる
- 障害起きた際の色んなコストはバカにならない
- RDBMSの一極集中が限界にきつつある
- RDBMS使えるならNoSQLも使えると思う
Apache Cassandraと Apache Sparkで作るデータ解析プラットフォーム
- IoTデータ、M2M:人が介在しないのでデータ大量になりがーち
- 最近はデータ全部取りましょう→ツール使って解析検証→データ出る→さらに改善→…
- ノードを追加しても遅くならないのは強み
- Prestoとの連携で解析がしやすい
- Cassandra自体はデータストレージなので足りない所をSparkなりで補うと良い
数百万ユーザを支えるデータシステム, SIerから見た設計/開発フェイズの重要性
若干昔の話なので新しいバージョンはそんなことないかも…。
- 時系列データを入れるためにスーパーカラムを使用→GC多発で死亡
今ならCQL前提でいいんじゃないか - とにかく構築が楽かつ分散も楽
- ログがわかりにくい…新しいバージョンなら大丈夫かも
- row keyにひもづくデータは小さい方が良い
産業・生活インフラの安心安全を守るICTソリューションの未来像とCassandraへの期待
Yahoo! JAPANにおけるApache Cassandraへの取り組み
- 最近みた商品部分に使用されている
- 2013/11 200 node → 2015/3 450 node → 今年中に800 node行くかも
- 主に広告サービスに使用、YDN:ヤフーディスプレイアドネットワーク(300 node)
- バージョン2.X系にアップしたら安定性上がった
1.X→2.Xへのバージョンアップによって機能が増えたり廃止されたりが多い
リージョンまたいで何かをやるときとかは便利そう
Cassandra単体でどうというよりも他のOSSとの組み合わせが大切
Presto勉強会 at IPROS
Prestoの周辺事情と基礎知識
- Facebookが公開、分散処理基盤
- SQL QueryEngineという部類
- ANSI SQL:SQL標準仕様
型がきっちりしてるのでcastとかしてくれない - 複数のデータソースを結合できる。SQL書ける。遅延なし。データ持たない
- MySQLとRedshiftをPrestoCliantで結合したりした
- △メモリ大量に使用するので注意
Hiveと比べてPrestoが優れてる所とそうでも無い所
- 処理が高速なのでトライ&エラーが楽
- SQLなので導入コストが低い
- バージョンアップして今まで遅かったのが早くなった
- LIKE句よりもregexp_like()が速いので積極的に使うべき
- △マルチバイト系の処理が甘い
Presto As A Service - Treasure DataでのPresto運用事例
- 日本で一番Presto使ってる
- △運用時に単一クラスタ なのか 複数クラスタ のバランスが難しい
- Prestogresっていう便利なツールある
- SQLの重要な役割:機能を制限できる。サービス提供には好都合
Sparkだと任意コードを実行させるためにセキュアな環境が必要 - △クロスジョインやin句で大量なのは遅くなるやも
両方使ったこと無いのでいつか使ってみたい。が、Cassandraで悲鳴あげてる人を何人か見てきたような。
ここ数年でインメモリのDB活用がすごい増えてきた気がする。