現在扱っているHyperledger FabricがCouchDB対応なのでCouchDBについて調べてみました。
#CouchDBとは
-
RDBとはほとんど類似点がないらしい
-
ドキュメント方式
- データをドキュメント単位で管理するDB
-
スキーマレスで厳密なデータ構造を持たない
-
ドキュメントは主にJSON形式で保存
-
だから各ドキュメントの構造の違いに対応しやすい
-
各ドキュメントに対して重複しないURIを割り当てる
-
ドキュメントをまとめて保存する単位をデータベースという
-
CouchDBサーバの中に複数のデータベースがあり、各データベースの中には複数のドキュメントが詰め込んであるイメージ
- なのでURIは/serverName/databaseName/documentNameという風に割り当てられる。
-
ドキュメント操作はHTTPメソッドで行うことが出来る
- なのでデータベース言語を使わなくても操作出来る
Hyperledger Fabricなどのコンソーシアム型ブロックチェーンだと共有のデータベースを管理するわけですが、そうなると参加している各組織でデータ構造を厳密に定義して共有するのは難しいのでCouchDBのようなデータ構造をあまり気にしなくてもいいようなDBが採用されているのかなと思います。
あとCouchDBの特徴が、RDBと比較して語られてることが非常に多かったのでRDBも勉強しないとな、とおもいました。
###参考図書