21
ORCHESTRATE DBaaS 入門

Orchestrate DBaaS入門

Embed Size (px)

DESCRIPTION

社内勉強会で発表したものを再編集しました。

Citation preview

Page 1: Orchestrate DBaaS入門

ORCHESTRATEDBaaS 入門

Page 2: Orchestrate DBaaS入門

DBaaS とは — DataBase as a Serviceクラウドサービスでオンラインで提供されるデータベース。利用者はシステムを構築管理する手間と負担が減り、データ量に応じて規模を柔軟に拡張できる。データベース運用は管理が煩雑とされ、負担軽減の効果は大きい。

Page 3: Orchestrate DBaaS入門

DBaaS の例• Amazon RDS

• Amazon DynamoDB

• Cloudant

• MongoHQ

• Orchestrate

Page 4: Orchestrate DBaaS入門

WHAT IS ORCHESTRATE

Page 5: Orchestrate DBaaS入門

One API for search, key/value, graph, and events.

Orchestrate unifies multiple databases through a simple REST API. It runs as a service (you store your data with us!) and supports queries like full-text search, events, graph, and key/value.

Page 6: Orchestrate DBaaS入門

日本語の解説が少なすぎ…Techcrunchに翻訳記事が2つ、他ニュースサイトに数件

有志の解説記事は探した限り皆無

Page 7: Orchestrate DBaaS入門

嘘でしょ

Page 8: Orchestrate DBaaS入門

仕方ないので訳します

Page 9: Orchestrate DBaaS入門

検索・key/value・グラフ・イベントを1つのAPIでOrchestrateは1つのシンプルなREST APIで複数のDBを統合します。これはクラウドサービスとして利用でき、テキスト検索、イベント、グラフ、key/valueのようなクエリをサポートします。

Page 10: Orchestrate DBaaS入門

ORCHESTRATEのスゴい所

Page 11: Orchestrate DBaaS入門

OrchestrateはDBを跨ぐ

どんなデータ処理でも単一のAPI呼び出しで済ませられる。Orchestrate側がMongoDBやCouchDBなどもっとも適切なNoSQLデータベースを選択する。(開発者は意識しなくて良い)

Page 12: Orchestrate DBaaS入門

とにかく使ってみよう

Page 13: Orchestrate DBaaS入門

ありがたいことに、 ドキュメントは充実している

https://orchestrate.io/docs

Page 14: Orchestrate DBaaS入門

key/valueデータをGET

$ curl -XGET https://api.orchestrate.io/v0/people/0 -u 'access_token'

{"name":"Taro","height":175,"weight":65,"age":23}

Page 15: Orchestrate DBaaS入門

検索はこんな感じ

$ curl -XGET https://api.orchestrate.io/v0/people?query=height:160 -u 'access_token'

{"count":1,"total_count":1,"results":[{"path":{"collection":"people","key":"5","ref":"46d655562040ca7e","reftime":1391890950920},"value":{"name":"Yuki","height":160,"weight":57,age:22},"score":0.19104281067848206,"reftime":1391890950920}]}

Page 16: Orchestrate DBaaS入門

https://github.com/orchestrate-io/orchestrate.js

公式がNode.jsクライアントもちゃんと出しています

Page 17: Orchestrate DBaaS入門

さっきの検索をNodeでやると

var db = require('orchestrate')(process.env.ORCHESTRATE_TOKEN);

db.newSearchBuilder().collection('people').query('height:160').then(function (result) {

console.log(result.body);}).fail(function (error) { console.log(error);});

Page 18: Orchestrate DBaaS入門

まとめ

Page 19: Orchestrate DBaaS入門

かなりシンプルに使える• どんなDBが動いてるのとか考えなくていい

• Node.js, Ruby, Python, Java, Go なら公式がクライアントを出してるので安心

• PHPでもなんでもHTTPSリクエストしてJSONをパースできればOK

• 位置情報もいけるので最近っぽいことができる

Page 20: Orchestrate DBaaS入門

DBaaS として• 2014年2月にローンチされたばかりでこれからどうなるかはわからない

• コード資源は使えないので新しいことやるとき向け?

Page 21: Orchestrate DBaaS入門

THANK YOU FOR LISTENING!