tom__bo’s Blog

MySQL!! MySQL!! @tom__bo

"JAWS-UG目黒" に行ってきた

イベントに参加した時に調べて知ったのだが、JAWS-UGは"Japan AWS User Group"の略だった。イベントの内容だけ見ていって参加したので、あしからず。。。

 

というわけで、今回は目黒にあるAmazon Japanに突撃してきた!

 

受付↓

f:id:tom__bo:20150630231423j:plain

 

 ボルダリング部が練習してるらしい。めっちゃ登りたかった。。。

f:id:tom__bo:20150630231452j:plain

 

 

まずは受付の写真を貼っていったものの、どうもインターンやら大学の課題やらで忙しい。。。すでにイベントから1週間以上経ってしまっているので、メモをそのまま書く!

 

そろそろサマーインターン決まってくるし、、、時間がやばい、、、

 

Mysql on EC2な運用
rockhopper6542 (colpr)
 
RDS使わずにMySQL on EC2している
 
オンラインマスタ切り替え
     マニュアルオペレーションで切り替える方法
     切り替えの流れ
          神経等MsterDB & SlaveDBを構築
          SlaveDB切り替え
          MasterDB切り替え
     メリット:サービス停止なしで切り替えられる。
     デメリット:現状と同じだけの台数のインスタンスが必要
 
 
ウォームアップについて
     事前にinnodb buffer poolにデータを読み込ませる。
     できるだけ本番環境と同じメモリ状況でサービスインさせる
     MySQL5.6からはinnodb_buffer_poolの内容をダンプできる
 
     想定外の不可の場合は、SlaveDBにi2インスタンスを使う
          SSDインスタンスストアをソフトウェアRAIDで仕様
          高速なSSDなので、ウォームアップなしでサービスインする
 
 
=============================================================
・今更だけどAmazon Dynamoの論文解説するお
@imai_factoryさん
 
Dynamo: Amazon’s Highly Avialable Key-value Store
 
・100%書き込みに成功することを目標に作られた・
・Cap定理で言うとAとPを優先
・書き込み時に整合性を取るのではなく、読み出し時にアプリケーション側で整合性を獲るモデル。
・CassandraやRiakに影響を与えたと言われている
 
コンシステントハッシング???
 
1. Introduction
2. Background
     RDBに可用性の面で満足が行かなくなってきた
     Amazonで使われるトランザクションの多くはKey Valueで表現できるものだった。
     2.1. 
          Query model: key value
          ACID: Targeted Wek Consistency workload
          Efficiency:
               Commodity hardware
               Up to 300ms latency in 99 percentile
          Other assumption
               Deployed on reliable network
               Targets 100’s host of scalability
     2.2 SLA
          No average , median
          更に耐久性と一貫性をConfigurable / Trade off可能にすることにより、アプリケーション側で要件に合わせて利用することができることを目指した。
     2.3 Design Considerations
          楽観的レプリケーション
          オブジェクトのバージョンチェック
          全ては書き込みを簡素化し、失敗をなくすため
         
          アプリケーションが読み出し時に整合性チェックとは?
           Incremental scalability
           Symmetry
           Decentralization
           ...
 
3. Related work
     Structured P2P
          bit trentとかみたいにseedのリストを持っているマスターサーバがいるP2P
     Distributed File Systems
     100%会っき込み可能で、
     Key Valueでデータ・アクセスできれば良い
     つまり
     a zero-hop DHT
 
4. Design
     4.1 System Interface
          get(key), put(key, context, object)
     4.2 Partitioning Algorithm
書き込みQuorum :w
… : R
     N, W, Rを調整することで、自分に必要なコンシステンシを確保する
 
5. Implementation
6. Lessons Learn
7. Conclusion
 
 
 
=============================================================
・とあるAWSサービスの運用移管とそのデータストア事情について
@key_amb (DeNA)
 
 
iemoのサービス買収時
     SPOFが多い
     単一AZに構築されている
     
     SPOFをなくして、AZ冗長化した
     
DeNAのDB KPI
     SHOW GLOBAL STATUSで取れるThreads_runningを特に重視している
     MySQLにCollector Daemon(レポーティングのデーモン)をおいて、KPIをとっている
 
 
困ったこと
     一度作成したCache Clusterのインスタンスタイプは変更できない
どうしたか
     別のインスタンスクラスター作って以降
 
colprと一緒で普通はEC2にMySQLを広ちくすることが多い。
レポーティングのデーモンとか入れたりするからっぽい?(RDSにどんな機能があるのかよくわからん)
 
 
=============================================================
・Cognite Sync
@suzryo (classmethod)
 
Amazon Cognitoの話。。。
 
 
=============================================================
Amazon Auroraのちょっとしたこと
@con_mame
 
クラウド時代にAmazonが再設計したRDBMS
高いクエリ実行並列度・データサイズが大きい環境で性能を発揮
 
ログとストレージレイヤを分離して、シームレスにスケールするストレージサービスに移動
ある意味プラがブル
 
パフォーマンスがいい。
クエリの並列度が高い
データサイズが大きいケースで効果を発揮
ロック機構やQuery cacheなどに手を入れて性能向上を行ってい
 
Multicoreな環境でどうトランザクションを向上できるかっていう論文を参考にしている
mysqlだと、mutexの待ちでリソースを食ってしまう

 

会場の様子

f:id:tom__bo:20150630231522j:plain