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

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

MySQL Document Store(文書型JSONでMySQL)とか聞いてきた

2016-05-10 17:50:13 | Weblog
今日(5月10日)MySQL Innovation Day Tokyoに午前中行ってきて、

を聞いてきたのでメモメモ(ちょっとはじめ、遅れたので動画の前はわからない)



■イベント概要紹介
動画

MySQL Document Database
RDBだけでなく、ドキュメントも
2007年くらいからNoSQL
Xプロトコル Googleのプロトコルバッファで実装

MySQL 5.7 GA
・多くの機能が実装
・レビュー
  5.6の3倍の速度
  レプリケーション改善グループレプリケーション:プラグインで予定

MySQL5.7 JSONサポート
・スキーマレスで入っている
・テーブルからもJSON作れる

グループレプリケーション
・まだGAにはなっていないけど、プラグインで
・マスターサーバーの冗長化できる
・管理:オープンソースもあるけど・・・
  レプリケーションモニターが使える
  マルチソース、サーキュラー、トポロジーを容易に管理


MySQL Document Store
・Xプロトコル
・X Dev API
・MySQL Shell→メインのCLIになる
 Xプロトコル
 Java pythonも
・接続方法
  スタンダード
  memcached
 →X Protocol
・セキュリティ

X Protocol
・非同期APIサポート
 パフォーマンスがいい
 プッシュ通知
 エラー処理の設定
 シャーディング:現状のコネクタではまだ
 オープンスタンダード:カスタマイズ性も優れている

MySQL XDevAPI
・ステートレス
・CRUDできる
・JSON
・MySQL Connector (nodeJSも)
・ドキュメント、リレーショナル両方

MySQL Shell(GAではない)
・まだまだ不完全だけど・・
・Pythonを使う場合は、コネクターが出ていないのでMySQL Shellで
・MySQLのプロビは、このAPI経由でできる→Dockerリクエスト
・Javascript流しこめる、パイプにつなげる

MySQL Document Store
・スキーマレス・リレーショナル・ハイブリッド
・ACIDトランザクション(inno DBでうごいているので)

本日のセッション

■Key Note Introducing the MySQL Document Store
 マイクさん&同時通訳 梶山さん
・新しい機能
 ハイブリッド型(ドキュメントとRDB)

・MySQLはRDBとして高い品質:ACID
 SQL:複雑な処理も、分析も
 非常に多くの環境で利用:どこにでも、情報も簡単に、拡張性の実績

・ドキュメントデータベース
 RDBはすべてのアプリケーションというわけではない
 スキーマを定義しないでというニーズ
 高い柔軟性、高い信頼性、uptime
 JSON
 アプリケーションの構造に
 node.js,python

・リレーショナルとドキュメント
 1つの製品にまとめていく→MySQL

・基礎:MySQL5.7 JSONデータタイプ
 SQLのよさをひきつづき
  JSON向けのSQL関数
  正式なデータ型
  基本的には作りこんでいるはず
  演算子

・GeneratedColumns(生成列)
 演算したものを作る→インデックスも作れる
 生成列→alter table→index
 JSONデータに対してインデックス作れる

・生成列
 STORED(格納)
  参照は早くなる
  テーブルの再作成  
 VIRTUAL
  格納速くなるが
  参照遅くなる

 インデックスはバーチャルに制限

・ドキュメントの使い道
 テーブルにデータ、ドキュメントJSONで出力
  関数を用意してある
  ときどきぐちゃくちゃになるかも・・・きれいにマッピングできない

・JSONドキュメントコンテナーとしてのMySQL
  1つの列にJSON型を使う→array等、テーブルマッピング困難だったものに対応できる

・一部分だけをスキーマレス、ほかはスキーマ
 JOINして1つの結果→シンプル

・The X DevAPI
 SQLが複雑すぎる
 開発者が必要としているメソッドを重ねる
 SCRUD(select+CRUD)をするAPI
 非同期処理
 O/Rマッパーでなく、独自のAPI

・ドキュメントのあつまりコレクション
 →コレクション操作できる
 後ろにメソッドを重ねる(フリューエント)
 ドキュメントデータの削除
 X Session
 セッション使わない操作もできる
 テーブルに対する操作も用意
 いまDMR(開発途上版)

・5.7.12
 ドキュメントストアプラグイン(Xプラグイン)
  →ひつようなら有効に
 プラグインより
 MySQL 8 新しい機能はプラグイン

 MySQLシェル
 3つの接続部品

 APIのポイント
 開発言語にあったAPI用意

 ぜひ、フィードバック

・Connector/Node.js 1.0
 あたらしいもの
 非同期への処理も対応

・MySQLシェル
 Python、Node.js
 開発用だが、運用・管理も
 
・MySQL プラグイン for Visual Studio

・ドキュメント用意してある
 サンプルプログラム

■MySQLドキュメントストアの紹介

・ドキュメントストア
 JSON→スキーマレス
 XDEV API、X protocol
 mysqlxというデーモンが入るとxプロトコルしゃべれる

・X dev API
 X pluginを有効にすることで
 NoSQLライク Javascript,,pythonから処理

・X プロトコル
 何回かも?Googleのプロトコルバッファ読んだ
 大量に小さな処理
 シャーディング
 非同期処理
 パイプライン処理:まとめて複数のコマンドを一気に投げられる

・XProtocol
 ネゴシエーション
 オーセンティフィケーション
 実行

 なにがいいの:非同期
 失敗したら、すべて失敗など、エラー処理もカスタマイズできる
 →デフォルトは失敗しても無視する

 ネスティングもできる

・X Protocol
 圧縮はもう少し:ただしプロトコルバッファはすでに無駄を排除している
  →サイズ圧縮

・MySQL Shell 概要
 mysqlsh
 Jacascriptモード
 \pyでpythonモードに
 \sqlでSQLモードに
 Visual studioとの連携も将来的には

 標準的な言語で

・機能
 クラッシックは3306ポート、他は33060
 接続を登録できる

・開発API
・バッチモード
・出力フォーマット

・セッション
 コネクションを作って共有できる

・バックワードコンパチビリティ
 3306で接続 クラッシックでアクセス

・制約
 MySQLシェルはCLIでないので、外部のシェルコマンドは呼び出せない

・将来
 グループレプリケーションの設定(MySQLパブリック)
 ユーティリティ→MySQL Shellでできるようにしている
 Development API

・デモ
 Twitter→JSON→indexつけてDBへ

・参考 プロトCでカスタマイズできる


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« マイナンバーまたシステム遅延 | トップ | まずは、Oracleのぼやっとし... »
最新の画像もっと見る

Weblog」カテゴリの最新記事