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
Couchbase Serverのサーバ移管と2.1から3.0.1へのバージョンアップ
Search
Daichi Koike
July 22, 2015
Technology
0
12
Couchbase Serverのサーバ移管と2.1から3.0.1へのバージョンアップ
Daichi Koike
July 22, 2015
Tweet
Share
More Decks by Daichi Koike
See All by Daichi Koike
俺たちはなぜコードレビューをするのか
daichike
0
170
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
daichike
0
29
カヤックの組織課題を解決する人事データベースシステム
daichike
0
22
DP4版と侮るなかれ!現時点でもN1QLは実用に耐えうる/Couchbase Live Tokyo 2015
daichike
0
13
Couchbase Serverを用いた大規模データ収集基盤/db tech showcase 東京 2014
daichike
0
18
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
180
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
310
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
330
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
440
国井さんにPurview の話を聞く会
sophiakunii
1
340
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
140
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
380
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
6
2.9k
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
94
Odyssey Design
rkendrick25
PRO
0
450
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Side Projects
sachag
455
43k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
82
Large-scale JavaScript Application Architecture
addyosmani
515
110k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Embracing the Ebb and Flow
colly
88
4.9k
A better future with KSS
kneath
240
18k
Making Projects Easy
brettharned
120
6.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
76
Transcript
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. Couchbase Serverのサーバ移管と
2.1から3.0.1へのバージョンアップ 株式会社サイバード ビジネス戦略統括本部 小池 大地 (Daichi KOIKE) 2015年7月22日 1 Couchbase MeetUP Tokyo - #14
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 自己紹介 小池
大地 (Daichi KOIKE) • 2013年4月新卒入社 • iOS共通システム開発 • ときどきサーバ •
[email protected]
2
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 本日伝えたいこと •
AWSにサーバ移管しました • 平行して2.1から3.0.1にバージョンアップしました • XDCRを使わず、バックアップ&リストアの方法で データを移行しました 3
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 4 システムの概要
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. ビジネス上の課題1 従来のWebアプリからネイティブアプリへの移行が進み、
サーバ内に自動的に残るログが減少しているため、意図 的にデータを収集する必要がある。 5
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. ビジネス上の課題2 Google
Analyticsなどの外部解析ツールはユーザに着 目した分析が困難なので、社内に複数アプリにまたがって ユーザを分析する環境が欲しい。 6
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 本システムの目的 アプリ横断的な集計・分析が
可能な基盤を作ること (2013年11月) 7
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. サーバの課題1 -
可用性 複数アプリから常にアクセスされるため、システムダウンは 許されない。障害時においてもシステムを完全に停止させ るのではなく、縮退運転をさせる必要がある。 8
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. サーバの課題2 -
拡張性 トラフィックが急激に増加するゲームアプリのイベントにも 耐えられなければならない。即座にスケールアウトできる ことが重要。 9 イベント 発生
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. サーバの課題3 -
データ構造 アプリごとに取得データが異なるため、柔軟なデータ構造 が求められる。 10
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. サーバ構成 11
Webサーバ MariaDB データ集計 Couchbase Server データ蓄積 バッチ処理・ データ可視化サーバ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. サーバ構成 12
Webサーバ MariaDB データ集計 Couchbase Server データ蓄積 バッチ処理・ データ可視化サーバ 表側 裏側
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 13 移管について
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 14 1月にAWSに移管しました
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管の要件 •
常時アクセスされる共通システムのため、オンラインで 移管しなければならない • リアルタイム処理は行っていないため、バッチ処理が走 る深夜時間までに移管が完了していればよい 15
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. ついでに メモリ内のメタデータ占有率が50%超えのアラートがよく
発生していた。 16 IPアドレス IPアドレス IPアドレス IPアドレス
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. ついでに 3系からドキュメント削除時にメモリ内のKeyとメタデータ
も完全に削除するオプションが追加されているので、2系 から3系にバージョンアップしたい(2系ではValueが削除 されるのみ)。 17
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1 自社環境クラスタとAWSクラスタで、XDCRによるクラス
タ間の双方向レプリケーションを使う。 18 自社クラスタ AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1 19
自社クラスタ 事前にレプリケーションを設定 AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1 20
DNS切り替え 自社クラスタ AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1 21
DNS切り替え こちらにアクセスが来ても XDCRで同期される 自社クラスタ AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の良い点 •
レプリケートができていれば、当日はDNS切り替えだけ でむので圧倒的に楽 • 移管に失敗した際に元の環境に切り戻すのも楽 22
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の良い点 •
レプリケートができていれば、当日はDNS切り替えだけ でむので圧倒的に楽 • 移管に失敗した際に元の環境に切り戻すのも楽 23 当日作業が楽!!
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の悪い点 •
XDCRではデータは平文で転送されるので、VPN接続 をするなどの対応が必要(※3系では暗号化可能) • クcが一致していないといけない 24
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の悪い点 •
XDCRではデータは平文で転送されるので、VPN接続 をするなどの対応が必要(※3系では暗号化可能) • クラスタ間でCouchbase Serverのバージョンが一致し ていないといけない クラスタ内でバージョンの違うノードが混在できるので、 バージョンがばらばらでも可能だと思っていた…。 25
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の悪い点 •
XDCRではデータは平文で転送されるので、VPN接続 をするなどの対応が必要(※3系では暗号化可能) • クラスタ間でCouchbase Serverのバージョンが一致し ていないといけない クラスタ内でバージョンの違うノードが混在できるので、 バージョンがばらばらでも可能だと思っていた…。 26 不採用
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案1の悪い点 •
XDCRではデータは平文で転送されるので、VPN接続 をするなどの対応が必要(※3系では暗号化可能) • クラスタ間でCouchbase Serverのバージョンが一致し ていないといけない クラスタ内でバージョンの違うノードが混在できるので、 バージョンがばらばらでも可能だと思っていた…。 27 不採用 追記 クラスタ間のCouchbase Serverのバージョンが バラバラでもXDCRは使えるとのことです。
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2 自社環境クラスタのフルバックアップを取得し、AWSクラ
スタでリストアするというXDCRを使わない手法。 28 AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2 29
事前にクラスタの フルバックアップをリストア 自社クラスタ AWSクラスタ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2 30
自社クラスタ AWSクラスタ DNS切り替え
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2 31
自社クラスタ AWSクラスタ DNS切り替え 自前でAWS側に送る
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2の良い点 •
2系のバックアップを3系にリストアできるため、バージョ ンアップも同時にできる • 事前準備が楽 32
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2の悪い点 •
移管に失敗した際に元の環境に切り戻すのに手間がか かる • DNS切り替え後に自社環境にアクセスされたデータを 自前でAWS側に送る仕組みが必要 33
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 移管案2の悪い点 •
移管に失敗した際に元の環境に切り戻すのに手間がか かる • DNS切り替え後に自社環境にアクセスされたデータを 自前でAWS側に送る仕組みが必要 34 ちょっとしんどい。
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 35 バージョンアップもしたいので
移管案2を採用
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 2.1→3.0.1へ 当初3.0にしようとしたが、ノードの追加、削除時のリバラ
ンスが止まるなど不安定だったため3.0.1に変更した。 3.0.1では問題なく動作することを確認。 クライアントは2013年10月リリースのPHP SDK 1.2だが 問題なく動作したのでアプリケーション側は変更なし。 4.0 Beta 1でも使えた。 36 IPアドレス
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 前日作業 1.
フルバックアップの取得処理 $ cbbackup http://[HOST]:8091 \ /my/path/couchbase_backup \ -u [USERNAME] -p [PASSWORD] -b [BUCKET] 2. リストア処理。大体3~4時間ほどで完了 $ cbrestore /my/path/couchbase_backup \ http://[HOST]:8091 \ -u [USERNAME] -p [PASSWORD] -b [BUCKET] 37
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 当日作業 3.
リストア処理の確認 4. 前日のバックアップ取得以降のデータをAWS側に書き 込み 5. 最終動作確認 6. DNS切り替え 38
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 作業の流れ 39
前日データ 当日データ
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 作業の流れ 40
前日データ 当日データ フルバックアップ ↓ リストア
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 作業の流れ 41
前日データ 当日データ フルバックアップ ↓ リストア 手動で 書き込み
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 作業の流れ 42
前日データ 当日データ これ以降バッチ フルバックアップ ↓ リストア 手動で 書き込み
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 3.0.1にした結果 •
Viewがかなり高速になった。複雑なクエリを投げても 1秒かからない • リバランスが速くなった。検証では従来の2倍ほどの 速度に 43
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 3.0.1にした結果 メモリ内もすっきりした(ゴミが消えたのもあるでしょうが)。
44 31.4GB 19GB
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 3.0.1にした結果 クラスタに名前が付けられるようになった。
45
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 46 トラブルもなく移管完了
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 随所に染み渡る思想 「開発者がリラックスして、カウチソファに座ってい
るようにデータベースの設計・構築・運用ができる ように」 47
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 告知 8/31(月)のCouchbase
Live Tokyoで、 「N1QLのDeveloper Preview 4を社内ツールに入れて みたよ」という話をします。 48 IPアドレス
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 告知 Couchbase
Mobile ワークショップ 日程: 9/1(火) 10:00 ~ 17:00 場所: Theatre CYBIRD ご飯も出るらしいですよ。 49
Copyright 2015 CYBIRD Co., Ltd. All Rights Reserved. 最後に エンジニア募集中です!
50