SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
分散データベース gun
について調べた 🐰
gunってなぁに?
❏ https://gun.eco
❏ javascriptで作られた分散データベース
❏ 従来のDBと違いサーバ側だけでなくクライアント側にもデータを持つ
❏ サーバ(gunの概念としてはsuper-peerと呼ばれている)がデータをロストしても接続
されているクライアントからデータを復旧できる
❏ チャットのようなリアルタイムで双方向通信を行うアプリケーションが
  ”簡単” につくれる!
従来のデータベースサーバーのイメージ
すべてのデータを保持している
クライアントはデータの
リードや更新のクエリ発行のみ
gunのイメージ
すべてのデータを保持している
`
一度読み込んだ部分的な
データを持つ
自分が持つデータでデータ
ベースが持っていないデータ
があれば送信する
ごたくはさておき
みんなで使ってみよう!!
(DEMO)
このチャットのソースは
クライアントサイド約50行(js部分)
サーバサイド約10行
書くだけでできました
(ただし最小限、動けばいい程度のソースコード)
つまり
リアルタイムで双方向通信を行う(ように振る舞う)
アプリケーションが ”簡単” につくれる!!!
❏ 実際にノード間での直接的な通信が行われているのではなく各ノードがsuper-peer
と随時同期を行っているため、ノード間通信のように振る舞える
DBとしての性能
❏ データは { key: “value” } なjsonとして保持される
❏ valueの値はstringもしくはvalueがstringなオブジェクトを持つことができる
  例: { key1 : { key2: “value”, key3: { key4: “value2” } }
  (string以外も保持できる方法はあるかも)
❏ Storage EngineとしてはFile, S3などをサポート
❏ クライアントがブラウザの場合はローカルストレージにデータを持つ
❏ オフラインでもデータの更新が可能、その場合はオンラインになったときに更新した
データをサーバに送信する
❏ クライアント同士でのデータ更新が衝突した場合はtimestampで後勝ち
まとめ
❏ 対障害性の強いデータベース
❏ リアルタイム通信を行うアプリケーションを手軽に実装できる
❏ クライアントがデータの部分的なレプリケーションを持つ
ご清聴ありがとうございました 🙇
こういう構成も可能っぽい
すべてのデータを保持している すべてのデータを保持している

Weitere ähnliche Inhalte

Was ist angesagt?

Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutesYohei Sasaki
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことKentaro Matsui
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument dbKazunori Hamamoto
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Masahiko Sawada
 
お金をかけないDBチューニング
お金をかけないDBチューニングお金をかけないDBチューニング
お金をかけないDBチューニングKazuya Sato
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価Satoshi Nagayasu
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようmax747
 
Yapcasia2012 ltthon
Yapcasia2012 ltthonYapcasia2012 ltthon
Yapcasia2012 ltthonturugina
 
Programming under capability mode
Programming under capability modeProgramming under capability mode
Programming under capability modeYuichiro Naito
 
MySQL 初めてのチューニング
MySQL 初めてのチューニングMySQL 初めてのチューニング
MySQL 初めてのチューニングCraft works
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみるairtoxin Ishii
 
サーバーサイドボトルネックの探し方
サーバーサイドボトルネックの探し方サーバーサイドボトルネックの探し方
サーバーサイドボトルネックの探し方Yugo Shimizu
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with PoudriereYuichiro Naito
 
Elastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたElastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたYoichi Toyota
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)Yuuki Namikawa
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニングii012014
 

Was ist angesagt? (19)

Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
 
Study2study3 nslope
Study2study3 nslopeStudy2study3 nslope
Study2study3 nslope
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
 
お金をかけないDBチューニング
お金をかけないDBチューニングお金をかけないDBチューニング
お金をかけないDBチューニング
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
Yapcasia2012 ltthon
Yapcasia2012 ltthonYapcasia2012 ltthon
Yapcasia2012 ltthon
 
Programming under capability mode
Programming under capability modeProgramming under capability mode
Programming under capability mode
 
MySQL 初めてのチューニング
MySQL 初めてのチューニングMySQL 初めてのチューニング
MySQL 初めてのチューニング
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
 
サーバーサイドボトルネックの探し方
サーバーサイドボトルネックの探し方サーバーサイドボトルネックの探し方
サーバーサイドボトルネックの探し方
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with Poudriere
 
Elastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみたElastic searchをrailsから使ってみた
Elastic searchをrailsから使ってみた
 
3-1
3-13-1
3-1
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
 

Ähnlich wie 分散データベース gun について調べた

私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向Yohei Yamamoto
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaasOsamu Takazoe
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...Insight Technology, Inc.
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎Trainocate Japan, Ltd.
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminarSAKURUG co.
 
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築Itoshi Nikaido
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャーDaisuke Masubuchi
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料樽八 仲川
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでDaisuke Masubuchi
 
仮想ネットワーク構築8枚slide
仮想ネットワーク構築8枚slide仮想ネットワーク構築8枚slide
仮想ネットワーク構築8枚slidek009c1271
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓貴仁 大和屋
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしいIBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしいK Kimura
 
これから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaSこれから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaSDaiyu Hatakeyama
 
Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Toru Makabe
 
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...Naoki (Neo) SATO
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceKazuho Oku
 

Ähnlich wie 分散データベース gun について調べた (20)

私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaas
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminar
 
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
仮想ネットワーク構築8枚slide
仮想ネットワーク構築8枚slide仮想ネットワーク構築8枚slide
仮想ネットワーク構築8枚slide
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしいIBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
 
これから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaSこれから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaS
 
Azure Datalake 大全
Azure Datalake 大全Azure Datalake 大全
Azure Datalake 大全
 
Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊
 
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...
[db tech showcase Tokyo 2018] Azure Cosmos DB Technical Deep Dive ~グローバル分散型マル...
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
 

分散データベース gun について調べた