Enviar búsqueda
Cargar
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
•
17 recomendaciones
•
7,112 vistas
Insight Technology, Inc.
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 83
Descargar ahora
Descargar para leer sin conexión
Recomendados
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Recomendados
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
例外設計における大罪
例外設計における大罪
Takuto Wada
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Insight Technology, Inc.
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
Fujishiro Takuya
Más contenido relacionado
La actualidad más candente
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
例外設計における大罪
例外設計における大罪
Takuto Wada
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
La actualidad más candente
(20)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
TLS, HTTP/2演習
TLS, HTTP/2演習
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
DockerとPodmanの比較
DockerとPodmanの比較
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
地理分散DBについて
地理分散DBについて
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
例外設計における大罪
例外設計における大罪
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
トランザクションの設計と進化
トランザクションの設計と進化
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
Docker Compose 徹底解説
Docker Compose 徹底解説
分散システムの限界について知ろう
分散システムの限界について知ろう
Similar a [C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Insight Technology, Inc.
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
Fujishiro Takuya
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
Insight Technology, Inc.
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
Masaya Ishikawa
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
Insight Technology, Inc.
Reckonerサービス紹介資料.pdf
Reckonerサービス紹介資料.pdf
YoshihiroKitamura4
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
griddb
de:code2018 登壇資料
de:code2018 登壇資料
Hiroshi Senga
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
Atomsystem
Atomsystem
HANAKOATOM
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
Kuniyasu Suzaki
20141203 tiberoセミナー講演資料
20141203 tiberoセミナー講演資料
tmaxsoftjpn
IoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL Edge
IoTビジネス共創ラボ
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
Shota Suzuki
Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版
Daichi Ogawa
ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012
智治 長沢
オールアバウトにおける技術への取り組み
オールアバウトにおける技術への取り組み
Kazuto Ohara
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
Yukio Kumazawa
Similar a [C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
(20)
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
Reckonerサービス紹介資料.pdf
Reckonerサービス紹介資料.pdf
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
de:code2018 登壇資料
de:code2018 登壇資料
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
Atomsystem
Atomsystem
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
20141203 tiberoセミナー講演資料
20141203 tiberoセミナー講演資料
IoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL Edge
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版
ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012
オールアバウトにおける技術への取り組み
オールアバウトにおける技術への取り組み
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
Más de Insight Technology, Inc.
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
Insight Technology, Inc.
Docker and the Oracle Database
Docker and the Oracle Database
Insight Technology, Inc.
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Insight Technology, Inc.
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
Insight Technology, Inc.
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
Insight Technology, Inc.
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Insight Technology, Inc.
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
Insight Technology, Inc.
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
Insight Technology, Inc.
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
Insight Technology, Inc.
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
Insight Technology, Inc.
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
Insight Technology, Inc.
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
Insight Technology, Inc.
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
Insight Technology, Inc.
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
Insight Technology, Inc.
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Insight Technology, Inc.
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
Insight Technology, Inc.
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
Insight Technology, Inc.
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
Insight Technology, Inc.
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Insight Technology, Inc.
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
Insight Technology, Inc.
Más de Insight Technology, Inc.
(20)
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
Docker and the Oracle Database
Docker and the Oracle Database
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
1.
db tech showcase
東京 2013 インメモリ分散KVSの弱点。 一貫性が崩れる原因と、 それを克服する技術とは? 2013/11/13 日立製作所 情報・通信システム社 ソフトウェア開発本部 第2AP基盤ソフト設計部 梅田多一
2.
自己紹介 © Hitachi, Ltd.
2013. All rights reserved.
3.
2000年入社 ・ミドルウェア開発 ・テクニカルサポート 仕事のスタイル ・TTP ・GNN DB Online http://enterprisezine.jp/dbonline/detail/5010 © Hitachi,
Ltd. 2013. All rights reserved. 2
4.
インメモリ分散KVSの弱点。 一貫性が崩れる原因と、それを克服する技術とは? Contents インメモリデータグリッドって何だ? インメモリデータグリッドの要素技術 強一貫性への挑戦! © Hitachi, Ltd.
2013. All rights reserved.
5.
インメモリ分散KVSの弱点。 一貫性が崩れる原因と、それを克服する技術とは? インメモリデータグリッドって 何だ? © Hitachi, Ltd.
2013. All rights reserved.
6.
インメモリデータグリッドって何だ? 登場の背景 © Hitachi, Ltd.
2013. All rights reserved. 5
7.
登場の背景 ・発信データの爆発的増加(Big Data) ・データを扱うミドルウェアへの要件として 大量発信データの高速処理、リアルタイム分析、大量蓄積データの高速検索、、 モ ノ
の発信 Bi g Data 電力メーター 運行情報 通話ログ 人 の発信 動画・画像・音声 コンテンツダウンロード SNS つぶやき カーナビ GPS 設備監視 物流トレース メール・オフィス文書 スマートフォン 監視映像 環境・気象データ データベース ICカード利用 人の移動 ネット購入 診断画像・ 電子カルテ © Hitachi, Ltd. 2013. All rights reserved. 6
8.
インメモリデータグリッドって何だ? 日立の取り組み © Hitachi, Ltd.
2013. All rights reserved. 7
9.
日立の取り組み ①uCosminexus Elastic Application
Data store(以下EADs)(C16) ②uCosminexus Stream Data Platform(C23) ③Hitachi Advanced Data Binder プラットフォーム(C32) ③大量蓄積データの高速検索 データ 現場の状況をいち早く把握 修理指示 売り場への指示 データ 問題の解決 新たな価値の提供 ①大量発信データの高速処理(インメモリデータグリッド) ②大量発信データのリアルタイム分析(CEP) © Hitachi, Ltd. 2013. All rights reserved. 8
10.
インメモリデータグリッドって何だ? 日立の案件 © Hitachi, Ltd.
2013. All rights reserved. 9
11.
日立の案件(電力) スマートメータ 収集サーバから出力される大量の検針値(30分値)を、 一定期間(40日)分DBに格納したい。 工場 検針値 1日分 オフィス 戸建 大量の検針値を 高速に受信 当日分メモリ保持、日次ジョブ実行による 一日分ファイル出力、一括DBロード © Hitachi, Ltd.
2013. All rights reserved. 10
12.
日立の案件(通信) メディエーション/TMS 交換機から出力される大量のRawCDRを、 課金システムや帯域制御システム向けのCDRに編集したい。 RawCDR: 接続開始/一定時間経過/HO発生/接続終了などのタイミングで出力される、 接続ID、接続時間、通信量などの情報。 CDR: 同一の接続に対する分割情報であるRawCDRを結合(通信量の合算など)した情報。 RawCDR CDR 大量の接続情報を 高速に受信 同一接続のデータ集合を イベントドリブンに編集 © Hitachi, Ltd.
2013. All rights reserved. 11
13.
インメモリデータグリッドって何だ? インメモリデータグリッドの 3つの特徴 © Hitachi, Ltd.
2013. All rights reserved. 12
14.
インメモリデータグリッドの3つの特徴 ①インメモリKVSである © Hitachi, Ltd.
2013. All rights reserved. 13
15.
インメモリデータグリッドの3つの特徴 ①インメモリKVS*である ・一意に識別可能な「キー」とそれに対応する「値」 で構成されるデータを保持するインメモリストア →レスポンス性能 * KVS: Key
Value Store Key Foo Application Server Value A インメモリKVS Bar Baz 0 A,0 © Hitachi, Ltd. 2013. All rights reserved. 14
16.
インメモリデータグリッドの3つの特徴 ②分散している © Hitachi, Ltd.
2013. All rights reserved. 15
17.
インメモリデータグリッドの3つの特徴 ②分散している ・複数サーバのメモリ上にデータを分散配置 →スループット性能と拡張性 Key Value Baz A,0 Key Foo A Bar Application Server Value 0 インメモリ分散KVS © Hitachi,
Ltd. 2013. All rights reserved. 16
18.
インメモリデータグリッドの3つの特徴 ③実行できる © Hitachi, Ltd.
2013. All rights reserved. 17
19.
インメモリデータグリッドの3つの特徴 ③実行できる ・同時に使うデータを同じ場所に集約する(Grouping*) ・ユーザロジックの分散実行(Distributed Code Execution*) →ネットワークトラフィックの削減とCPUの活用 *
JSR 347: Data Grids for the JavaTM Platform Key Value G2:Foo B G2:Bar 1 G2:Baz B,1 ユーザロジック Application Server インメモリデータグリッド Key Value G1:Foo A G1:Bar グループ処理 0 G1:Baz A,0 © Hitachi, Ltd. 2013. All rights reserved. 18
20.
インメモリデータグリッドって何だ? まとめ © Hitachi, Ltd.
2013. All rights reserved. 19
21.
インメモリデータグリッドって何だ? 大量発信データの高速処理(レスポンス、スループット、スケールアウト) を実現するために以下の特徴を持つもの ・インメモリKVSである ・分散している ・実行できる © Hitachi, Ltd.
2013. All rights reserved. 20
22.
インメモリ分散KVSの弱点。 一貫性が崩れる原因と、それを克服する技術とは? インメモリデータグリッドの 要素技術 (EADs分散基盤編 ) © Hitachi, Ltd.
2013. All rights reserved.
23.
インメモリデータグリッドの要素技術 コンシステントハッシング ~スループット性能向上~ © Hitachi, Ltd.
2013. All rights reserved. 22
24.
コンシステントハッシング ・サーバは232の範囲に等分配置 ・Keyのハッシュ値からマスタの保存先を決定 231-1 | -231 サーバ マスタ Hash(Foo) レンジ Put
Foo A EADs Tool © Hitachi, Ltd. 2013. All rights reserved. 23
25.
インメモリデータグリッドの要素技術 レプリケーション ~可用性向上~ © Hitachi, Ltd.
2013. All rights reserved. 24
26.
レプリケーション ・多重度定義に従いデータを複製 ・高速化のため非同期 231-1 | -231 スレーブ1 サーバ マスタ スレーブ2 Hash(Foo) レンジ Put
Foo A EADs Tool © Hitachi, Ltd. 2013. All rights reserved. 25
27.
レプリケーション ・1サーバは複数レンジのデータを保持 231-1 | -231 マスタ スレーブ1 スレーブ2 EADs
Tool © Hitachi, Ltd. 2013. All rights reserved. 26
28.
インメモリデータグリッドの要素技術 マスタ切替 ~可用性向上~ © Hitachi, Ltd.
2013. All rights reserved. 27
29.
マスタ切替(縮退時) ・ハートビートおよびヘルスチェックによる障害検知 ・サーバを切り離しマスタを切り替える 障害 231-1 | -231 スレーブ1 →マスタ EADs
Tool © Hitachi, Ltd. 2013. All rights reserved. 28
30.
マスタ切替(復旧時) ・運用機能によるサーバ追加 ・レンジ単位にデータ転送 復旧サーバ 復旧レンジ 転送速度 EADs Tool © Hitachi,
Ltd. 2013. All rights reserved. 29
31.
マスタ切替(復旧時) ・運用機能によるサーバ追加 ・レンジ単位にデータ転送 復旧サーバ 復旧レンジ 転送速度 EADs Tool © Hitachi,
Ltd. 2013. All rights reserved. 30
32.
マスタ切替(復旧時) ・運用機能によるサーバ追加 ・レンジ単位にデータ転送 復旧サーバ 転送速度 復旧レンジ EADs Tool © Hitachi,
Ltd. 2013. All rights reserved. 31
33.
マスタ切替(復旧時) ・サーバを追加しマスタを切り替える 復旧 EADs Tool © Hitachi,
Ltd. 2013. All rights reserved. 32
34.
インメモリデータグリッドの要素技術 整合性と一貫性 © Hitachi, Ltd.
2013. All rights reserved. 33
35.
整合性と一貫性 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える Foo=A Foo=A Foo=A Get Foo Get Foo →A →A ©
Hitachi, Ltd. 2013. All rights reserved. 34
36.
インメモリデータグリッドの要素技術 一貫性の3つの課題 © Hitachi, Ltd.
2013. All rights reserved. 35
37.
一貫性の3つの課題 ①複製順序不正による不整合 © Hitachi, Ltd.
2013. All rights reserved. 36
38.
一貫性の3つの課題 ①通信遅延⇒複製順序不正 ⇒不整合⇒マスタ切替(永久的障害時)⇒一貫性? ①Foo=A ②Foo=B ①Foo=A ②Foo=B ①Foo=B 遅延 ②Foo=A ①Put Foo A ②Put
Foo B 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える © Hitachi, Ltd. 2013. All rights reserved. 37
39.
一貫性の3つの課題 ②複製処理失敗による不整合 © Hitachi, Ltd.
2013. All rights reserved. 38
40.
一貫性の3つの課題 ②一時的障害(サーバ、ネットワーク)⇒複製処理失敗 ⇒不整合⇒マスタ切替(永久的障害時)⇒一貫性? Bar=0 失敗 Bar=01 Bar=01 成功 CAS Bar 0
1 CAS: Compare and Swap 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える © Hitachi, Ltd. 2013. All rights reserved. 39
41.
一貫性の3つの課題 ③スプリットブレインによる不整合 © Hitachi, Ltd.
2013. All rights reserved. 40
42.
一貫性の3つの課題 ③L2スイッチの障害⇒ネットワーク分断 ⇒複数マスタ⇒一貫性? マスタはこのサーバだ! スプリット ②Foo=B マスタはこのサーバだ! ①Foo=A ②Foo=B ②Put Foo B ①Put
Foo A 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える © Hitachi, Ltd. 2013. All rights reserved. 41
43.
インメモリデータグリッドの要素技術 参考 © Hitachi, Ltd.
2013. All rights reserved. 42
44.
インメモリデータグリッドの要素技術 ゴシッププロトコル ~一貫性向上~ © Hitachi, Ltd.
2013. All rights reserved. 43
45.
ゴシッププロトコル ・サーバ間で情報交換 ・古いデータは新しいデータで上書き ・マスタとスレーブの値がそのうち同じ(結果整合性) ・最新の値が見えるとは限らない 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える © Hitachi, Ltd.
2013. All rights reserved. 44
46.
インメモリデータグリッドの要素技術 リードリペア ~一貫性向上~ © Hitachi, Ltd.
2013. All rights reserved. 45
47.
リードリペア ・読み込み処理時に複数のサーバからデータを取得 ・古いデータは新しいデータで上書き ・マスタとスレーブの値がそのうち同じ(結果整合性) ・最新の値が見えるとは限らない(確度を調整可能(QUORUM)) 整合性:マスタとスレーブの値が同じ 一貫性:すべてのクライアントから最新の値が見える © Hitachi, Ltd.
2013. All rights reserved. 46
48.
インメモリデータグリッドの要素技術 まとめ © Hitachi, Ltd.
2013. All rights reserved. 47
49.
インメモリデータグリッドの要素技術 要素技術 ・コンシステントハッシング ・レプリケーション ・マスタ切替 ・ゴシッププロトコル ・リードリペア 一貫性の3つの課題 ①複製順序不正による不整合 ②複製処理失敗による不整合 ③スプリットブレインによる不整合 © Hitachi, Ltd.
2013. All rights reserved. 48
50.
インメモリ分散KVSの弱点。 一貫性が崩れる原因と、それを克服する技術とは? 強一貫性への挑戦! © Hitachi, Ltd.
2013. All rights reserved.
51.
強一貫性への挑戦! 解決へのアプローチ © Hitachi, Ltd.
2013. All rights reserved. 50
52.
解決へのアプローチ ①複製順序不正による不整合 ②複製処理失敗による不整合 ③スプリットブレインによる不整合 データ更新、ステータス更新に 分散合意アルゴリズムPaxos*を採用 * The Part-Time
Parliament LESLIE LAMPORT, 1998 © Hitachi, Ltd. 2013. All rights reserved. 51
53.
強一貫性への挑戦! Paxosとは © Hitachi, Ltd.
2013. All rights reserved. 52
54.
Paxosとは サーバの集合が同じ処理を同じ順番で実行するためのアルゴリズム Server1 Server2 Server3 1番目の処理 put(k1,v1) put(k1,v1) put(k1,v1) 2番目の処理 remove(k1) remove(k1) remove(k1) i番目の処理 put(k1,v2) put(k1,v2) put(k1,v2) 整合 キー k1 バリュー v2 © Hitachi, Ltd.
2013. All rights reserved. 53
55.
Paxosとは Proposer: 1. i番目の処理を提案 Acceptor: 2. Acceptor間で過半数承認(i番目の処理を合意) 3.
i番目の処理を実行 ※i-1番目までの処理を実行していなければ、 i-1番目までの処理を他のAcceptorから取得して実行(FillGaps) © Hitachi, Ltd. 2013. All rights reserved. 54
56.
強一貫性への挑戦! 一貫性保証のための3つの実装 © Hitachi, Ltd.
2013. All rights reserved. 55
57.
一貫性保証のための3つの実装 ①複製順序不正による不整合 の回避 © Hitachi, Ltd.
2013. All rights reserved. 56
58.
①複製順序不正による不整合の回避 Proposer:マスタを持つサーバ Acceptor:マスタ、スレーブ1、スレーブ2を持つサーバ+スペア*×2 * スペア:過半数承認用(2多重障害対応)。ストア操作なし。 サーバ1 put(k,v) レンジ用 Paxos 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 マスタ スレーブ1 スレーブ2 サーバ3 マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi,
Ltd. 2013. All rights reserved. 57
59.
①複製順序不正による不整合の回避 Proposer:i番目の処理を提案 Acceptor:Acceptor間で過半数承認(i番目の処理を合意) サーバ1 レンジ用 Paxos put(k,v) 実行 キュー 実行 スレッド ストア ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 i サーバ2 サーバ3 サーバ4 サーバ5 © Hitachi, Ltd.
2013. All rights reserved. 58
60.
①複製順序不正による不整合の回避 Acceptor:i番目の処理を実行 ”①複製順序不正による不整合”は発生しない! サーバ1 レンジ用 Paxos 実行 キュー put(k,v) 実行 スレッド ストア i マスタ スレーブ1 スレーブ2 i マスタ スレーブ1 スレーブ2 i マスタ スレーブ1 スレーブ2 サーバ2 サーバ3 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 59
61.
①複製順序不正による不整合の回避 サーバの集合が同じ処理を同じ順番で実行する 同じ処理ができなければ縮退(一貫性>可用性) サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド ストア put(k,v) マスタ スレーブ1 スレーブ2 i サーバ2 i 失敗 マスタ スレーブ1 スレーブ2 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 60
62.
一貫性保証のための3つの実装 ②複製処理失敗による不整合 の対処 © Hitachi, Ltd.
2013. All rights reserved. 61
63.
②複製処理失敗による不整合の対処 一時的障害(サーバ、ネットワーク) サーバ1 cas(k,v1,v2) レンジ用 Paxos 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 一時的障害 マスタ スレーブ1 スレーブ2 サーバ3 マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 62
64.
②複製処理失敗による不整合の対処 Proposer:i番目の処理を提案 Acceptor:Acceptor間で過半数承認(i番目の処理を合意) サーバ1 レンジ用 Paxos cas(k,v1,v2) i ok 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 マスタ スレーブ1 スレーブ2 一時的障害 サーバ3 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 サーバ4 サーバ5 © Hitachi, Ltd.
2013. All rights reserved. 63
65.
②複製処理失敗による不整合の対処 Acceptor:i番目の処理を実行 サーバ1 レンジ用 Paxos 実行 キュー cas(k,v1,v2) i 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 マスタ スレーブ1 スレーブ2 一時的障害 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 64
66.
②複製処理失敗による不整合の対処 不整合 サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド ストア cas(k,v2,v3) i サーバ2 マスタ スレーブ1 スレーブ2 不整合 マスタ スレーブ1 スレーブ2 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 65
67.
②複製処理失敗による不整合の対処 Proposer:i+1番目の処理を提案 Acceptor:Acceptor間で過半数承認(i+1番目の処理を合意) サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド ストア cas(k,v2,v3) i i+1 ok サーバ2 マスタ スレーブ1 スレーブ2 不整合 マスタ スレーブ1 スレーブ2 ok サーバ3 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 ok マスタ スレーブ1 スレーブ2 i サーバ4 サーバ5 © Hitachi, Ltd.
2013. All rights reserved. 66
68.
②複製処理失敗による不整合の対処 Acceptor:FillGapsをおこなってからi+1番目の処理を実行 サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド ストア cas(k,v2,v3) i i+1 サーバ2 マスタ スレーブ1 スレーブ2 不整合 FillGaps マスタ スレーブ1 スレーブ2 i+1 i サーバ3 i+1 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi,
Ltd. 2013. All rights reserved. 67
69.
②複製処理失敗による不整合の対処 不整合 永久的障害によるマスタ切替 サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド 永久的障害 サーバ2 get(k) ストア i マスタ スレーブ1 スレーブ2 不整合 マスタ マスタ スレーブ2 マスタ切替 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 68
70.
②複製処理失敗による不整合の対処 Acceptor:マスタ切替後はFillGapsをおこなってからgetを受付 ”②複製処理失敗による不整合”が発生しても一貫性を保証する! サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド 永久的障害 ストア i サーバ2 マスタ スレーブ1 スレーブ2 不整合 get(k) マスタ マスタ スレーブ2 FillGaps i マスタ切替 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi,
Ltd. 2013. All rights reserved. 69
71.
②複製処理失敗による不整合の対処 サーバの集合が同じ処理を同じ順番で実行する 同じ順番でできなければ縮退(一貫性>可用性) サーバ1 レンジ用 Paxos 実行 キュー 実行 スレッド 永久的障害 ストア i サーバ2 get(k) 失敗 マスタ スレーブ1 スレーブ2 不整合 マスタ マスタ スレーブ2 FillGaps マスタ切替 サーバ3 i マスタ スレーブ1 スレーブ2 サーバ4 マスタ スレーブ1 スレーブ2 サーバ5 マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 70
72.
一貫性保証のための3つの実装 ③スプリットブレインによる不整合 の対処 © Hitachi, Ltd.
2013. All rights reserved. 71
73.
③スプリットブレインによる不整合の対処 L2スイッチの障害 サーバ1 3× 4× 5× クラスタ用 Paxos 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 3× 4× 5× マスタ スレーブ1 スレーブ2 スプリット サーバ3 1× 2× マスタ スレーブ1 スレーブ2 サーバ4 1× 2× マスタ スレーブ1 スレーブ2 サーバ5 1× 2× マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 72
74.
③スプリットブレインによる不整合の対処 Proposer:障害を検知したサーバ Acceptor:すべてのサーバ サーバ1 3× 4× 5× クラスタ用 Paxos 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 3× 4× 5× マスタ スレーブ1 スレーブ2 スプリット サーバ3 1× 2× マスタ スレーブ1 スレーブ2 サーバ4 1× 2× マスタ スレーブ1 スレーブ2 サーバ5 1× 2× マスタ スレーブ1 スレーブ2 © Hitachi, Ltd.
2013. All rights reserved. 73
75.
③スプリットブレインによる不整合の対処 Proposer:i番目の処理を提案 Acceptor:Acceptor間で過半数承認(i番目の処理を合意) サーバ1 3× 4× 5× クラスタ用 Paxos i+2 i+1 i ok ok
ok 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 サーバ2 3× 4× 5× i+2 i+1 i ok ok ok マスタ スレーブ1 スレーブ2 スプリット サーバ3 1× 2× 合意 i+1 i ok ok マスタ スレーブ1 スレーブ2 サーバ4 1× 2× i+1 i ok ok マスタ スレーブ1 スレーブ2 サーバ5 1× 2× i+1 i ok ok マスタ スレーブ1 スレーブ2 © Hitachi, Ltd. 2013. All rights reserved. 74
76.
③スプリットブレインによる不整合の対処 Acceptor:i番目の処理を実行 サーバ1 3× 4× 5× クラスタ用 Paxos i+2 i+1 実行 キュー 実行 スレッド ストア マスタ スレーブ1 スレーブ2 i ok ok
ok サーバ2 3× 4× 5× i+2 i+1 マスタ スレーブ1 スレーブ2 i ok ok ok スプリット サーバ3 1× 2× i+1 i マスタ スレーブ1 スレーブ2 i+1 i マスタ スレーブ1 スレーブ2 i+1 i マスタ スレーブ1 スレーブ2 サーバ4 1× 2× サーバ5 1× 2× © Hitachi, Ltd. 2013. All rights reserved. 75
77.
③スプリットブレインによる不整合の対処 不整合 複数マスタ サーバ1 get(k) 3× 4× 5× クラスタ用 Paxos i+2 i+1 実行 キュー 実行 スレッド 不整合 i ok ok
ok ストア マスタ スレーブ1 スレーブ2 サーバ2 3× 4× 5× get(k) 不整合 i+2 i+1 i ok ok ok マスタ スレーブ1 スレーブ2 スプリット サーバ3 1× 2× i+1 i マスタ マスタ マスタ マスタ切替 FillGaps サーバ4 1× 2× i+1 i マスタ スレーブ1 スレーブ2 サーバ5 1× 2× i+1 i マスタ スレーブ1 スレーブ2 © Hitachi, Ltd. 2013. All rights reserved. 76
78.
③スプリットブレインによる不整合の対処 Acceptor:過半数サーバ縮退の提案が通らなければgetを拒否 ”③スプリットブレインによる不整合”が発生しても一貫性を保証する! サーバ1 get(k) 失敗 3× 4× 5× クラスタ用 Paxos i+2 i+1 実行 キュー 実行 スレッド 不整合 i ok ok
ok ストア マスタ スレーブ1 スレーブ2 サーバ2 3× 4× 5× get(k) 不整合 i+2 i+1 i ok ok ok マスタ スレーブ1 スレーブ2 スプリット サーバ3 1× 2× i+1 i 成功 マスタ マスタ マスタ マスタ切替 FillGaps サーバ4 1× 2× i+1 i マスタ スレーブ1 スレーブ2 サーバ5 1× 2× i+1 i マスタ スレーブ1 スレーブ2 © Hitachi, Ltd. 2013. All rights reserved. 77
79.
強一貫性への挑戦! まとめ © Hitachi, Ltd.
2013. All rights reserved. 78
80.
強一貫性への挑戦! Paxos ・サーバの集合が同じ処理を同じ順番で実行するためのアルゴリズム 一貫性保証のための3つの実装 ①複製順序不正による不整合の回避 ②複製処理失敗による不整合の対処 ③スプリットブレインによる不整合の対処 © Hitachi, Ltd.
2013. All rights reserved. 79
81.
他社商品名、商標等の引用に関する表示 • • • Javaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 その他、記載の会社名、製品名は、それぞれの会社の商標または登録商標です。 製品の改良により予告なく記載されている仕様が変更になることがあります。 ©
Hitachi, Ltd. 2013. All rights reserved. 80
82.
db tech showcase
東京 2013 END インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? 2013/11/13 日立製作所 情報・通信システム社 ソフトウェア開発本部 第2AP基盤ソフト設計部 梅田多一
Descargar ahora