SlideShare a Scribd company logo
1 of 55
Apache CouchDB再入門 2010/04/23 id: yssk22 (CouchDB-JP)
自己紹介 Yohei Sasaki (yssk22) developerWorks のCouchDB連載記事 CouchDB基礎文法最速マスター CouchDB-JP People on the Couch: UTC+9 今年から某ECサイトの開発
はじめに / お願い 質問は随時... というのは大変なのでハッシュタグ #bpstudyを添えてつぶやいてください。 つぶやきに 半角?または全角? をいれていただければ回答します。 ハンズオン用URL http://bit.ly/6rXbn5
目次 CouchDBとは何か? HTTP API MapReduce CouchDB Application
CouchDBとは何か? まずは思想的な話から...
CouchDBとは何か? ,[object Object]
Apache プロジェクト
HTTP によるアクセス
MapReduceでクエリができる
Erlangで実装されたデータベース
Lotus Notes みたいなレプリケーション
すべて正しいけれど、その前にもっと本質的な話を...,[object Object]
データモデルに対するアプローチ Webそのもの。 WWW はデータベース WWW はドキュメント指向データベース Django may be built for the Web, but CouchDB is built of the Web. ,[object Object],Document Oriented Database Webで実現する文書そのものを格納するためのデータベース。
例:請求書 請求元: hogehoge株式会社 請求先: 郵便番号: 123-4567 住所: 神奈川県川崎市... 氏名: 佐々木庸平 請求金額: 2,345 明細: 商品数量金額小計AAAA		1	1,980	1,980 BBBB		3	1,210	3,630 ... CouchDBにおける1つの保存単位- ドキュメント
例:請求書 (RDBの場合) 請求元: 1 請求先: 3 請求金額: SUM(小計) 明細 商品数量金額小計1	1	1.P	1 * 1.P 2	3	2.P	3 * 2.P 1, hogehoge株式会社 3, 123-4567, 神奈川県..., 佐々木庸平 10, 1, 1 1, AAAA, 1,980 10, 2, 3 2, BBBB, 1,210 正規化!正規化!正規化!
正規化とドキュメント指向の狭間 ,[object Object]
例えば、請求書の発行後に住所が変わったら?
顧客マスタ上の住所を変更する
あれ? 昔の請求書の住所までかわっちゃったんだけど...
現実世界の"ドキュメント"は整合性を保たないほうがよい場合も。
現実世界のとおりであることが当たり前 = Relax
Web を作るイメージでデザインするとしっくりくる。1 URI = 1 ドキュメント でも、マスタ管理はしたい。
ドキュメント指向的アプローチ 請求元: hogehoge株式会社 請求先: 郵便番号: 123-4567 住所: 神奈川県川崎市... 氏名: 佐々木庸平 請求金額: 2,345 明細: 商品数量金額小計AAAA		1	1,980	1,980 BBBB		3	1,210	3,630 ... hogehoge株式会社 佐々木庸平 AAAA, 1,980 BBBB, 1,210 台帳から書き写す、という事務処理
データモデルを定義するタイミング ,[object Object]
最初に蓄積すべきデータをモデル化しておく
業務分析
エンティティを切り出し
正規化
業務の決まりを事前定義
CouchDB
随時やる業務の決まりを随時定義 ,[object Object],[object Object]
通勤経路の稼働率 稼働率 24min/30min : 80% 具体的なサービスの例: gmail, google reader, twitter, hatena.ne.jp, ... サービス提供側としては100%を目指しているのを十分承知しているものの...
レプリケーションによる可用性の確保ができるかもしれない 1台になっても、 N台になっても対応できるストレージシステム App HTTP App
ここまでのまとめ CouchDB = Relax 当たり前のことを当たり前に。 データモデルに対するアプローチ ドキュメント指向 スケールに対するアプローチ スケールダウン レプリケーション
HTTP API 実際の使い方
CouchDBの使い方 HTTP で使う 使い方 = Web で当たり前の使い方 GET 		: ドキュメントを取得する POST 	: ドキュメントを作成する PUT 		: ドキュメントを更新する DELETE 	: ドキュメントを削除する Web の常識をしっていれば、どの言語/ランタイムでもCouchDBは簡単 「Webを支える技術」参照
ドキュメントの表現方法 JSONで記述 すべてのドキュメントは一意に識別するためのIDとバージョン番号REVをもつ 他は自由 {  "_id" : "請求番号XXXXYYYY", "_rev" : "3-ZZZZZMMMM""発行者": "hogehoge株式会社" "請求先": { "郵便番号": 123-4567"    "住所": "神奈川県川崎市..." "氏名": "佐々木庸平" }, "請求金額": 12345 "明細": [    { "商品: "AAAA", "数量": 1, "単価": 1980, "小計": 1980 },    ...    ] }
Futon による確認 GUI Tool http://localhost:5984/_utils/ Firefox + Firebug を使うのがbetter デモ
補足: リビジョン管理 CouchDBはMVCCによりディスクアクセスを行う データの更新操作(PUT)は、論理更新であり物理的には追加が行われる。 _rev には"更新回数-ドキュメントのMD5" が格納されている _rev を使った Optimistic Lock により更新の衝突を検出する Compaction という操作により、古いリビジョンは削除される
HTTP API 一覧 後でリファレンス的に利用できるようにSphinx Document にまとめみました http://bit.ly/b008oP HTTPメソッドは省略 慣習に従えばよいので。 XXを実行する 系はPOST ハンズオンで curl を使って試します。
HTTP Header も活用しよう Request X-Couch-Full-Commit true レスポンス前に確実にディスクに書き込む 帳票などのドキュメントに使う false ディスクに書き込む前に HTTP 201 を返す ポストイット的なドキュメントに使う Response ETag ドキュメントの _rev と同じ値が入る JSONのparseをしなくても_revを入手できる
そのほかの主要機能 レプリケーション 二つのデータベースの同期をとる P2P モデルで、双方向に同期をとることができる。 半自動実行なので、ネットワークが切れても問題がない。 添付ファイル ドキュメントにはバイナリファイルを添付できる。 メディア+メタデータ管理とかに利用可能
各種言語からの利用 HTTPライブラリとJSONライブラリが必要十分条件 以下独断と偏見によるおすすめ JavaScript /_utils/script/jquery.couch.jsが標準添付 Ruby couchrest Python couchdb-kit python-couchdb Java couchdb4j
MapReduce データ処理のための手法...
デザインドキュメント デザインドキュメント CouchDBに格納されるアプリケーションを定義したドキュメント ビュー デザインドキュメントの中に定義するMapReduce関数を記述し、インデックスを作成する機能
デザインドキュメントの構成 {   "_id" : "_design/app",   "_rev" : "3-XXXXXX",   "language" : "text/javascript",   "views" : {      "count_by_name" : {         "map" : "function(doc){ ... }",       "reduce" : "function(k,v,r){ ... }"      }   },   "shows" : ... "lists" : ...} これ
ビューの用途 基本 ドキュメントのフィルタリング 並び替え 内部的にはインデックスを作る作業 ドキュメントを効率的に見つけるために! 様々な計算 SUM  とか。 応用 (データ構造の)フォーマット "正規化", "非正規化" も含めて 覚えておくべきこと: クエリではありません。 "クエリ"の機能 ... URLにクエリ文字列っていうものがありますよね?
MapReduce Map 1つのドキュメントから別のデータを作成する。 別のデータ : Key-Value の組み合わせ Reduce Keyが同じデータの集合から、データを集約して1つの値を計算する。 reduce フェーズと rereduce フェーズがある
サンプルデータ ハンズオンでやります。 http://search.twitter.com/?q=%23bpstudy  { "_id": "479ce1c32f79d7864730ecbae60d6610",   "_rev": "1-f45bf5f71b84692d0acc4b196849c2d7","iso_language_code": "ja",   "type": "tweets",   "keyword": "#bpstudy", "text": "1時間遅れたけど終わった。これであとは資料の残り半分を完成させればOK #bpstudy (といってハッシュタグのテスト)",   "created_at": "Sat, 17 Apr 2010 19:07:16 +0000", "profile_image_url": "http://a3.twimg.com/profile_images/427387065/speedland_normal.png", "source": "<ahref="http://sites.google.com/site/yorufukurou/" rel="nofollow">YoruFukurou</a>", "from_user": "yssk22", "from_user_id": 3749810, "to_user_id": null,   "geo": null,   "id": 12356675615,   "metadata": {  "result_type": "recent"   }}
map 関数 の書き方 function(doc){   emit(key, value);emit(key, value);   ...} emit(key, value)
発言者ごとにemitする function(doc){   function format_date() { ... }; // 省略   if( doc.type == ''tweets'' ){var t = format_date(t);      emit([doc.from_user, t],              null);   }} emit(key, value) で出力を定義 key はobject以外の任意の値 value は null でもよい。 undefined はJSONの仕様外なのでだめ
結果 /{db}/_design/{app} /_view/{viewname} で確認可能 {"total_rows":169,"offset":0,"rows":[ {"id":"...","key":["AE35","2010/04/02 01:36"],"value":null}, {"id":"...","key":["albuk","2010/04/01 15:36"],"value":null}, {"id":"...","key":["ali_lin5757","2010/04/05 20:02"],"value":null}, {"id":"...","key":["Amoreeeee","2010/04/06 15:45"],"value":null}, {"id":"...","key":["aodag","2010/04/02 01:57"],"value":null}, ... ]}
ビューに対してクエリをかける よく使うのは範囲指定 startkey=xxx&endkey=yyyy 特定の発言者だけ時系列にとりだす startkey=["yssk22"]&endkey=["yssk22", "9999"] ["yssk22"] より大きくて、["yssk22", "9999"] より小さいキーを抽出 配列は要素ごとに比較して順序づけ 文字列の最大値は 9999
CouchDBのMapReduceの特徴 B+Tree構造でディスクに結果を保持 インクリメンタルに実行される 一度計算した結果は、元のドキュメントが更新されない限りキャッシュが保持される。
CouchDBのMapReduceの特徴 B+Tree構造でディスクに結果を保持 インクリメンタルに実行される 一度計算した結果は、元のドキュメントが更新されない限りキャッシュが保持される。 オンラインシステムで使えるMapReduceの仕組み 再計算する 再計算しない 再計算しない 再計算しない 更新

More Related Content

What's hot

Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Masanori Nara
 
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
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみToshihiro Nakamura
 
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsNGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsfisuda
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたDevTakas
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoTakayuki Shimizukawa
 
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linuxなるほどわかった!App Service on Linux
なるほどわかった!App Service on LinuxYasuaki Matsuda
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだNarichika Kajihara
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要Google Cloud Platform - Japan
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送Google Cloud Platform - Japan
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j昌桓 李
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることShingo Fukui
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Harbor RegistryのReplication機能
Harbor RegistryのReplication機能
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
 
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsNGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
 
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linuxなるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
 
【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 

Similar to BPStudy32 CouchDB 再入門

クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術Koichi Fujikawa
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料Shinichiro Isago
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)Hadoop / Spark Conference Japan
 
Googleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてKazuki Ohta
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門Shinichi YAMASHITA
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)Takuya Kawabe
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発emasaka
 

Similar to BPStudy32 CouchDB 再入門 (20)

クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
 
Scala on Hadoop
Scala on HadoopScala on Hadoop
Scala on Hadoop
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
Inside of Asakusa DSL
Inside of Asakusa DSLInside of Asakusa DSL
Inside of Asakusa DSL
 
MapReduce入門
MapReduce入門MapReduce入門
MapReduce入門
 
Hadoop jobbuilder
Hadoop jobbuilderHadoop jobbuilder
Hadoop jobbuilder
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料
 
Windows Azure Community Open Day 2012
Windows Azure   Community Open Day 2012Windows Azure   Community Open Day 2012
Windows Azure Community Open Day 2012
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
 
Googleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
MongoDB
MongoDBMongoDB
MongoDB
 
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobeTokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 

More from Yohei Sasaki

20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfesYohei Sasaki
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundryYohei Sasaki
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundryYohei Sasaki
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutesYohei Sasaki
 
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4Yohei Sasaki
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)Yohei Sasaki
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall TokyoCouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall TokyoYohei Sasaki
 
前回のまとめ
前回のまとめ前回のまとめ
前回のまとめYohei Sasaki
 
Finding Your Data with Views
Finding Your Data with ViewsFinding Your Data with Views
Finding Your Data with ViewsYohei Sasaki
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Yohei Sasaki
 
Couch Db.0.9.0.Pub
Couch Db.0.9.0.PubCouch Db.0.9.0.Pub
Couch Db.0.9.0.PubYohei Sasaki
 

More from Yohei Sasaki (18)

20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
CloudFoundry@home
CloudFoundry@homeCloudFoundry@home
CloudFoundry@home
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
membase
membasemembase
membase
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
CouchDB
CouchDBCouchDB
CouchDB
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
 
Media On Couch
Media On CouchMedia On Couch
Media On Couch
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall TokyoCouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
 
前回のまとめ
前回のまとめ前回のまとめ
前回のまとめ
 
Finding Your Data with Views
Finding Your Data with ViewsFinding Your Data with Views
Finding Your Data with Views
 
Why CouchDB
Why CouchDBWhy CouchDB
Why CouchDB
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
 
Couch Db.0.9.0.Pub
Couch Db.0.9.0.PubCouch Db.0.9.0.Pub
Couch Db.0.9.0.Pub
 

BPStudy32 CouchDB 再入門