読者です 読者をやめる 読者になる 読者になる

あるふぁべっとがおおすぎる

ITネタとか勉強会とか色々

Cassandra と Presto | Advent Calendar 2015

IT系の勉強会行ってきた Advent Calendar 2015 - Adventarの14日目!

Cassandra Summit Tokyo 2015

cassandrajp.connpass.com

基調講演

  • 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 CassandraApache Sparkで作るデータ解析プラットフォーム

  • IoTデータ、M2M:人が介在しないのでデータ大量になりがーち
  • 最近はデータ全部取りましょう→ツール使って解析検証→データ出る→さらに改善→…
  • ノードを追加しても遅くならないのは強み
  • Prestoとの連携で解析がしやすい
  • Cassandra自体はデータストレージなので足りない所をSparkなりで補うと良い

数百万ユーザを支えるデータシステム, SIerから見た設計/開発フェイズの重要性

若干昔の話なので新しいバージョンはそんなことないかも…。

  • 時系列データを入れるためにスーパーカラムを使用→GC多発で死亡
    今ならCQL前提でいいんじゃないか
  • とにかく構築が楽かつ分散も楽
  • ログがわかりにくい…新しいバージョンなら大丈夫かも
  • row keyにひもづくデータは小さい方が良い

産業・生活インフラの安心安全を守るICTソリューションの未来像とCassandraへの期待

  • インフラ維持管理のリスク&コストが上昇
  • 竹中工務店とMQTTで通知 Apache Stormで計測
  • 上海工場での部品数確認とか各工場で集計してやったり
  • 重要インフラを監視するシステム

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

iprostm.doorkeeper.jp

Prestoの周辺事情と基礎知識

  • Facebookが公開、分散処理基盤
  • SQL QueryEngineという部類
  • ANSI SQLSQL標準仕様
    型がきっちりしてるので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活用がすごい増えてきた気がする。