SlideShare une entreprise Scribd logo
1  sur  10
ConsistencyLevel 株式会社ムロドー とみたかずたか
全回アジェンダ cassandraを複数で立ち上げる コンシステンシーレベルとは ゴシッププロトコル? 複数ノードで異なる設定 巨大なデータを入れてみる ノードのスプリットブレイン
アジェンダ ConsistencyLevelとは? データは何処にあるのか? データは何処まで書き込まれるのか? データは何時書き込まれるのか? データを読み込む
データは何処にあるのか?(Partition) 複数ノードを立ち上げた時に実際データは何処にあるのか storage-conf.xmlのPartitionerがorg.apache.cassandra.dht.RandomPartitionerの場合 (デフォルト)、キーをMD5でHash値化した値を整数とみなし、0から2^127の間の 各ノードが持つレンジに割り当てる。 例) KS「TimeStampSimpleTrees」、CF「SimpleTrees」、 key「3」、Column「id」データの場合 TimeStampSimpleTrees.SimpleTrees['3']['id'] keyをmd5でハッシュ化->「314755909755515592000481005244904880883」 Nodetoolより pompadour@zaku2-F-1:~$ nodetool --host 192.168.1.104 ring Address       Status     Load          Range                                      Ring                                        123621947362397555094783433836216926846     192.168.1.106 Up         21.53 MB      4368941974377008489670679703283346037      |<--| 192.168.1.6   Up         11.01 MB      53716703941129153059732412441632990819     |   | 192.168.1.104 Up         4.37 MB       72360816833403413813516172818645147903     |   | 192.168.1.109 Up         10.95 MB      123621947362397555094783433836216926846    |-->| 192.168.1.109のキー「123621947362397555094783433836216926846」より大きい よってプライマリレプリカは「192.168.1.106」
データは何処まで書き込まれるのか? 複数ノードを立ち上げた時にデータはどのノードに書き込まれるのか? storage-conf.xmlのReplicaPlacementStrategyがRackUnawareStrategyの場合 (デフォルト)、 ring上で隣り合うn-1分、右のノードまで書き込む。(next 2-1 nodes) N=ReplicationFactor 例) key「3」のハッシュ化->「314755909755515592000481005244904880883」 ReplicationFactor=2 2-1ノード右まで 192.168.1.106 4368941974377008489670679703283346037 192.168.1.6 53716703941129153059732412441632990819 192.168.1.109  123621947362397555094783433836216926846  192.168.1.104 72360816833403413813516172818645147903
thriftAPIで見てみる thriftAPIのdescribe_ringを使用してリング情報を取得する。 例) KS「TimeStampSimpleTrees」のringを取得 ReplicationFactor=2 結果を成形 [ TokenRange( end_token='123621947362397555094783433836216926846', start_token='72360816833403413813516172818645147903',         endpoints=['192.168.1.109', '192.168.1.106']), TokenRange( end_token='72360816833403413813516172818645147903', start_token='53716703941129153059732412441632990819',        endpoints=['192.168.1.104', '192.168.1.109']), TokenRange( end_token='4368941974377008489670679703283346037', start_token='123621947362397555094783433836216926846',        endpoints=['192.168.1.106', '192.168.1.6']), TokenRange( end_token='53716703941129153059732412441632990819', start_token='4368941974377008489670679703283346037',        endpoints=['192.168.1.6', '192.168.1.104']) ] 「3」のhash値「314755909755515592000481005244904880883」は 「 192.168.1.109」, 「192.168.1.6」に格納される。
データは何時書き込まれるのか? 複数ノードを立ち上げた時に実際データは何時書き込まれるのか? ReadOP ConsistencyLevelZERO memtable Flush Memory Disk SSTable SSTable SSTable WriteOP CommitLog YES Forlocal No YES Withhints WriteHints No MessageSenttoothernode
データは何時書き込まれるのか? 複数ノードを立ち上げた時に実際データは何時書き込まれるのか? ConsistencyLevel  その他 CommitLog YES Forlocal No YES Withhints WriteHints WriteOP No Sentmessagestoothernode Returnmessagefromothernode
データを読み込む 複数ノードの場合データはどの様に呼び出されるのか? 対応しているのは現状ConsistencyLevel.ONEとConsistencyLevel. QUORUMのみ。 「ONE」: 最初に接続要求のあったノードによって返されたレコードを返答。 	一貫性を保持するためにバックグラウンド系で常時チェックを実行。 	最初の要求で古いデータを返答したとしても、その後の呼び出しで 正しいデータを返答。(「リードリペア」と呼ばれます。) 「QUORUM」: いったん全てのノードに問い合わせを行い、レプリカも含めた 返答データの内、	最も新しいTimeStampを持つレコードを返答。 	古いレコードを持つレプリカはバックグラウンドでチェックされる。
宣伝 日経BP様より依頼があって日経Linuxに記事書きました。 でも原稿提出してからレスポンスが殆どないので本当に掲載されるか分かりません。W 内容はAmazonEC2で複数ノードのCassandraを使うです。 質問等有れば連絡ください。 	twitter:railute blog:http://www.intheforest.jp/blog/          e-mail:tomitakazutaka@gmail.com

Contenu connexe

Tendances

インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
 
Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
2t3
 
社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]
Keme Sato
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
yuzorock
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
Kazuya Yokogawa
 
Quick Introduction to GlusterFS
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFS
Etsuji Nakai
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
Takashi Takizawa
 

Tendances (20)

インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
はじめるCassandra
はじめるCassandraはじめるCassandra
はじめるCassandra
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
The rethinkingofrepair
The rethinkingofrepairThe rethinkingofrepair
The rethinkingofrepair
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]社内勉強会02 シリアライズ[公開用]
社内勉強会02 シリアライズ[公開用]
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
 
Cpu cache arch
Cpu cache archCpu cache arch
Cpu cache arch
 
Code jp2015 cpuの話
Code jp2015 cpuの話Code jp2015 cpuの話
Code jp2015 cpuの話
 
Cassandra0.7
Cassandra0.7Cassandra0.7
Cassandra0.7
 
Quick Introduction to GlusterFS
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFS
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 

En vedette

C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi UmedaC22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Insight Technology, Inc.
 

En vedette (6)

C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi UmedaC22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
 
Gossip事始め
Gossip事始めGossip事始め
Gossip事始め
 
Cassandra3.0
Cassandra3.0Cassandra3.0
Cassandra3.0
 
CaSSanDra: An SSD Boosted Key-Value Store
CaSSanDra: An SSD Boosted Key-Value StoreCaSSanDra: An SSD Boosted Key-Value Store
CaSSanDra: An SSD Boosted Key-Value Store
 
なぜApache HBaseを選ぶのか? #cwt2013
なぜApache HBaseを選ぶのか? #cwt2013なぜApache HBaseを選ぶのか? #cwt2013
なぜApache HBaseを選ぶのか? #cwt2013
 
5分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj20145分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj2014
 

Similaire à Consistency level

20101220 pixiv tech_meeting
20101220 pixiv tech_meeting20101220 pixiv tech_meeting
20101220 pixiv tech_meeting
semind
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Yoshinori Matsunobu
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
Insight Technology, Inc.
 

Similaire à Consistency level (19)

20101220 pixiv tech_meeting
20101220 pixiv tech_meeting20101220 pixiv tech_meeting
20101220 pixiv tech_meeting
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
 
Mmo game networking_1
Mmo game networking_1Mmo game networking_1
Mmo game networking_1
 
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
 
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだGPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
論文紹介: An empirical evaluation of in-memory multi-version concurrency control論文紹介: An empirical evaluation of in-memory multi-version concurrency control
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
 
はじめてのAmazon Redshift
はじめてのAmazon RedshiftはじめてのAmazon Redshift
はじめてのAmazon Redshift
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
AWS Black Belt Techシリーズ Amazon Redshift
AWS Black Belt Techシリーズ  Amazon RedshiftAWS Black Belt Techシリーズ  Amazon Redshift
AWS Black Belt Techシリーズ Amazon Redshift
 

Plus de Kazutaka Tomita (10)

Apache cassandra nio
Apache cassandra nioApache cassandra nio
Apache cassandra nio
 
Apache Cassandra 入門編
Apache Cassandra 入門編Apache Cassandra 入門編
Apache Cassandra 入門編
 
Apache cassandra 最前線
Apache cassandra 最前線Apache cassandra 最前線
Apache cassandra 最前線
 
Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析
 
Cassandra2017
Cassandra2017Cassandra2017
Cassandra2017
 
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォームApache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
 
Cassandra compaction
Cassandra compactionCassandra compaction
Cassandra compaction
 
米国の事例で学ぶCassandra
米国の事例で学ぶCassandra米国の事例で学ぶCassandra
米国の事例で学ぶCassandra
 
Cassandra12to20
Cassandra12to20Cassandra12to20
Cassandra12to20
 
What is row level isolation on cassandra
What is row level isolation on cassandraWhat is row level isolation on cassandra
What is row level isolation on cassandra
 

Dernier

Dernier (11)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

Consistency level