Clustrixによる 社内データベースクラウド環境の提供
2013/11/14 野田 啓介 楽天株式会社 Data Store Platform Group Global Infrastructure Development Department, Rakuten, Inc. http://www.rakuten.co.jp/
2
自己紹介
野田 啓介
Data Store Platform Group
Global Infrastructure Development
Department
Rakuten, Inc.
Role : DBA
3
楽天株式会社 概要
Founded: February 7, 1997
IPO: April 19, 2000 (JASDAQ Stock Exchange)
Office: Rakuten Tower (Tokyo, Japan)
Employees: 9,311 (as of Dec. 2012)
Market Cap: JPY ¥890 Billion or US$10.2 Billion (as of Jan 4, 2013)
4
楽天グループ(国内)の主なサービス
E-Commerce Portal and Media
Travel
Telecommunications
Securities
Credit Card
Professional Sports
Banking
E-money
5
楽天は海外展開へ
6
海外M&Aを含む成長戦略
2012
In 2010
2010年からグローバル展開が急加速
2005
In 2009
In 2005
In 2008
In 2011
In 2012 EC事業では、現在までに世界13カ国・地域に、
すべてのサービスを含めると世界25カ国・地域に
出資
7
Agenda
1. Clustrixの導入からこれまでの運用実績
2. 社内データベースクラウド環境の提供
3. Clustrix運用の裏話
8
Agenda
1. Clustrixの導入からこれまでの運用実績
2. 社内データベースクラウド環境の提供
3. Clustrix運用の裏話
9
Agenda
1. Clustrixの導入からこれまでの運用実績
• Clustrixとは?(導入までの経緯)
10
弊社MySQL環境の課題
× Manual sharding
× Manual server management
× Long lead time
× Offline maintenance
× 90% of CPU is NOT used!
DB DB DB DB
…… ……
DB DB DB DB
DB DB DB DB
DB DB DB DB
DB DB DB DB
……
Application servers
Master DB servers
Slave DB servers
11
弊社MySQL環境の課題
× Manual sharding
× Manual server management
× Long lead time
× Offline maintenance
× 90% of CPU is NOT used!
DB DB DB DB
…… ……
DB DB DB DB
DB DB DB DB
DB DB DB DB
DB DB DB DB
……
Application servers
Master DB servers
Slave DB servers
We need a
new database platform
for “As a Service”!
12
Clustrixとは?
• MySQL Highly compatible
• Data Distributed, Scalable
• ACID guarantee, No data loss
• Automatic Fault Tolerance
• Uses SSD and Infiniband
Appliance product
13
Clustrixとは? ~運用上のメリット~
No manual sharding
• Automatic data distribution
No manual fault tolerance
• Automatic!
• VIP access
Online Schema Change
No Fragmentation
• Layer tree Server3
Data3
Data2
APP
Server2
Data2
Data1
Server1
Data3
Data1
ServerX
DataZ
DataY
Scalable
No Sharding
14
Agenda
1. Clustrixの導入からこれまでの運用実績
• システム構成
15
システム構成
Cluster2
(PRO/BCP-Cluster)
Cluster1
(PRO/BCP-Cluster)
VIP VIP
DB
DB DB
DB
DB
DB DBDB
Application
DB
Replication
Access
本番環境
Monitoring Backup
GlusterFS
NFS
16
システム構成
DB DB
DB
DB
DB DB
DB DB DB
Single node cluster
プライベートクラウド環境
プライベートクラウド環境
Single node cluster
Cluster
VIP
DB DBDB
検証環境 ステージング環境
開発環境
17
(新)システム構成
BCP-Cluster
PRO-Cluster
VIP
VIP
DB DBDB
DB DBDB
SLB
VIP
DB DBDB
DB DBDB
PRO-Cluster
VIP
DB DBDB
BCP Non
BCP
Application
Replication
Access
本番環境
(2013/11~)
18
Agenda
1. Clustrixの導入からこれまでの運用実績
• 運用実績
19
運用実績
データベース数
データサイズ(GB)
Cluster2
Cluster1
Cluster2
Cluster1
20
運用実績
Ads management platform
パフォーマンスについて
0
50
100
150
200
250
300
350
400
450
500
Select Count(50million
rows)
Like Search(4milion rows,
13GB)
2000 of IN +GroupBY
IA+SSD
SPARK+DMX
Clustrix
Tim
e
x 9.8
x 10 x 50
21
運用実績
Rakuten Super Point Management
パフォーマンスについて
0
2
4
6
8
10
12
14
レポート① レポート② レポート③ レポート④
IA+HDD
Clustrix
Tim
e
x 75
x 5.5
x 37 x 5.1
22
運用実績
HW障害時の自動復旧
Cluster1 Cluster2 約60秒で復旧!
23
運用実績
ノード追加(3ノード)
Cluster1 Cluster2 約45秒×3
24
運用実績
Online Schema Change
Cluster1 Cluster2
約3分で完了
セール開始!
25
1章まとめ 〜課題は解決されたのか?〜
Manual sharding
解決!
Manual server management
多数の物理サーバーの削減ができた
解決!
Long lead time
DB作成は即時可能!(2章でお話します) 解決!
Offline maintenance
解決!
90% of CPU is NOT used!
複数の物理サーバーを集約し、効率化できた
解決!
26
Agenda
1. Clustrixの導入からこれまでの運用実績
2. 社内データベースクラウド環境の提供
3. Clustrix運用の裏話
27
なぜデータベースクラウド?
クラウドといえば・・・ - 早い(すぐ使える) - 安い
- 旨い(速い、簡単etc)
データベースインフラにも
求められている
28
過去のデータベース利用までのステップ
• Too many human to
human workflows
• Too many approvals.
• Too many meetings.
• Too many documents.
Request チケット発行
設計MTG キックオフ
設計MTG
テーブル作成依頼
SQLレビュー
スキーマレビュー
テスト
DB作成
...
Developer Operators
複雑
ステークホルダー多い
申請書たくさん
29
Clustrixによるクラウド化の実現
早い(すぐ使える) 構築されたクラスターにDB作成するだけ
安い
利用サイズにより課金(スモールスタートしやすい)
旨い(速い、簡単etc) パフォーマンスよし
セルフマネージメントで自由に
API提供
30
Demo
1.データベース利用状況閲覧
2.バックアップ&リストア
3.権限管理
• 権限情報閲覧
• 権限の追加/削除/編集
4. API提供
セルフマネージメントツール
31
クラウド化とDevOpsとの関連性
DevOpsとは
Dev(Application開発)
と
Ops(運用)
がうまく連携し業務の効率化する開発の考え方
Opsには早い、安い、旨いが求められる
データベース
クラウド化 DevOps推進
32
楽天のDevOpsのかたちのひとつ
RPaaS Developer
rpaas push myapp
Grab a coffee
コマンド1発
33
Demo
1.アプリケーションの作成
2.Login PaaS
• rpaas login
3.アプリケーションのデプロイ
• rpaas push
プライベートPaaS(RPaaS)からDB作成
34
2章まとめ
Clustrix
+
セルフマネージメントツール
+
API提供
+
RPaaS
究極のDevOps
Clustrix
+
セルフマネージメントツール
データベースクラウド
DevOps推進
35
Agenda
1. Clustrixの導入からこれまでの運用実績
2. 社内データベースクラウド環境の提供
3. Clustrix運用の裏話
36
Clustrix運用の裏話
運用の裏話
• がんばったこと
• KPI見える化
• 各種監視
37
Clustrix運用の裏話
38
Clustrix運用の裏話
運用の裏話
• 苦労したこと
• 運用人数
• テーブル数の上限?
• Clustrix ≠ MySQL
• 共有環境ならではの‥
39
Clustrix運用の裏話
運用の裏話
• よかったこと
• パフォーマンス
• 管理の統合
• No Fragmentationでエコ
• 最高のサポート!
40
Clustrix運用の裏話
運用の裏話
• 今後のClustrixに期待すること
• リソース制御
• ローリングアップグレード
• グローバルでの勢力拡大!
41
最後に
Clustrixにご興味持っていただけた方
まずはこちらから
AWS
http://www.clustrix.com/company/partners/
ソフトウェアフリートライアル
http://www.clustrix.com/free-trial/
42
Thank you!