View
1.475
Download
3
Category
Preview:
Citation preview
DevOpsの究極の形!?クラウドで始めるドキュメント・データベース活用のポイント。
日本アイ・ビー・エム株式会社アナリティクス事業部インフォメーション・アーキテクト 野間 愛一郎
Cloud
Big Data
Mobile
Social
BigData
マシンログ、センサーデータ地理情報、個人的な情報ソーシャル
CloudComputing
集中・共有から分散・共有へ
BigUser
多数のユーザー大量の同時アクセスユーザー動的な利用形態
Cloudantをひとことで言うと
Key-Value Document
BigTable Graph
NoSQL Database Types
ドキュメント指向型の特徴
・ドキュメントをユニークIDですぐに特定
・データ設計不要、スキーマレス
・ニュースサイトやブログ記事
・Webアプリケーションに最適
{
"zipcode": "1038510",
"address": {
"prefecture": "東京都",
"city": "中央区",
"town": "日本橋箱崎町",
"street_address": "19−21",
"site": "日本アイ・ビー・エム 株式会社 箱崎事業所"
},
"yomi": {
"site": "ニホンアイビ-エムハコザキジギヨウシヨ"
}
}
適用エリアユーザー生成コンテンツ
ソーシャル、ソーシャル・ゲーム
地理情報
SNS
ブログ
M2Mのバックエンド
機械が出す様々な形式の連続データを格納・集計・分析
地理情報
バックオフィス系
ログデータ
ユーザークリック履歴・画面遷移履歴
通信記録
JSONClouda
nt
HTTP
JSON
HTTP
JSON
HTTP
JSON
HTTP
JSON
HTTPJSON
HTTP
Cloudant Beginnings……
8
Cloudant概要
• Operational Data Store
• NoSQL ドキュメント・データベース
• シンプルな HTTP Restful API
• 標準機能:
• レプリケーション、クライアントとの同期機能
• MapReduce
• 全文検索機能
•地理情報関数
• マルチテナントおよび個別のクラスターを提供
• 運用管理、開発用のダッシュボード
• Powered by Apache CouchDB、Dynamo Clustering、Lucene
Search などなど
9
CloudantによるNoSQLベースのDBaaS
Indexed
JSON
Storage
複数のロケーションへの負荷分散
アプリケーション・レイヤー / ブラウザー / モバイル・アプリケーション
REST (HTTPS)
IBM SoftLayer、Rackspace、Microsoft Azure、AWS
Cloudant JSON API
JSON
CRUD
複数マスター間のレプリ
ケーション
デバイスの同期
Lucene
による検索
2Dおよび3Dの地理空間データ
MapReduceモニタリング
セキュリティー
IOの制御
Cloudantの開発者と運用担当者がユーザーのシステムを24x7で管理
DBaaSのメリット
サービス内容を保証不確定要素を排除 リスクを最小化生産性を最大化
ハードウェア
ソフトウェア
管理タスク
システム設計
ソフトウェア
管理タスク
システム設計
システム設計
自社構築 ホスティング DBaaS
不確定要素、オーバーヘッド、リスク
1
2
Cloudant クラスター可用性とスケーラビリティ
ノード追加によるスケールアウトデータはノートに対し自動的にシャーディングされる
すべてのデータを3重化マスター – マスター型で構成され、ノード障害時もRead/Write可能
データセンター間のレプリケーション
ロードバランシングを行い、
近くの地域のクラスターに接続される
13
ローカル・ストレージ
ローカル・ストレージ
サーバーとローカル・デバイスにデータを保存
データの同期プロセスとローカル・ストレージの管理をサポートするためにネイティブのライブラリーを提供
Cloudantからデータのプッシュとプルを行うことによって、複数デバイス間のデータを同期
モバイルアプリケーションとの連携①柔軟なデータの保存とアクセスを実現
14
ローカル・ストレージ
ネットワークに接続できない場合は、ローカル・ストレージからの読み取り処理と書き込み処理を提供
接続が復旧すると、サーバーにデータの同期が行われ、同じデータソースに接続するその他のデバイスのデータの同期を実施
修正履歴のレプリケーションによって、データの一貫性を維持
モバイルアプリケーションとの連携に②恒常的に可用性を実現
Cloudantのポジション
NoSQL
SQL
on-premises Cloud
BigInsights
MongoDB
CouchDB
CouchBase
Cassandra
Riak
DB2
Netezza
Informix
PDOASQL Server
Oracle
MySQL
PostgreSQL
BLU on
Cloud
dashdb
Amazon Aurora
AWS SDB
AWS RDS
Other SQL
Amazon -
DynamoDB
ManagedDBaaS
On-premise
BigInsights
無償でスタート出来ます。是非遊んでみてください
cloudant.com
bluemix.net
Cloudantを利用するには
Step 1 Step 2 Step 3
https://<username>.cloudant.com
ヘ完了!
Bluemixからもどうぞ
1
9
GET /<database>/<doc_id>
PUT /<database>/<doc_id>
PUT /<database>/<doc_id>/<attachment>
HTTP RESTful API
基本API
© 2014 IBM Corporation
https://<username>.cloudant.com…
/_all_dbs Get all databases for a user
/<database> Create a database or post a
new document
/<database>/_all_docs Get all docs in a database
(a.k.a. “Primary Index”)
/<database>/_bulk_docs CUD documents in bulk
/<database>/<doc._id> CRUD document by ID
/<database>/<doc._id>/<attachment> CRUD document attachment
cURL を利用した操作(1)
© 2014 IBM Corporation
GET –データベース(クラスター)情報
GET –所有するデータベースリスト
PUT – Create a New Database
cURL を利用した操作(2)
© 2014 IBM Corporation
POST – Create / Update
GET – All Documents
DELETE – Delete a Document
Cloudantで利用できるAPI
© 2014 IBM Corporation
JSON
DocumentsPrimary Index
Secondary
IndicesSearch
Create
Read
Update
Delete
デフォルトで作成 キーインデックス
MapReduce
集計、group by
など 地理情報
テキスト検索機能
Build More,
Grow More,
Sleep More
ぜひ遊んでみてください!
https://cloudant.com/sign-up/
Recommended