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

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

DynamoDB Streamも聞いてきた!

2015-06-12 22:31:19 | ネットワーク
それと、db showcaseで、
AWSのDynamoDBやDynamoDB Streamの話も聞いてきたので、メモメモ




Dynamo:
DynamoDB:完全マネージ度型のNoSQL
Table
Item=レコード
アトリビュート→カラム
ハッシュキー:必須
レンジキー

Table API
 DDL,DMLを用意している
Stream API
 あとで紹介

AWS SDKとCLI(コマンドライン)

データタイプ:ストリング、数値、バイナリ、JSON用

HashTable
 HashKeyは単体でプライマリーキーとして利用できる
データは3か所にレプリケーション
Hash-Renge
 ハッシュキーの複数データの順序保証をするため

DynamoDBの整合性
 2つのレプリカでAck
 Read
   デフォルト
   ConsistentRead:3つ一緒の時

LSI(Local Secandary Index(LSI)
GSI(Global Secondary Index)

GSIの更新フロー
 非同期で更新

スケーリンフ
  スループット:指定できる
  
スループット
 テーブルレベルによってプロ美女にんぐ
  Writeキャパシティーユニット
  Readキャパシティーユニット
 →どくりつ

パーティショニング算出
  スループット
  ストレージ テーブルサイズを10Gでわる
 の大きいほう

DynamoDBの課金
 スループットで決まる時間料金
 ストレージの価格

キーが偏らないように

バースト処理:超過するとエラー

データモデリング
 1:Nリレージョン 親子
 N:MクエリAPIでアクセス

JSON型:昨年10月から
 Document

ユースケース、ベストプラクティス
・イベントログ
  ホットテーブルとコールドデータとして別テーブル(混在させない)
  アーカイブしたらS3
・メッセージアプリ
  メタデータを別テーブル
  大きいデータを分けて配置
  書き込み処理を単純化
・ソーシャルゲーム
  HashKeyとRengeキーのみインデックス大正
  →2つ以上ある場合
  1.HashKeyを1項目、RengeKeyを残りの項目にしてフィルター
  2.複合キーとして指定
・スパースなインデックス

リアルタイム投票システム
  スケールすることによるボトルネック→シャーディんグでの書き込み
  正確な投票

DynamoDB Stream
  すべての更新保持。
  シリアライズされる
  24時間
 View Type:Old image,New Image,old+New,key
つかいみち
 Kinesis Client Libraryからとか
 クロスリージョンレプリケーション→海外にバックアップ
 DynameDBStream+らむだ
 ラムダ:イベントをトリガーにレコード実行
リアルタイム投票

ユースケース
・セッション管理
・ユーザー情報
・行動履歴
・ソーシャルのバックエンド

ユースケースに合わせてDB製品を選択
キャパシティ→クラウドウォッチでわかる
ダイナミックDynamoDB(オープンソース)で自動化できる

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

AWSでMySQL5.6互換、性能5倍?のAurora話を聞いてきた

2015-06-12 18:29:38 | ネットワーク
db showcaseに行って、

Amazon Aurora Deep Dive

で、MySQL5.6互換、性能5倍?のAurora話を聞いてきたので、メモメモ




現在プレビュー中。今日現在のもの(改善はいるかも)

Amazon Aurora
そのまえに、Amazon RDSの説明
 →AuroraはRDSの1つとして提供

RDS
・データベースを数分で作成可能
・セキュリティパッチなども自動
・S3への継続的バックアップ
・フェイルオーバーも

Aurora
・re:invent2014で発表された新しいRDS
・新しい技術的チャレンジ
・RDSが提供するエンジンのうちの1つ
・ばーじにあ、おれごん、あいるらんどリージョンで
・プロダクション環境へ移行
・ライセンス料金
・MySQL5.6と互換性→ロックインなし

・クエリ性能の向上
・スケーラブル
・セキュリティ
・コストパフォーマンス

MySQL5.6との完全互換
・接続先をオーロラへむけるだけ
・10GByteから64TByteへシームレスにスケールアウト
・3とつのアベイラビリティゾーンに2つづつ、計6個+S3にバックアップ
・VPCないに起動

なぜAmazonがデータベースを再設計したのか
・1970年の概念が生きている
  現在のモノリシックなDB→このセットで増やしていくしかなかった

クラウド時代のDB
・ハイエンド
・オープンソースなコストメリット
・MySQL互換
・利用した分だけ
・フルマネージドサービスとして提供

MariaDBConnectorはAuroraとシームレスに動作
 Tableau,TalendもMySQL用でOKだった

アーキテクチャ
 Service Oriented Archtecture
・ログとストレージレイヤ
・ルート53、なんかをつかって管理されている
  S3をつかって

キャッシュレイヤの分離

ストレージ:
 SSD利用、使った分だけ課金
 故障に対して耐性
 ログ・ストラクチャード・ストレージ
 6つ中、4つ書き込みで戻る
 ホットスポットを取り除く
 スレーブもマスターと同じディスクを参照
 S3へ増分バックアップ

Log Structured Storage
 追記型ストレージ
 →シーケンシャルリード

ディスクの障害検知と修復
・3本XでWriteできなくなる(Readはできる)
・MySQLのレプリケーション スレーブ遅延
 Aurora:遅延おこらない100ms未満
・15台のリードレプリカを作成可能

セキュリティ
・標準的な認証は取っている
・データの暗号化

DBクラスタ
・マスタとスレーブをひとまとまりにしたもの
・クラスタエンドポイント

新しいメトリクス画面

フェイルオーバーとリカバリー
・リードレプリカがあると、1分ほどでフェイルオーバー可能
・優先的にフェイルオーバーさせるノード
  →スレーブとして使える

クラスタエンドポイント

データ修復も高速

Streaming snapshotとPITR(ぽいんといんたいむりかばり)
・5ふんまえから
・SQLによるフェイルオーバーのテスト

パフォーマンス
・5倍のパフォーマンスが独り歩き?
・クエリの並列度が高く、データサイズが大きいと効果発揮
  →分散ロックメカニズム
・クエリレスポンスタイム、スループットに注目
 (CPU使用率が高くてもスループットよいことも)

パフォーマンス測定

・性能5倍
 TPC-Cだと2.5倍?→改善中

Auroraの移行
RDS for MySQLからは、ボタン1個
・InnoDBしかサポートしていない
  MyISAMがある場合、コンバートするので、

使いどころ
・クエリ同時実行数やテーブルサイズが大きいとき
・複数サーバーにシャーディング

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