SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
分散合意の動機的な何か
-主にRiakのはなし-
夏の自由研究発表会2013.10
ぼく
・さいさ(@saisa6153)
・ぎーびす
・しゃちく
まずは分散に行き着くまで
・Fluentd使ったログ周り改善のお仕事
・DBとかは好きに決めてよかった
 →どうせならMySQL以外で
・”Riakってのがアツい”らしい
・しかし情報がないので調べる
 →✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌楽しい
まずriakとはなんぞ
5分でわかる
@saisa6153
とは
マスターレス分散KVS
Amazon S3的な
dev/dev1/bin/riak start
dev/dev2/bin/riak start
dev/dev3/bin/riak start
dev/dev2/bin/riak-admin cluster join dev1@127.0.0.1
dev/dev3/bin/riak-admin cluster join dev1@127.0.0.1
dev/dev2/bin/riak-admin cluster plan
dev/dev3/bin/riak-admin cluster plan
dev/dev2/bin/riak-admin cluster commit
dev/dev3/bin/riak-admin cluster commit
dev1
dev3dev2
127.0.0.1:10017
127.0.0.1:10037127.0.0.1:10027
riak概要
課金装備
多彩なアクセス方法
コア機能
便利機能
ストレージエンジン的な
Riak Ring
・設定によって読み込み/書き込みを保証できる
 (速度とのトレードオフ)
・物理マシンの上に仮想ノード(vnode)
・可用性に特化
・valueはバイナリを含めどんな形式でもOK
r/w保証
課金装備:DC間レプリケーション
利点
SPoFにならない
ノードを追加するだけで
スケール
欠点
資料が少ない
まだそんなに使われていない
実績がない
あるんだろうけど表に出にくい
Mongoと比べると
primary
fluentd
fluentd
secondary
レプリケーショ
ン
fluentd
ping
ping
arbiter
Apache
Apache
riak
node0
riak
node1
fluentd
fluentd
fluentd
簡単!!!
つまりRiakの何がそんなに楽しいのか
・使ってる人が少ない
 →マイナーな俺カッコイイ!!!
・Erlang製
 →マイナーな俺カッコイイ!!!
あとDBとか以外でも
スケールアップ vs スケールアウト
スケールアップのネガキャン
スケールアップだと
・HW的な限界が近め
・金がかかる
・性能を引き出すのが大変
スケールアウトだと
・しょぼいPCを並べればおk
・安いの沢山買えばいい
・MapReduceとか進んでるし
スケールアウトするには
・沢山の
・しょぼいPCに
・作業を分担して
働いてもらう
→分散処理
分散合意:分散処理を支える技術
・みんなに仲良く働いてもらうしくみ
・むずかしい
・勉強中
まとめ
・riak良いよ
・分散とか楽しい
・スケールアップより実務でも使える
・来年は分散処理の原理を発表できたらいいなぁ

Más contenido relacionado

La actualidad más candente

ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムShinsuke Sugaya
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門Shinsuke Sugaya
 
トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編Kentaro Yoshida
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"Kentaro Yoshida
 
今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれTatsuro Hisamori
 
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Shinsuke Sugaya
 
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発Shinsuke Sugaya
 
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessShinsuke Sugaya
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールShinsuke Sugaya
 
20201102 postgresql unconference_debility
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debilitySatoshi Hirata
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Shinsuke Sugaya
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記Yugo Shimizu
 
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法Shinsuke Sugaya
 
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境Shinsuke Sugaya
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころShinsuke Sugaya
 
Elasticsearchのサジェスト機能を使った話
Elasticsearchのサジェスト機能を使った話Elasticsearchのサジェスト機能を使った話
Elasticsearchのサジェスト機能を使った話ktaro_w
 
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessElasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessShinsuke Sugaya
 
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介Kentoku
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshimaKosuke Kida
 

La actualidad más candente (20)

ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門
 
トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編トレジャーデータ 導入体験記 リブセンス編
トレジャーデータ 導入体験記 リブセンス編
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
 
今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ今更聞けないストリーム処理のあれとかこれ
今更聞けないストリーム処理のあれとかこれ
 
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
 
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
 
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
 
20201102 postgresql unconference_debility
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debility
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
 
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
 
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
 
Elasticsearchのサジェスト機能を使った話
Elasticsearchのサジェスト機能を使った話Elasticsearchのサジェスト機能を使った話
Elasticsearchのサジェスト機能を使った話
 
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessElasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
 
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshima
 

Más de Yuuki Tan-nai

Riakはなぜ良いのか
Riakはなぜ良いのかRiakはなぜ良いのか
Riakはなぜ良いのかYuuki Tan-nai
 
SQLドリルの話(仮)
SQLドリルの話(仮)SQLドリルの話(仮)
SQLドリルの話(仮)Yuuki Tan-nai
 
Infernoについて(仮)
Infernoについて(仮)Infernoについて(仮)
Infernoについて(仮)Yuuki Tan-nai
 
DB技術[実践]入門を読んだ
DB技術[実践]入門を読んだDB技術[実践]入門を読んだ
DB技術[実践]入門を読んだYuuki Tan-nai
 
InfernoのLTを今作ったので聞いて欲しい
InfernoのLTを今作ったので聞いて欲しいInfernoのLTを今作ったので聞いて欲しい
InfernoのLTを今作ったので聞いて欲しいYuuki Tan-nai
 
献血とPerlについて
献血とPerlについて献血とPerlについて
献血とPerlについてYuuki Tan-nai
 
献血に行ってきた
献血に行ってきた献血に行ってきた
献血に行ってきたYuuki Tan-nai
 
Niigata rb発表資料
Niigata rb発表資料Niigata rb発表資料
Niigata rb発表資料Yuuki Tan-nai
 
私の失敗道(仮)
私の失敗道(仮)私の失敗道(仮)
私の失敗道(仮)Yuuki Tan-nai
 

Más de Yuuki Tan-nai (12)

Riakはなぜ良いのか
Riakはなぜ良いのかRiakはなぜ良いのか
Riakはなぜ良いのか
 
Casper導入資料
Casper導入資料Casper導入資料
Casper導入資料
 
SQLドリルの話(仮)
SQLドリルの話(仮)SQLドリルの話(仮)
SQLドリルの話(仮)
 
Infernoについて(仮)
Infernoについて(仮)Infernoについて(仮)
Infernoについて(仮)
 
DB技術[実践]入門を読んだ
DB技術[実践]入門を読んだDB技術[実践]入門を読んだ
DB技術[実践]入門を読んだ
 
Infernoの話
Infernoの話Infernoの話
Infernoの話
 
InfernoのLTを今作ったので聞いて欲しい
InfernoのLTを今作ったので聞いて欲しいInfernoのLTを今作ったので聞いて欲しい
InfernoのLTを今作ったので聞いて欲しい
 
献血とPerlについて
献血とPerlについて献血とPerlについて
献血とPerlについて
 
献血に行ってきた
献血に行ってきた献血に行ってきた
献血に行ってきた
 
Niigata rb発表資料
Niigata rb発表資料Niigata rb発表資料
Niigata rb発表資料
 
RFC4627 Reading
RFC4627 ReadingRFC4627 Reading
RFC4627 Reading
 
私の失敗道(仮)
私の失敗道(仮)私の失敗道(仮)
私の失敗道(仮)
 

分散合意の動機的な何か