couchbase server入門

25
Couchbase server 入門 1時間で話したい内容を10分にまとめました

Upload: yusuke-komatsu

Post on 14-Apr-2017

154 views

Category:

Technology


0 download

TRANSCRIPT

Couchbase server 入門1時間で話したい内容を10分にまとめました

Question?

Couchbaseが使われている 有名なプロダクトといえば?

A. ポケモンGO

利用企業には有名企業が多数eBay Symantec Adobe 他多数 も利用顧客です。

Couchbaseは 新世代の

デファクトスタンダード

質問

JSONを知っていますか?

SQLを書けますか?

両方できるあなたは すでにCouchbase使いです。

もしかしたら Couchbase Masterかも?

CouchbaseはこんなDB

CouchDB、Membase、Memcachedの3つを統合したプロダクトで、「開発者がリラックスして、カウチソファに座っているようにデータベースの設計・構築・運用ができるように」というCouchDBの思想を引き継ぎつつ、 Simple (シンプル) Fast (高速性) Elastic (柔軟) をコンセプトにして作られている。

最小構成でいいのなら

パッケージ落として、インストールするだけで完了!! mac brew cask install couchbase-server-community

RHEL/CentOS rpm --install couchbase-server-version.rpm

Debian/Ubuntu dpkg -i couchbase-server-version.deb

minimumな設定でいいなら、これだけでもう動く。

簡単すぎて逆に怖い

前職インフラ担当談

ドキュメント指向データベース

Key-Value OR ドキュメントストア Couchbaseはドキュメントストアとして動作する。 Valueはシンプルなデータ型のデータでも連想配列、JSON形式などでもOK。 ドキュメントをそのまま保存できるので、JSON形式で保存するのが推奨。

スキーマフリー 予めCouchbaseでスキーマ定義をする必要はない。 RDBSのようなDB migrationがいらない。 すべてプログラム側で管理できる。 ドキュメント毎に異なるスキーマの設定もできる。 なのに、インデックスを設定できる

SQL規格に準拠したN1QL例1. 右記のデータに対して下記のクエリで リクエストする

{ "results": [ { "tutorial": { "age": 46, "children": [ { "age": 17, "fname": "Aiden", "gender": "m" }, { "age": 2, "fname": "Bill", "gender": "f" } ], "email": "[email protected]", "fname": "Dave", "hobbies": [ "golf", "surfing" ], "lname": "Smith", "relation": "friend", "title": "Mr.", "type": "contact" } } ] }

SELECT children[0].fname AS cname FROM tutorial WHERE fname='Dave'

結果1.{ "results": [ { "cname": "Aiden" } ] }

キャッシュ機構よく使われるものは、メモリに乗りそうじゃないものがディスクに保存される設計。 DBの負荷を下げるためのキャッシュを用意する必要がなくなる。

マネージドキャッシュ

ディスク

Doc1

Doc1Doc2

Doc3

Doc3

ディスクキュー

レプリケーション キュー

他ノードとのレプリケーションは メモリ to メモリ

APP

えっ、まだ使ってないの? と言われる前にぜひ!!

使ってる言語のSDKって 用意されてるの?

安心してください。 入ってますよ!!

公式サポートしてる言語とプラットフォーム一般的に使われてる言語やプラットフォーム用のライブラリやSDKは公式で用意されています。 ElasticSearchなどのプラグインも用意されています。

一般的に使われてる言語のClient/SDKは公式でカバー

RustやScalaはまだだけど..

ここまでの話は Couchbase serverの話だけ

しかもほんのさわり程度

Couchbaseの全体像Couchbase Server 高速、柔軟でハイパフォーマンスなデータベース Couchbase Lite デバイス上で動く簡易版DB。開発言語と同じ言語で作られている Couchbase Sync Gateway Couchbase LiteとCochbase ServerをつなぐGateway同期時にデータが競合した場合の解決なども行ってくれる

開発ドキュメント読んだほうがはやくね?

(´・ω・`;)

http://www.couchbase.com/ https://forums.couchbase.com/

続きはWEBで