Recommended
PDF
Apache CloudStack コントリビューション
PDF
PPTX
node.js 開発のためのお手軽サーバ構築について(仮)
PDF
PDF
PDF
PDF
Node.js Tutorial at Hiroshima
PDF
PDF
Ruby way-openstack.keynote
PPTX
PPT
PDF
PDF
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
PDF
PDF
PPTX
Node.js×mongo dbで3年間サービス運用してみた話
PDF
PPTX
GitLab Meetup Tokyo#2 Rancher gitlab container registry
PDF
PDF
PDF
PDF
PDF
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2
PPTX
FreeBSD VPSでLive Migration
PDF
PDF
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
PDF
20110517 okuyama ソーシャルメディアが育てた技術勉強会
PDF
Guide to Cassandra for Production Deployments
More Related Content
PDF
Apache CloudStack コントリビューション
PDF
PPTX
node.js 開発のためのお手軽サーバ構築について(仮)
PDF
PDF
PDF
PDF
Node.js Tutorial at Hiroshima
PDF
What's hot
PDF
Ruby way-openstack.keynote
PPTX
PPT
PDF
PDF
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
PDF
PDF
PPTX
Node.js×mongo dbで3年間サービス運用してみた話
PDF
PPTX
GitLab Meetup Tokyo#2 Rancher gitlab container registry
PDF
PDF
PDF
PDF
PDF
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2
PPTX
FreeBSD VPSでLive Migration
PDF
PDF
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Similar to 分散Key/Valueストア Kai事例紹介
PDF
20110517 okuyama ソーシャルメディアが育てた技術勉強会
PDF
Guide to Cassandra for Production Deployments
PDF
PDF
PDF
Kai = (Dynamo + memcache API) / Erlang
PDF
20110519 okuyama tokyo_linuxstudy
PDF
PDF
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
PDF
PDF
PPTX
開発者向けAlfrescoのご紹介(2013/03/27 JJUG ナイトセミナー「Java製OSS特集」発表資料)
PPT
PDF
Google Compute EngineとGAE Pipeline API
PDF
Google Compute EngineとPipe API
PDF
PDF
InfoTalk springbreak_2012
PDF
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
PDF
PPTX
PDF
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
分散Key/Valueストア Kai事例紹介 1. 2. 自己紹介
橋本智哉 ( はしもと ともや )
goo の仕事を始めたのは 2001 年
主にシステムの設計とか環境構築を担
当
今まで関わったサービス
◦ goo ホーム・ブックマーク・あしあと ( 現
)
◦ goo トップ ( 現 )
◦ goo ブログ
◦ goo 音楽・映画・ゲーム
◦ etc… 2
3. 4. Kai の紹介
分散型 Key/Value ストア
Amazon Dynamo のオープンソース実装
当然、 Erlang で書かれています
4
5. Kai の紹介
memcached プロトコル互換
◦ get/set/stats/version/delete をサポート
P2P アーキテクチャによるクラスタ
◦ マスターノードがいない
◦ ノードを増減設しても勝手に再配置
Consistent Hashing
5
6. Kai について
本日の主催者井上さんらを中心に鋭意開
発中
http://kai.sf.net/
井上さん・幾田さん・橋本で gihyo.jp
に寄稿いたしました
http://gihyo.jp/dev/feature/01/kai
6
7. goo ホームについて
サービス開始から 1.5
年
◦ 2007 年1 0 月に開始
オープンな SNS
◦ 招待状不要の登録制
◦ 未登録ユーザでも参照
は可能
7
8. goo ホームについて
OpenSocial v0.8.1 に対応
◦ ガジェットが使えます
外部サービスを更新情報として取り込みま
す
◦ goo 以外の多数のサービスにも対応
デザインテンプレート
◦ 好みのデザインに着せ替えることができます
8
9. OpenSocial 対応
OpenSocial v0.8.1 に対応
◦ 日本のサービスでここまでサポートするのは初
◦ デベロッパーの皆さんを募集中です
goo ホームサンドボックス http://sandbox.home.goo.ne.jp/
9
10. 外部サービスの取り込み
goo 以外のサービスも積極的に取り込みま
す
◦ スタート時点で29のサービスに対応
◦ 要望を聞きながらさらに追加予定
10
11. アクティビティストリーム
更新情報を見やすく一覧表示
◦ 外部サービスの更新を表示
◦ ガジェットからも追加可能
◦ マイページでは友達の更新情報
を表示
◦ プロフィールでは自分の更新情
報のみを表示
11
12. goo ホームでの Kai の利用
2009 年 5 月に商用サービスで利用開始
◦ たぶん Kai の商用環境初デビュー
システムの一部に試験的に導入
◦ Activity のみを Kai に格納
◦ それ以外のデータは MySQL に格納
12
13. goo ホームでの Kai の利用
3 ノードの最小構成
◦ dets を利用して HDD に格納
◦ Xeon 5148 @ 2.33GHz × 2
◦ 4GByte メモリ
150 万件 /3GByte のデータを格納
◦ 今のところ大きなトラブルはなし
13
14. goo ホームでの Kai の利用
PHP 5.2 + PECL memcache 2.2.5 から利
用
◦ PECL memcached ではない
http://pecl.php.net/package/memcache
memcached と組み合わせて使用
◦ Kai の出力は memcached にキャッシュ
14
15. 実運用を始めてみて
ファイルディスクリプタ数の変更が漏れ
た
◦ 運用を始めたとたん、ファイルがオープンで
きなくてノードが落ちた
◦ 一定の負荷をかけないと見つからないので注
意しましょう
$ cat /etc/security/limits.conf
t-hashi soft nofile 49152
t-hashi hard nofile 49152
15
16. 実運用を始めてみて
ノードの復帰手順をミスして問題発生
◦ Write/Write Conflict が大量発生してエラー
頻発
Write/Write Conflict
◦ 同じキーを持つデータがクラウド上の複数存
在してしまう状態
16
17. Write/Write Conflict はこうして
起きた
② 脱落していたこ
とに気付かず set す
A’ る
node5 node5
A A
① 脱落
node4 node4
node3 node3
node2 node2
node1 node1
17
18. Write/Write Conflict はこうして
起きた
③ そのまま復帰さ
せてしまった ◦ この状態で A を get
A
A’ すると A と A’ が両
node5 node4
方とも返ってくる
◦ memcached クライア
node2
node3 ントによって見え
方が変わる
node1
18
19. 課題
Write/Write Conflict への対応
◦ アプリ側で対処したくても対応しているクラ
イアントがない
パッケージング
◦ apt とか rpm とか気の利いたことが手つかず
19
20. 感想
ノードの管理はそれなりに必要
◦ 死活監視だけでは不十分
◦ 仲間はずれがいないか常に見てあげる必要あ
り
それでも運用は簡単
◦ RDB に比べればチューニングポイントがない
◦ 足りなくなったら足すだけ
20
21. 感想
おすすめします
◦ 永続的な Key/Value ストアを考えている人は
検討に加えてみてください
◦ パッケージングなどはそのうち解決すると思
われます
◦ 負荷テストは必ずやってみてください
21
22.