Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MySQL Cluster 7.2 as NoSQL + α #TechLunch
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Livesense Inc.
PRO
April 23, 2014
Technology
110
0
Share
MySQL Cluster 7.2 as NoSQL + α #TechLunch
2012/07/11(水) @ Livesense TechLunch
発表者:福田 絵里
Livesense Inc.
PRO
April 23, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
50
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
61
27新卒_総合職採用_会社説明資料
livesense
PRO
0
4.9k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
9.4k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
390
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
620
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
64k
Other Decks in Technology
See All in Technology
The Making of AI Chips
pfn
PRO
0
680
Python開発環境にハーネス適用を検討する
yuuka51
0
330
GCASアップデート(202603-202605)
techniczna
0
270
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
1
2.1k
SDDで⾒える、AIコーディングの"内訳"
lycorptech_jp
PRO
0
270
Splunk MCPサーバの利活用事例 ーKINTOテクノロジーズの取り組み
kintotechdev
1
150
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
170
開発にAIを組織として取り入れる一歩目とその後
yujishibuya
0
180
AI時代に求められる思考のパラダイムシフト
nrinetcom
PRO
0
120
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
2
340
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
180
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
How to Ace a Technical Interview
jacobian
281
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Unsuck your backbone
ammeep
672
58k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Done Done
chrislema
186
16k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Transcript
MySQL Cluster 7.2 as NoSQL + α
Introduction MySQL Cluster : 分散型リアルタイム データベース管理システム 高いスループット・拡張性・可用性を実現 複数のサーバーで同時に更新と参照を行える 既存のアプリとSQLの互換性を保てる
99.999%の 高可用性
None
Features ・SQLまたは固有のAPI(Java/C++)によるアクセス → NewSQL ・高速なインメモリ型テーブル ・容量が必要な場合のディスク型テーブル ・アクティブ‐アクティブなクラスタ構成 ・シェアードナッシングアーキテクチャ ・ACID準拠のトランザクション ・行レベルロック
・ビルトインのHA機能 ・ノードの台数に応じた高い並列処理 ・オンラインバックアップ ・オンラインスキーマ変更 ・オンラインノード拡張 ・オンライン(ローリング)アップグレード・ダウングレード ・レプリケーション ・スキーマ、データの同期自動化
「NewSQL」 : NoSQL and RDBMS NewSQL SQLでも、NoSQLでも、 同一のデータを扱う <NoSQL>
NDB API memcached API (7.2から) <RDBMS> mysql
Shared Nothing Architecture ノード間連携方法 テーブルのデータは行ごとに「フラグメント」に 割り振られている 「フラグメント」は複数のノードに複製される
High Availability データノード間連携方法 : 「フラグメント」の複製 テーブルのデータは行ごとに「フラグメント」に 割り振られている 「フラグメント」は複数のノードに複製される
データノード間連携方法 : 「フラグメント」の複製 ノードグループ1 データノード2 データノード1 F1 セカンダリ F3 セカンダリ
F3 プライマリ F1 プライマリ ノードグループ2 データノード4 データノード3 F2 セカンダリ F4 セカンダリ F4 プライマリ F2 プライマリ High Availability
データノード間連携方法 : 「フラグメント」の複製 ノードグループ数 = データノード数 ÷ レプリカ数 データノードがひとつ ダウンしても、処理を
継続できる。 High Availability
Other Products Oracle RAC, DB2 pureScale(IBM) → シェアードディスク あるアプリケーションノードで障害が発生しても、 ほかのノードに処理を引き継ぎやすく、耐障害性に
優れる。 複数ノードのデータベースからのアクセスが競合し たときのロック現象は避けられない。つまり、サー バーの台数が多くなるほど、ロックによってパ フォーマンスが低下する。
MySQL Clusterはシェアードナッシング アーキテクチャの欠点を克服
7.1 → 7.2 (2012/02/15 正式版公開) ・joinが70倍高速 (Adaptive Query Localizationによる) ・Memcached
API搭載 Release Note
News MySQL Cluster 7.3 (ラボ版) 外部キーをサポート ただし、MySQL(InnoDB)とMySQL Cluster(NDB ストレージエンジン)をまたがった外部キー定義は 不可
外部キーはデータノード上でチェックする
Conflict ? 2組のClusterをマルチマスターレプリケーション 構成にする場合にのみ、更新の衝突を考慮しなけ ればならない ハッシュ値によって各行の一意性が担保されて格 納されているため、更新の衝突は起こらない ※トランザクション分離レベルはREAD COMMITEDのみサポート
API
MySQL Connecter MySQLコネクタを使用可 SQLノードを経由してMySQL Clusterにアクセス ◦Connector/ODBC ◦Connector/J ◦Connector/NET ◦Connector/C++ ◦Connector/C
◦C API for MySQL (mysqlclient) ◦MySQL Connector for OpenOffice.org
NoSQL Memcached, C++, Java, OpenJPA, OpenLDAP, HTTP/REST(mod-ndb)などを介して、 ネイティブNoSQL接続を提供
・SQLを利用しない (NoSQLの一種) ・SQLによるアクセスよりもさらに高性能 ・C++またはJavaによるオブジェクト指向API ・ACID準拠のトランザクション ・ハッシュインデックスを用いたルックアップ ・オーダードインデックスを用いた範囲検索とソー ト NDB API
NDB API直接使用 → 低級な処理を自分でコーディング ClusterJからNDB API呼び出し → プログラミングの手間軽減 NDB API
•ClusterJ Java実装 JNI経由でC++のNDB APIを呼び出す O/Rマッパー風のインターフェイス ※ClusterJPA Apache OpenJPAのプラグインとしてClusterJを利 用するためのインターフェイス Connector/Jとの併用可
•memcached API NDBテーブルへアクセスする手段 NDB APIとは異なり、トランザクション対応ではない 特徴 ・テーブルのデータが直接書き換えられる→同期考慮の必 要なし ・memcachedサーバが停止しても、他のサーバへつなぎ 替えるだけで、全てのデータへアクセス可能(コンシステ
ントハッシュ法による負荷分散の場合と異なる) 高速問い合わせ → memcached API 複雑な問い合わせ → SQL memcached API
Appendix
None
None
None
Introduction Example GMOとくとくショップ (2010年) http://www.gmo.jp/report/technology/03/index.php 住商情報システム株式会社 (2009年) http://www.slideshare.net/hirohama/my-sql-cluster 国内大手メディア企業における MySQL
Cluster 導 入事例 – MySQLカンファレンス2007 http://d.hatena.ne.jp/akiyan/20070912/1189591680
Next R ?