ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「AWSにおけるCassandraクラスタの設定と運用」を聞いてきた(ただホワイトペーパーある)

2017-10-05 18:05:48 | Weblog
Cassandra Sammit Tokyo2017のメモ続き
午後のセッション

表題の件は、後半
「AWSにおけるCassandraクラスタの設定と運用」

ホワイトペーパーは
https://d0.awsstatic.com/whitepapers/Cassandra_on_AWS.pdf





■KafkaとCassandra(DSE)とSQLiteで毎時2700万レコードをR/Wするには?

・Kafka:コミットログ
・DataStaxEnterprise:永続化
・SQLite:検索
・CSVの読み込み、書き込み
システム構成

CSV→プロデューサー→ブローカー→コンシューマー→DSE
        :           ↓
      これ1200個     SQLite

・問題発生
・Kafka停止:5分くらい
 Kafkaはトピックとパーティションが増えるだけ、メモリが必要
  →ヒープがいっぱいに:ヒープ設定しましょう
   (最初は出なかった)
 ※公式にはあまり書かれていない。べストオブプラクティスに

・DSE停止
 書く容量がなくなった(正常に止まった→正しい動作)
 →2ノードに集中していた:KafKaのノード分布が極端に偏った
   →ZooKeeperの安定稼働が必要
  リーダーノードの分布:ころころ変わる

・ファイルディスクリプタ不足
 nofile設定(TIME_WAITのソケット回収 tcp_tw_reuse
  →recycleは使わない)

・CSVパースが重い
 投入データに応じてパーティションに振り分ける場合、データの偏りがないようにする

・MSGPack重い(not 遅い)
 構造化されたデータだと重い
 割り振りのCPU
 CPickleにすると早くなる

・スケールアウト型の良い点・悪い点
 環境設定の自動化:Ansible
 大量のデータが流れる→データのエラー
 RDBだったら? できるはずない。

・補足:トランザクションミドルウェア

・事例紹介
 テレマティックス
 治験アプリ

■Best Better practice of Cassandra
 Cassandraに不向きなCassandraデータモデリング基礎

・自己紹介
・ターゲット
・ベタープラクティス
 ベスト:適材適所というけど
 ベストじゃない部分:RDB?→それやるくらいならRDBに入れる

・ベストではないけど、Cassandraに入れれるよ
  →RDBにいれなくて、Cassandraで行うために
 ・ヒストリカルデータ
 ・ツリー構造
 ・計上データ

・前提条件
 Cassandraはどうやってデータを読むか
  パーティションキー、クラスタリングキーの2つのキー
 パーティションキーのハッシュ
 カラム名がクラスタリングキー、
 それ以外が値

 パーティションキーは=かける。必須
 クラスタリングキーは前のところから指定
 最後は> < が書ける

・履歴管理:社員の異動情報 3月25日の時点
 SQLなら 開始日付と終了日付ではさむ
 →カスタムインデックスを作る

・ツリー構造
 組織構造
 方法
  連結リスト
  ねすてっとテーブル
  経路列挙
  クロージャーテーブル
 判断のポイント:
  JOIN,再帰不可、
  整合性は考えないとする
  ジェイウォーク:1つのカラムに複数の値を入れる、非正規もOKとする

 経路列挙とクロージャーテーブル
  経路列挙:コロン区切りでつなげる
   →前方一致
   ;でsplitする
   U+003A以上 U+003B未満でコロンを指定できる

  閉包テーブル
   距離を書く
   レコード数は増える

・計上データ
  伝票集計データ
   誤計算は死
   並列・ストリーミング
   高速処理

  カウンターは、特定状況で2回カウントされるのでX
  update with LWT(100だったら101にする)

■(英語のタイトルで、全部英語:通訳なしで、タイトルメモれなかった)
・リアルタイム分析でCassandraとSpark
・自己紹介
・リアルタイムの意味
 たいせつなところ
 ユースケース
・Cassandra
 NoSQL
 No SPOF
 なぜ、Cassandra
   SPOFがない、信頼性など
 ユースケース
   IoTなどいろいろ

 CAP定理
  Cassandraは AP
  コンシステンシーとスピード、ボリューム

・SPARK
 エコシステム:機械学習など
  Spark Streaming→MLlib,SQL

・Spark+Cassandra

・Spark AND Cassandra アーキテクチャ

(早く終わった)

■運用中システムにおける6億レコードのデータ移行に関する課題と解決
・自己紹介
・ログデータ蓄積・解析システムの概要
  IoTサービスのログデータ解析
  IoTデバイス
   ログデータ→Cassandra
   データ Hadoopで解析
       RDBに保存

 集計項目 20項目(蓄積用とは別)

・データ移行が必要になったわけ
 ユーザー固有の情報を取り扱う
  →蓄積用カラムファミリに主キーの追加が必要となった
  →後から変えられない

・移行要件
 サービスに影響を及ぼさない
 新規カラムには、1レコードずつ適切な値を入力

・設計指針
 低負荷:全件SELECTとかしない
 高速:早く移行を終わらせる
 リトライ可能:同じデータを2度処理しない

・方法案
 Hadoop Map Reduceの利用→MapperのTimeoutで失敗する
 マルチスレッドで行う→いったん採用
  1時間分などもできる
  確認:RoW Keyでカウント

■AWSにおけるCassandraクラスタの設定と運用
・ホワイトペーパーがあり、それの解説となる
http://bit.ly/2wwdWa7
・自己紹介
 100 node cluster admin oparator
・本セッション
 ホワイトペーパーベース、各章・項目の紹介・解説
・「Apache Cassandra on AWS」について
 OSSプロダクト運用に役立つドキュメントを出している
 Cassandra 2.1ベース

・主要なNoSQLデータストア
 Cassandraはキーバリュー

・NoSQL On AWS
 NoSQL:DynamoDB

・Cassandra: A Breif Introduction
 Cassandraの基礎的な知識について
 重要となる要素
  クラスタ
  分散の考え
  ノード
  コミットログ
  memtable
   :

 AZと合わせて考える

・ライト・リクエスト・フロー
  書き込み処理の流れについて
  文があっている・図は間違ってる

・コンパクションについて
 理解してなかったら読んでね

・リードリクエストフロー
  読み込み処理の流れについて

・リソース要求
  ストレージ
  ネットワーク
  メモリー
  CPU

 ストレージ
  Disk IO大事 シーケンシャル+ランダム→SSD
  etx4,etx3

 ネットワーク
  リクエスト処理、Gossip
  1Gbpsが利用できるインスタンス
  NW最適化オプション

 メモリ
   重要な設定
    MAX_HEAP_SIZE
    HEAP_NEW_SIZE
  32G以上:ただし2.X
  3.0はG1GCで変わってるかも

 CPU
  Redisだと、コアをみてくれないので1コアでインスタンス増やす
  CassandraはCPUが4個以上あるインスタンス

 ある程度のスペックを持ったインスタンスでクラスタのノード数を抑えることが
 管理コストの観点からよい

・AWSでクラスタ設計する
 AZ
 VPC
 ネットワーク
 ストレージ
 インスタンス

・そもそも、AZ,リージョンとは
 リージョン:物理的場所
 AZ:1つ以上のデータセンター
 →マルチリージョン構成

・すにっち
  自動的にセットしてくれる
  単一リージョン
  マルチリージョン:いくつのレプリカ持つか

・VPCの設計
 VPC:サブネット
 VPC:仮想プライベートクラウドサービス

・ENI(えらすてぃっく ねっとわーく いんたーふぇーす)の設計
 Eth1,Eth2が簡単に作れる
 IPを引き継いだノードが作れる

・ストレージ性能の設計
  EBS →永続的
  EC2 インスタンスストレージ
      →VMが起動するところについている一時的ストレージ
       NVMえSSDなど利用できる
 →パターンを説明
  要件に合致しているか

・インスタンスタイプ
 どういうシナリオで、どういうサイジング
 ノードの追加でスケーリング

・カサンドラをAWSにデプロイ
 クラスタでどこまで高可用性を追求するか?
 Writeを安全に失敗させるとか
 オートスケーリングとNAT Gateway
  →シードと、ノーシードで
 セキュアなCassandra
  →KMS

・Amazon CloudWatchの利用
  →監視 一定の負荷になったら、Cassandraを追加

・マルチリージョン構成
  通信
  リクエスト処理 hinted handoff

・バックアップ

・カスタムAMIを作るメリット

・オンプレ環境から、CassandraクラスタをAWS上にゼロダウンタイムで移行

・AmazonEMRを利用したCassandra上の分析

・ネットワークコストの最適化
  →NW転送量に課金

・カサンドラのベンチマーク
 YCSB:注意点

・クイックスタート
 DSEと、CloudFormationを使う

・AWSで作るメリット
  セキュリティ
  スケーラビリティ
  各種サービス

・AWS Black Belt Online セミナー
  AWS Black Belt VPC等で検索するとプレゼンへ




午前と午後の間にランチセッションがあったけど、
それについては、別エントリで

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cassandra Summit Tokyo 2017の途中経過

2017-10-05 13:40:37 | Weblog
Cassandra Summit Tokyo 2017の午前中メモメモ



■司会
・第5回になります

■Key Note(英語、通訳なし)
・自己紹介
・日本に初めて来たとき
  渋谷 3年前 話にきた→日本のコミュニティと話した
・コミュニティについて
 ディストリビューションいっぱい
 コミュニティサポートがないのは、旅で一人で道をあるくこと
  →コミュニティの意義
・コミュニティによる強化

・かサンドラ動かすのにベンダーのである必要はない

カサンドラプロジェクトの状態
・TICK TOC LEGACY
 GOOD:2.2
 BAD:3.0,3.11、とらんく
→どのバージョン使えばよい
 2.2 ローリスク
 3.0 ステーブル tic/toc
 3.11 新しくステーブル

・マテリアライズド:ビュー
  Just fix 11500
 ハッピーパスは、ナロー

・4.0
  No More THRIFT :(

・バグ修正と改良
 20以上のバグフィックス
 PULL REPAIRもある

・新しい機能
 タイムスタンプ機能 SELECTで
 算術演算子 %も
 内部ノードのメッセージングでの書き換え(リライト)

・実装しやすくなった
  1メッセージで挿入、とらんけーと
  Dcassandra.write?survey=true
  トラフィックにSSLクライアント証明 10404

・次は?
 仮想テーブル
 プラガブル ストレージ エンジン(新しくないけど)
   Dynamo+MySQL etc
   Mycassandra
   2995
 ROCKS DBのインテグレーション

・JavaのGC
 →レイテンシ―
 
・プラガブル ストレージ

・FIXしたバグ:リアルワークロードからのディスカバリー

Tanks!

■日本Cassandraコミュニティの話
・(そのまえに今日の)ランチセッション、懇親会の話
・日本Cassandraコミュニティ
  情報共有
  http://cassandra-jp.com
  メーリングリストcassandra-jpでGoogle Groups
  Cassandra勉強会 38回 最近は15名から20名くらい
  Cassandraカンファレンス
  Cassandra飲み会 不定期
 →アメリカだと7位だけど、日本だと難しいのかなあ~

■DataSTAX きもとさん
・ことしの7月日本法人
・クラウドアプリケーションがビジネスを変える
 急速に進化する世界
 革新がおこるたびに期待が加速

・クラウドアプリケーションは期待に応えることを求められる
  エクステンチュアル
  常時オン
  リアルタイム
  分散型
  スケーラブル

・データプラットフォームの要件
  常時オン
  無理なくスケール
  今を知る

・今を知る
  サーチ:全文検索(そーら)
  アナリティクス(Spark)
  グラフ
 →オールインワン:DATASTAX ENTERPRISE

・DataStaxはクラウドアプリケーション向けの

・Cassandraアプリケーションの作り方 E:15:45~

■YAHOO
・講演案内
・講演以外のとりくみ
  Openstack
  高集積サーバー
  Kukai(くうかい):スパコン Green500で世界第二位でCassandra?
・Cassandra Summit NGCC
  NGCC:DSXのこみったーあまりいなく、apple、インスタから
   →DSXのコミット数も減っている
・ブース

■INSTACLUSTR
・オープンソースで高信頼性とスケールする
 →Casaandra,Syclla,Sparkとか使ってる
 →モニタリング、修復、バックアップ
 →24時間365日のサポート

■マイクロソフト
・Cassandera+Azure
 Windows Azure→3年前からLinuxもしたけど、
 Azureのアイコンを変えた Azure Open Source
 
・IN THE FORESTで

・Azure:プラットフォームとして使ってほしい
 海外:フォーチュン500 の90%
    Ubarの顔認証:動画でコグニティブサービス

・トラスティッククラウド

・第一生命の事例:データセンターの監査対象
 リージョン:世界最大 南アフリカにも
 ネットワーク:軍についで高速

・自社内でCassandra
 MyAnalytics:ログを採ってアドバイス

・Azureオープンソースデータプラットフォーム
  DBたくさん選べる
  Kafka→Cassandra→Spark,AI→活用

・2つのリージョンを使って
 コンテナイメージをPaaSで

・信頼できるクラウド

■楽天
・会社紹介
 2010年ころ 外国籍の人
 今 外国籍の人ばっかり
・Cassandra
 2年前にえらんだ
・Rakten tech カンファレンス


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする