Enviar pesquisa
Carregar
Riak 2.0 pre5 @ Riak Meetup #3
•
12 gostaram
•
4,054 visualizações
Shunichi Shinohara
Seguir
Riak 2.0 pre5 新機能紹介 @ Riak Meetup #3, 2013-11-06
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 28
Baixar agora
Baixar para ler offline
Recomendados
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
Insight Technology, Inc.
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
Yahoo!デベロッパーネットワーク
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
Insight Technology, Inc.
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
Masaki Yamakawa
Yahoo! JAPANとRiak
Yahoo! JAPANとRiak
Yahoo!デベロッパーネットワーク
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
Ryusuke Kajiyama
Oracle Data Guard basics and how to create manually 18c plus
Oracle Data Guard basics and how to create manually 18c plus
Akira Kusakabe
Recomendados
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
Insight Technology, Inc.
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
Yahoo!デベロッパーネットワーク
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
Insight Technology, Inc.
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
Masaki Yamakawa
Yahoo! JAPANとRiak
Yahoo! JAPANとRiak
Yahoo!デベロッパーネットワーク
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
Ryusuke Kajiyama
Oracle Data Guard basics and how to create manually 18c plus
Oracle Data Guard basics and how to create manually 18c plus
Akira Kusakabe
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
Insight Technology, Inc.
Windows環境でのMySQL
Windows環境でのMySQL
yoyamasaki
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
Rakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With Xtrabackup
Rakuten Group, Inc.
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
yoyamasaki
DataGuard体験記
DataGuard体験記
Shinnosuke Akita
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
Oracle Cloud MySQL Service
Oracle Cloud MySQL Service
Shinya Sugiyama
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
Insight Technology, Inc.
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Masahiro Tomisugi
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
MySQL最新情報 ※2016年12月
MySQL最新情報 ※2016年12月
yoyamasaki
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
Riak事始め&デモ
Riak事始め&デモ
Yahoo!デベロッパーネットワーク
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
Toru Makabe
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
Insight Technology, Inc.
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
Insight Technology, Inc.
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
Ryusuke Kajiyama
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
オラクルエンジニア通信
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
Insight Technology, Inc.
Mais conteúdo relacionado
Mais procurados
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
Insight Technology, Inc.
Windows環境でのMySQL
Windows環境でのMySQL
yoyamasaki
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
Rakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With Xtrabackup
Rakuten Group, Inc.
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
yoyamasaki
DataGuard体験記
DataGuard体験記
Shinnosuke Akita
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
Oracle Cloud MySQL Service
Oracle Cloud MySQL Service
Shinya Sugiyama
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
Insight Technology, Inc.
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Masahiro Tomisugi
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
MySQL最新情報 ※2016年12月
MySQL最新情報 ※2016年12月
yoyamasaki
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
Riak事始め&デモ
Riak事始め&デモ
Yahoo!デベロッパーネットワーク
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
Toru Makabe
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
Insight Technology, Inc.
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
Insight Technology, Inc.
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
Ryusuke Kajiyama
Mais procurados
(20)
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
Windows環境でのMySQL
Windows環境でのMySQL
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
Rakuten New MySQL Backup System With Xtrabackup
Rakuten New MySQL Backup System With Xtrabackup
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
DataGuard体験記
DataGuard体験記
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Oracle Cloud MySQL Service
Oracle Cloud MySQL Service
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[A23] Oracle移行を簡単に。レプリケーションテクノロジーを使いこなす by Keishi Miyachi
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
MySQL最新情報 ※2016年12月
MySQL最新情報 ※2016年12月
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Riak事始め&デモ
Riak事始め&デモ
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
Semelhante a Riak 2.0 pre5 @ Riak Meetup #3
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
オラクルエンジニア通信
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
Insight Technology, Inc.
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Yahoo!デベロッパーネットワーク
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
Insight Technology, Inc.
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
dstn
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Makoto Sato
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
Tomoyuki Oota
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
Masaya Ishikawa
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
griddb
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Insight Technology, Inc.
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Insight Technology, Inc.
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
オラクルエンジニア通信
MySQL製品概要
MySQL製品概要
yoyamasaki
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
Insight Technology, Inc.
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
オラクルエンジニア通信
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
オラクルエンジニア通信
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
Semelhante a Riak 2.0 pre5 @ Riak Meetup #3
(20)
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
BPStudy20121221
BPStudy20121221
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
MySQL製品概要
MySQL製品概要
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Riak 2.0 pre5 @ Riak Meetup #3
1.
2.0 pre5 Shunichi Shinohara Basho Japan
KK 2013-11-06 Riak Meetup Tokyo #3 @ Yahoo!JAPAN セミナールーム ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
2.
2.0 pre5 = Riak 1.x
+ アプリ向け機能強化 + さらなる運用の容易さ ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
3.
設計ポリシー • 運用の容易さ • 高可用性 • 水平拡張性 ©2013 BASHO TECHNOLOGIES
INC. ALL RIGHTS RESERVED.
4.
Riak 1.x • Riak
1.0 クラスタ管理 Bitcask / LevelDB 2i / MapReduce node node node node node • Riak 1.x クラスタ操作の改善 各種バックプレッシャー Capability ネゴシエーション ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
5.
Riak 2.0 アプリ向け 機能強化 さらなる 運用の容易さ 全文検索 バケットタイプ データ型 (CRDT) セキュリティ 強い整合性 設定ファイル刷新 ・・・ ・・・ ©2013
BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
6.
注意 • Tech Preview (2.0pre5)
をベースにしています • 2.0 正式リリース時には色々変わるかも ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
7.
バケットタイプ • 動機 • キーの名前空間としてのバケット •
カスタム設定が個別のバケットごとに必要 • O(1000)のバケットのカスタム設定はネットワークを圧迫 • 解決策 • 同種のバケットをまとめて管理 • 効率的なクラスタ内情報共有 ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
8.
バケットタイプ • 明示的に作成し、有効化する $ riak-admin bucket-type
<sub-command> list status <type> activate <type> create <type> <json> update <type> <json> ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
9.
バケットタイプ # 設定を取得 $ curl
http://127.0.0.1:8098/types/my-type/props # タイプ/バケット/キーの3段階でアクセス $ curl http://127.0.0.1:10018/types/my-type/ buckets/my-bucket/keys/my-key ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
10.
データ型 (CRDT) • 動機 • 並列アクセス、並列更新をアプリで考慮、対処する必要があった •
単純な後勝ち または Vector Clocks 以外の対処はアプリの責任 ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
11.
データ型 (CRDT) • 例: フォローしている人
• ユーザーの集合、(簡単のため) 追加しかできない • フォローの追加で並列更新が発生 太郎, 花子 次郎 太郎 太郎, 花子 更新の衝突 太郎, 花子 三郎 ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. 太郎, 花子 ????
12.
データ型 (CRDT) • 例: フォローしている人
• ユーザーの集合、(簡単のため) 追加しかできない • フォローの追加で並列更新が発生 • 衝突の解決はほぼ自明 太郎, 花子 次郎 太郎 太郎, 花子 更新の衝突 太郎, 花子 三郎 ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. 太郎, 花子 次郎, 三郎
13.
アプリの擬似コード class User def initialize(following=Set.new): @following
= following def follow(user): @following.add(user) def self.resolve(user1, user2): merged = user1.following.union(user2.following) User.new(merged) ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
14.
データ型 (CRDT) • 解決策 • データ型を指定するだけで自動的に衝突解決
カウンター、フラグ(Boolean)、セット、レジスター、 およびそれらの入れ子 (マップ) • アプリの設計+開発を簡単にする • 設計で考慮すること: ライフサイクル、データの肥大化、効率 ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
15.
アプリの擬似コード CRDT class User def
initialize(following=Set.new): @following = following def follow(user): @following.add(user) def self.resolve(user1, user2): merged = user1.following.union(user2.following) User.new(merged) ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
16.
Set データ型を使う # バケットタイプの設定 $
riak-admin bucket-type create bt-sets '{"props": {"datatype": "set"}}' $ riak-admin bucket-type activate bt-sets # コード (Eralng) riakc_pb_socket:modify_type(Riakc, fun(Set) -> riakc_set:add_element(NewElement, Set) end, {<<"bt-sets">>, <<"b">>}, <<"k">>, []); サンプルコード: hKps://gist.github.com/shino/a8da9791926976122b8a ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
17.
セキュリティ: 認証/認可 • 動機 • セキュリティでは「穴」がひとつでもあると全体が弱くなる
• Riak でしか対応出来ないことは Riak で対応する • 解決策 • AuthenScate: 誰がアクセスしてきたか (ユーザ名のみ、ユーザ名+パスワード、ユーザ名+証明書、PAM) • Authorize: なににアクセスできるのか • Audit: だれがどうアクセスしたか (pre5 には入っていない) • EncrypSon: MITM 排除 (PKI, TLS) ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
18.
セキュリティ: 認証/認可 # 設定 $
riak attach > application:set_env(riak_core, security, true). # ユーザ追加 $ riak-admin security add-user andrew # 経路の追加 $ riak-admin security add-source all 127.0.0.1/32 trust ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
19.
セキュリティ: 認証/認可 # GET
=> エラー "401 Unauthorized" $ curl -k -i --user andrew:foo https://127.0.0.1:11018/buckets/b/keys/k # 権限追加 GET+PUT $ riak-admin security grant riak_kv.get ON ANY TO andrew $ riak-admin security grant riak_kv.put ON ANY TO andrew ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
20.
セキュリティ: 認証/認可 # PUT,
GET => 成功 $ curl -X PUT --data 'val' -k -i --user andrew:foo https://127.0.0.1:11018/buckets/b/keys/k $ curl -k -i --user andrew:foo https://127.0.0.1:11018/buckets/b/keys/k # PUT 権限取り消し $ riak-admin security revoke riak_kv.put ON ANY FROM andrew # GET => 成功, PUT => エラー [コマンド省略] ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
21.
強い整合性 • 動機 • これまでは結果整合性の参照+更新のみ、可用性が第一 •
強い整合性が欲しいデータもあり得る (在庫数の管理) • 解決策 • レプリカごとにリーダーを選出、整合性を課す • 条件付き更新(CAS)、単一レコード、アトミック • 並列更新は失敗する、部分更新は発生しない • 参照では最新が見えることを保証 (ダーティーリードがない) • 「強い」≠「良い」、Riak 内で結果整合性とトレードオフ可能になった ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
22.
強い整合性 1. 設定: riak.conf
enable_consensus = true キーなし (最初の状態) 2. 設定: bucket type '{"props": {"consistent": true}}' 3. PUT成功 3. PUT => 成功 4. GET せずにもう一度 PUT => エラー 5. GET してから PUT => 成功 ReadModify-Put 4. PUTエラー 6. 古い GET を元に PUT する => エラー 5. PUT成功 6. PUTエラー ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
23.
設定ファイル刷新 • 動機 • あまり一般的ではない設定ファイル書式 •
複数に分かれていた • 解決策 • 1ファイルに統合 • 1行に1項目 • grep, sed などとの親和性が高い ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
24.
設定ファイル刷新 {riak_kv, [ {anti_entropy, {on,
[]}}, {anti_entropy_build_limit, {1, 3600000}}, {anti_entropy_expire, 604800000} ]}, anti_entropy = on anti_entropy.build_limit.number = 1 anti_entropy.build_limit.per_timespan = 1h anti_entropy.expire = 1w ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
25.
参考 • 全般 • ブログ
[日本語] hKp://basho.co.jp/introducing-‐riak-‐2-‐0-‐data-‐types-‐strong-‐consistency-‐full-‐text-‐search-‐ and-‐much-‐more/ • ブログ [英語] hKp://basho.com/introducing-‐riak-‐2-‐0/ • RICON West 2013 ビデオ hKp://ricon.io/west2013.html • ビルド済みパッケージ: hKp://docs.basho.com/riak/2.0.0pre5/downloads/ ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
26.
参考 • バケットタイプ • RICON
スライド: hKps://speakerdeck.com/jrwest/controlled-‐epidemics-‐riaks-‐new-‐gossip-‐protocol-‐and-‐ metadata-‐store • 提案+議論: hKps://github.com/basho/riak/issues/362 • データ型 (CRDT) • RICON スライド: hKps://speakerdeck.com/lenary/crdts-‐an-‐update-‐or-‐just-‐a-‐put • いろいろな型: hKps://gist.github.com/russelldb/7316f83ddd38965d9f76 • さらに詳細: hKps://gist.github.com/russelldb/f92f44bdg619e089a4d ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
27.
参考 • セキュリティ: 認証/認可 •
提案+議論: hKps://github.com/basho/riak/issues/355 • HTTP の例: hKps://gist.github.com/Vagabond/05b7dc8ae6d3ca4af6c2 • PB の例: hKps://gist.github.com/Vagabond/6222793a1d352f1ccdd2 • 強い整合性 • RICON スライド: hKps://speakerdeck.com/jtuple/ricon-‐west-‐2012-‐bringing-‐consistency-‐to-‐riak-‐part-‐2 • 開発ブランチ: hKps://github.com/basho/riak_ensemble/tree/jdb-‐wip-‐2.0 • 設定ファイル刷新 • Wiki: hKps://github.com/basho/cuKlefish/wiki • hKps://github.com/joedevivo/ricon/blob/master/cuKlefish.md ©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.
28.
Basho Technologies 2013-11-06 Riak Meetup
#3
Baixar agora