SlideShare a Scribd company logo
1 of 80
Download to read offline
Kobe Digital Labo, Inc.
         岩瀬 高博
Twitter: @okuyamaoo
Mail: ta.okuyamaoo@gmail.com
FemtoDB	
On memory document database
自己紹介	
・岩瀬 高博(@okuyamaoo)
 > (株) 神戸デジタル・ラボ所属
	
業務及び活動
>大規模e-コマースサイトのチューニング、運用
>分散処理、データベースの研究及び適応
>(独)情報通信研究機構 特別研究員
     研究領域:大規模Webアーカイブ	
>分散KVS okuyama、CEP Setsuna の開発
  >OSS、Java、DB、車が好き
1.ドキュメント型データベース?
2.FemtoDBの紹介
今日のお話し
ドキュメント型データベース?
ドキュメント型データベース?
・ドキュメント型データベースとは?	
・NOSQLデータベースと総称されるデータベースの中の1種類
NOSQL
・NOSQLデータベース	
・NOSQLはSQLをインタフェースとしないデータベース
※wikipediaより
NOSQL
・NOSQLデータベース	
・ 用途に特化させることで処理能力、キャパシティー
冗長性などの能力を高めたデータベース
NOSQL
・種類は?	
・NOSQLは扱うデータ型に応じて種類分け出来きる
NOSQL
・種類は?	
Key-Value型	
 Column型	
Document型	
Graph型	
・NOSQLは扱うデータ型に応じて種類分け出来る
NOSQL
・種類は?	
・NOSQLは扱うデータ型に応じて種類分け出来る
Key-Value型	
 Column型	
Document型	
Graph型	
一意のKeyと値の関係
もっともシンプルなモデル
NOSQL
・種類は?	
Key-Value型	
 Column型	
Document型	
Graph型	
データをカラム単位で管理
カラム単位での操作が得意
・NOSQLは扱うデータ型に応じて種類分け出来る
NOSQL
・種類は?	
Key-Value型	
 Column型	
Document型	
Graph型	
グラフ構造データを管理
ファイルツリー、
ソーシャルグラフ
・NOSQLは扱うデータ型に応じて種類分け出来る
NOSQL
・種類は?	
Key-Value型	
 Column型	
Document型	
Graph型	
・NOSQLは扱うデータ型に応じて種類分け出来る
Document型
・Document型データベースを詳しく	
・扱うデータのフォーマットは?
自由なデータフォーマットを扱える
例えばリレーションナルデータベースの場合は?
テーブル定義
create table UserMaster (
UserID varchar(10) pkey,
Name   varchar(50),
Address varchar(100),
Birthday date,
Tel varchar(15),
deleteFlg boolean
)	
事前にテーブル定義を作成
↓
定義に沿ったデータ構造で登録	
定義をデータベースで管理する
Document型
・Document型データベースを詳しく	
・扱うデータのフォーマットは?
自由なデータフォーマットを扱える
ではDocument型の場合は?
登録データ
{”UserID” :”10001”,
“Name” :”名前”,
“Address” :”住所”,
“Birthday” :”1981/09/08”
“Tel” :”090-9999-8888”,
“deleteFlg”:false
}
登録されるデータ次第	
↓
データ構造に合った構造となる	
定義をアプリケーションで管理する
Document型
・Document型データベース	
・どのような特徴なのか?
登録データ
{”UserID” : ”10001”,
“Name” : ”名前”,
“Address” : ”住所”,
“Birthday” : ”1981/09/08”
“Tel” :”090-9999-8888”
“deleteFlg”:false
}
登録データ
{”UserID” : ”10002”,
“Name” : ”名前”,
“Address” :”住所”,
“Birthday” :”1981/10/12”
“Tel” :”080-6666-7777”,
“Mail” :”test@abc.co.jp”,
“deleteFlg”:false
}
上記の2データを[Address=“住所”]の条件のもと扱える
データ構造の異なる2データを透過的に扱うことが出来る。
異なる部分の処理をアプリケーションに依存させる。
Document型
・Document型データベース	
・代表的なソフトウェアは?
MongoDB
開発元:MongoDB Inc.
開発言語:C++
ライセンス:GNU AGPL v3.0
企業サポートなども展開している。
独自クライアントによる問い合わせが基本となる
データはJSONで表現(内部はBSON)
Document型
・Document型データベース	
・代表的なソフトウェアは?
CouchDB
開発元:Apache Software Foundation
開発言語:Erlang
ライセンス:Apache License 2.0
Map/Reduceによるデータ操作
RestfulAPIによるアクセス (GET,POST,DELETなど)
データはJSONとして表現
FemtoDB
FemtoDB?
・FemtoDBって?	
・2014年より開発を開始したドキュメント型のデータベース
昨日Version 0.0.3をリリースしました
 
Apache License, Version 2.0
FemtoDB?
・なぜ開発したか?	
・普段業務ではKVSのokuyamaを使ったアプリケーション開発
こういった用途には凄くむいている
・データ構造が単純
・一意のデータ登録/取得がメイン
 アプリケーションのキャッシュにしたり、ファイルサーバの
バックエンドストレージなどにつかったり
FemtoDB?
・なぜ開発したか?	
・あるときokuyamaを使ってサイト内商品検索エンジンを構築
  >これを自社サービス化
顧客ECデータベース
MySQLやOracleなど
TSV
	
商品のデータを出力 商品データと
全文検索インデックスなどを
作成し登録
検索エンジンの
フロントサーバが参照
FemtoDB?
・なぜ開発したか?	
・いろいろ問題が
これらのことから検索やソートが得意でトランザクションが使え
データ構造が柔軟なデータベースをつくろうと考えた
  ・トランザクションがないからデータの一括入れ替えとか出来ない
  ・全文検索はokuyamaで、それ以外の検索、ソートは検索アプリ
ケーション上で実現しておりロジックが複数箇所に点在
・okuyama+検索アプリケーションサーバの構成なのでどうしても
構成が大きくなりがち
特徴は?
・FemtoDBの特徴とは?	
・ データ構造
・ インタフェース
・ データアクセス機能
・ トランザクション
・ データ管理機能
データ構造
・FemtoDBのデータ構造	
FemtoDB
Table
JSON
データ構造
・FemtoDBのデータ構造	
FemtoDB
Table
JSON
・1プロセスでのシングルプロセス構成
・他プロセスとの連携等なし
データ構造
・FemtoDBのデータ構造	
FemtoDB
Table
JSON
・データ管理単位テーブル
全てのデータはいずれかのテーブルに属する
・リソースの許す限り作成可能
データ構造
・FemtoDBのデータ構造	
FemtoDB
Table
JSON
・KeyとValueが文字型である単純な連想配列型
・ネストした形式は扱えない
データ構造
・最小単位のJSON部分を詳しく	
JSON
・ネスト構造を持たない単純な構造のみ管理可能
{”UserID” :”10001”,
“Name” :”名前”,
“Address”:”住所”,
“Birthday”:”1981/09/08”,
“Tel” :”090-9999-8888”,
“deleteFlg”:false
}
{”UserID” :”10001”,
“Name” :”名前”,
“Address” :”住所”,
“Birthday” :”1981/09/08”
“Tel” :”090-9999-8888”,
 “School” :{“小学校”:”XXXX”,
“中学校”:”YYYY”,
“高校”:”ZZZZZ”}
“deleteFlg”:false
}
扱える	
扱えない
データ構造
・最小単位のJSON部分を詳しく	
異なる構造のJSONを1テーブルで扱える
・以下の2種類のJSONデータを同じ条件で取得可能
{”UserID” :”10001”,
“Name” :”名前XX”,
“Address” :”住所XX”,
“Birthday” :”1981/09/08”
“Tel” :”090-9999-8888”,
“deleteFlg” :false
}
{”UserID” :”10002”,
“Name” :”名前YY”,
“Address” :”住所YY”,
“Birthday” :”1985/09/08”
“HighSchool”:”YYY高校”,
“deleteFlg” :false
}
・「deleteFlg = false」の条件で2件とも取得可能
・「Tel = “090-9999-8888」の条件でUserIDが10001だけ取得
特徴は?
・FemtoDBの特徴とは?	
・ データ構造
・ インタフェース
・ データアクセス機能
・ トランザクション
・ データ管理機能
インタフェース
・操作インターフェース
・RestfulAPIで全ての操作を行う
起動と同時にHTTPサーバが起動
※デフォルトでは8080番ポートで起動
インタフェース
FemtoDB	
HTTP:8080	
・HTTPサーバにはJettyを利用
・ポートは起動引数で変更可能
・最大同時接続数は起動引数にて指定可能
・クエリの同時実行数は接続数とは個別で指定可能
・HTTPSは未対応
・RestfulAPIで全ての操作を行う
起動と同時にHTTPサーバが起動
※デフォルトでは8080番ポートで起動
・操作インターフェース
インタフェース
・RestfulAPIインタフェース
・リクエスト:パスとメソッドの組み合わせ
・レスポンス:JSON形式による応答	
FemtoDB	
Request: GET : /femtodb/dataaccess	
{”UserID”:”10001”,
“Name”:”名前”,
“Address”:”住所”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
Response: text/json
インタフェース
・データローダー
・TSV/CSVファイルを登録するデータローダ
FemtoDB	
ローダー	
TSV
	
・1トランザクション処理内で行われる
 登録失敗等が起こると自動ロールバック
・カラム情報はヘッダーに定義するか自動作成
特徴は?
・FemtoDBの特徴とは?	
・ データ構造
・ インタフェース
・ トランザクション
・ データアクセス機能
・ データ管理機能
トランザクション
・トランザクション機能を搭載している	
MVCCを参考にしたトランザクション機能
・MVCC(マルチバージョン コンカレンシー コントロール)
 MVCCの動きは書き込みトランザクション中に読み込み
 トランザクションが発生すると1つ前のバージョンの情報を返す
 
そのため読み込みと書き込み処理を同一データに対して
 同時に実行可能
トランザクション
・MVCCの挙動	
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
} 更新処理	
1.トランザクション内で更新処理が始まる
トランザクション
・MVCCの挙動	
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
} 更新処理	
1.トランザクション内で更新処理が始まる
2.更新前データと更新中データが分離される
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
更新前	
更新中
トランザクション
・MVCCの挙動	
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
更新前	
更新中	
更新処理	
参照処理	
1.トランザクション内で更新処理が始まる
2.更新前データと更新中データが分離される
3.参照処理には更新前データが返される
トランザクション
・MVCCの挙動	
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
更新前	
更新中	
更新処理	
参照処理	
更新中データを別トランザクションが
更新しようとした場合は、後続処理がエラーとなる
別の更新処理	
☓
トランザクション
・トランザクションの適応範囲	
・全てのデータ操作処理(テーブル操作は対象外)は
 トランザクションが適応されて処理される。
・明示的なトランザクション開始、コミット、ロールバック、終了
 
トランザクションで隠蔽された範囲内で複数のデータ処理を
行うことができる。
・開始を宣言しないオートコミットトランザクション
1リクエスト単位でトランザクションを作成し処理
 処理失敗時は自動的にロールバック
 処理成功時は自動的にコミット
特徴は?
・FemtoDBの特徴とは?	
・ データ構造
・ インタフェース
・ トランザクション
・ データアクセス機能
・ データ管理機能
データアクセス機能
・FemtoDBへのアクセスAPI
・テーブル作成用API
・トランザクション操作用API
・データ操作用API
テーブル操作
・テーブル操作API
・テーブルの作成
・テーブル削除
・インデックスの追加作成
・テーブル情報の閲覧
テーブル操作
・テーブル操作API
・テーブルの作成
URLパス:/femtodb/table
メソッド:POST
 パラメータ:table=usermst
:indexcolumns=userid:equal
http://localhost:8080/femtodb/table?table=usermst&indexcolumns=userid:equal	
実際にURLで指定すると以下のようになる	
$curl http://localhost:8080/femtodb/table?table=usermst&indexcolumns=userid:equal -X POST
テーブル操作
・テーブル操作API
・テーブルの作成
・テーブル削除
・インデックスの追加作成
・テーブル情報の閲覧
テーブル操作
・テーブル操作API
・テーブルの削除
URLパス:/femtodb/table
メソッド:DELETE
 パラメータ:table=usermst
http://localhost:8080/femtodb/table?table=usermst	
実際にURLで指定すると以下のようになる	
$curl “http://localhost:8080/femtodb/table?table=usermst” -X DELETE	
このようにURLとメソッドの
組み合わせで処理を実行
テーブル操作
・テーブル操作API
・テーブルの作成
・テーブル削除
・インデックスの追加作成
・テーブル情報の閲覧
テーブル操作
・テーブル操作API
・インデックスの追加作成
インデックスの説明
・検索用インデックスを作成可能
 検索を高速に行うインデックスを作成可能
インデックスの種類は2種類
ハッシュIndex:完全一致、範囲一致用
テキストIndex:全文検索用のインデックス
インデックスの説明
・ハッシュIndex
データのカラムの値	
 カラムデータが同じデータ	
100000	
 [{データ1},{データ5}]
100001 [{データ42},{データ452}]
108100	
 [{データ2},{データ6}, {データ9}]
200000	
 ・・・
200100 ・・・
200200	
 ・・・
300009	
 ・・・
400000	
 ・・・{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
カラムデータの部分が
同じデータが束ねられるて
管理される
インデックスの説明
・テキストIndex
データのカラムの値	
 カラムデータが同じデータ	
名前YY	
 [{データ1},{データ5}]
名前XX [{データ42},{データ452}]
名前ZZ	
 [{データ2},{データ6}, {データ9}]
・・・・・	
 ・・・
・・・・・ ・・・
・・・・・	
 ・・・
・・・・・	
 ・・・
・・・・・	
 ・・・{”UserID”:”10001”,
“Name”:”名前XX”,
“Address”:”住所XX”,
“Birthday”:”1981/09/08”
“Tel”:”090-9999-8888”
“deleteFlg”:false
}
カラム内の文字列を構文解析し
転置インデックスを作成
解析には形態素解析器の
kuromojiを利用 m(_ _)m
テーブル操作
・テーブル操作API
・インデックスの追加作成
URLパス:/femtodb/table
メソッド:PUT
 パラメータ:table=usermst
:indexcolumns=userid:equal
 テーブル作成時に指定しなかった場合に
 データ登録後に追加作成可能
テーブル操作
・テーブル操作API
・テーブルの作成
・テーブル削除
・インデックスの追加作成
・テーブル情報の閲覧
テーブル操作
・テーブル操作API
・テーブル閲覧
URLパス:/femtodb/table
メソッド:GET
 パラメータ:table=usermst
 作成されているテーブルの一覧と
 インデックスの一覧情報を取得
データアクセス機能
・FemtoDBへのアクセスAPI
・テーブル作成用API
・トランザクション操作用API
・データ操作用API
トランザクション操作
・トランザクション操作API
トランザクション操作は大きく以下の4種類
・トランザクションを開始する
・トランザクションをコミットする
・トランザクションをロールバックする
・トランザクションを終了する
これらの命令がそれぞれAPIとして提供されている
トランザクション操作
・利用イメージ
1.トランザクション開始API呼び出し	
FemtoDB	
ユニークなIDが返される	
2. データ操作APIを呼び出す
その際1で取得したIDをパラメータとして付加
3.コミット/ロールバックAPI呼び出し
1で取得したIDをパラメータとして付加
4.トランザクション終了API呼び出し
1で取得したIDをパラメータとして付加
transactionno=1002
トランザクション操作
・利用イメージ
1.トランザクション開始API呼び出し	
FemtoDB	
ユニークなIDが返される	
2. データ操作APIを呼び出す
その際1で取得したIDをパラメータとして付加
3.コミット/ロールバックAPI呼び出し
1で取得したIDをパラメータとして付加
4.トランザクション終了API呼び出し
1で取得したIDをパラメータとして付加
・異なるIDでデータ操作を呼び出し
2の操作中のデータは参照出来ない
transactionno=9998
データアクセス機能
・FemtoDBへのアクセスAPI
・テーブル作成用API
・トランザクション操作用API
・データ操作用API
データ操作
・データ操作API
・データ登録
・データ検索
・データ更新
・データ削除
データ操作
・データ操作API
・データ登録
URLパス:/femtodb/dataaccess
メソッド:POST
 パラメータ:table=usermst
:data={JSON形式}
実際にURLで指定すると以下のようになる	
$curl http://localhost:8080/femtodb/dataaccess
-d “table=usermst“
-d “data={‘userid’:’0001’, ‘name’:’名前XXX’, ‘address’:’住所XXX’}”
-d “data={‘userid’:’0002’, ‘name’:’名前YYY’, ‘tel’:’090-9999-8888’}”
-X POST	
主キーの概念はないので同一内容のデータも複数登録される
データ操作
・データ操作API
・データ登録
・データ検索
・データ更新
・データ削除
データ操作
・データ操作API
・データ検索
URLパス:/femtodb/dataaccess
メソッド:GET
 パラメータ:table=usermst
:where=条件
:sort=並び替えカラム名
:limit=取得件数
:offset=取得開始位置
データ操作
・where部分
・取得条件を指定
指定は
カラム名 [条件式] パラメータ
 条件式は “=“ , “text” , “<” ,”>” , “in”, “notin”
※ “=“及び、”text”は定義したインデックスカラムの場合
     インデックス検索が行われる
※ 全てのデータに含まれないカラムの場合は含まれない
データは除外される
データ操作
・sort部分
・並び替えを指定
指定は
カラム名 順序 [数値ヒント]
・順序はasc/desc
・数値ヒントはデータを数値として並び替える
  ※ データによってカラムが存在しない場合は後端へ
データ操作
・データ操作API
・データ登録
・データ検索
・データ更新
・データ削除
データ操作
・データ操作API
・データ更新
URLパス:/femtodb/dataaccess
メソッド:PUT
 パラメータ:table=usermst
:where=条件
:data={JSON}
where部分は検索と同様の指定方法。インデックスも適応。
更新データはJSONフォーマットで指定
{“deleteflg”:”0”} 、 {“newcolumn”:”newdata”}
データ操作
・データ操作API
・データ登録
・データ検索
・データ更新
・データ削除
データ操作
・データ操作API
・データ削除
URLパス:/femtodb/dataaccess
メソッド:DELETE
 パラメータ:table=usermst
:where=条件
where部分は検索と同様の指定方法
インデックスも適応
条件の対象が全て削除される
データ操作
・データ操作API
・トランザクションIDの付加
  全てのデータ操作APIにトランザクションIDを
付加することが出来る
例)更新の場合
$curl http://localhost:8080/femtodb/dataaccess
-d “table=usermst“
-d “where=userid = 0001”
-d “data={‘deleteflg’:’1’}”
-d “transactionno=1002”
-X PUT
特徴は?
・FemtoDBの特徴とは?	
・ データ構造
・ インタフェース
・ トランザクション
・ データアクセス機能
・ データ管理機能
データ管理機能
・全てのデータはメモリ上で管理
テーブル定義、データ、インデックス情報の
全てがメモリ上で管理される
そのため処理においてディスクアクセスは発生しない
FemtoDB	
テーブル作成、データ登録処理…etc
データ検索処理…etc
データ管理機能
・メモリデータ+ジャーナルファイル
メモリ上のデータのため、FemtoDBが停止すると
データは全て消失する
使いづらいのでジャーナル機能を搭載
※デフォルトOff 起動オプションで利用可能
FemtoDB	
テーブル作成、データ登録処理…etc
データ検索処理…etc
データは全てメモリへ
参照も全てメモリ
・更新系操作は全てログとして記録
・起動時にログからデータを復元
データ管理機能
・スナップショット機能を開発中
ジャーナルファルだけでは操作の蓄積でログが肥大化し
復元が長時間化する
 ・ 一定時間毎に全てのデータをストアするスナップショット機能
操作ログ
長時間稼働しデータ更新を
行うとログが肥大化する	
最初から最後まで
トレースするのに
凄く時間がかかる
データ管理機能
・スナップショット機能を開発中
ジャーナルファルだけでは操作の蓄積でログが肥大化し
復元が長時間化する
 ・ 一定時間毎に全てのデータをストアするスナップショット機能
操作ログ
稼働中にある程度
ログが溜まったタイミング
でスナップショットを作成	
FemtoDB	
スナップショット作成
データ管理機能
・スナップショット機能を開発中
ジャーナルファルだけでは操作の蓄積でログが肥大化し
復元が長時間化する
 ・ 一定時間毎に全てのデータをストアするスナップショット機能
操作ログ
稼働中にある程度
ログが溜まったタイミング
でスナップショットを作成	
FemtoDB	
スナップショット作成	
作成した部分までを削除	
操作ログ
最後に
・Information
GitHub
  https://github.com/okuyamaoo/femtodb
twitter
@okuyamaoo
Thank you!

More Related Content

What's hot

MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありippei_suzuki
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~kishimotosc
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめGosuke Miyashita
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBippei_suzuki
 
ARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイドARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイドdecode2016
 
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用についてAmazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用についてTaiji INOUE
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersHiroaki Kubota
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...Insight Technology, Inc.
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについてippei_suzuki
 
Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Tanaka Yuichi
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
ハンズのDynamoDBクラウドパターン
ハンズのDynamoDBクラウドパターンハンズのDynamoDBクラウドパターン
ハンズのDynamoDBクラウドパターンNaoyuki Yamazaki
 
Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgresKosuke Kida
 
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発kishimotosc
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係datastaxjp
 
Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発kishimotosc
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshimaKosuke Kida
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話dcubeio
 

What's hot (20)

MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もあり
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
 
ARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイドARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイド
 
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用についてAmazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
 
Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Pysparkで始めるデータ分析
Pysparkで始めるデータ分析
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
ハンズのDynamoDBクラウドパターン
ハンズのDynamoDBクラウドパターンハンズのDynamoDBクラウドパターン
ハンズのDynamoDBクラウドパターン
 
Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgres
 
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshima
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話
 
Cassandra v0.6-siryou
Cassandra v0.6-siryouCassandra v0.6-siryou
Cassandra v0.6-siryou
 

Similar to 20140418 info talkセミナー資料

20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料Takahiro Iwase
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化Nobuyori Takahashi
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告Code4Lib JAPAN
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
学外から電子ジャーナル?!(データベースも)
学外から電子ジャーナル?!(データベースも)学外から電子ジャーナル?!(データベースも)
学外から電子ジャーナル?!(データベースも)Yuji Nonaka
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』Insight Technology, Inc.
 
20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ一希 大田
 
実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法Soudai Sone
 
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)Kenichi Hoshi
 
Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -t8kobayashi
 
データベース技術の羅針盤
データベース技術の羅針盤データベース技術の羅針盤
データベース技術の羅針盤Yoshinori Matsunobu
 
20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロHiyou Shinnonome
 
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)Takahiro Kitayama
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめYasushi Hara
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation libraryKouta Shiobara
 
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Serviceモバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a ServiceYuta Matsumura
 
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...Insight Technology, Inc.
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発infinite_loop
 
Add PLEASE clause to Oracle Database
Add PLEASE clause to Oracle DatabaseAdd PLEASE clause to Oracle Database
Add PLEASE clause to Oracle DatabaseNoriyoshi Shinoda
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fsTakahiro Iwase
 

Similar to 20140418 info talkセミナー資料 (20)

20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
学外から電子ジャーナル?!(データベースも)
学外から電子ジャーナル?!(データベースも)学外から電子ジャーナル?!(データベースも)
学外から電子ジャーナル?!(データベースも)
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
 
20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ
 
実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法
 
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
 
Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -
 
データベース技術の羅針盤
データベース技術の羅針盤データベース技術の羅針盤
データベース技術の羅針盤
 
20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ
 
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation library
 
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Serviceモバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
 
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
[db tech showcase Tokyo 2018] #dbts2018 #D24 『異種データベース間データ連携ウラ話 ~ 新しいデータベースを試...
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
Add PLEASE clause to Oracle Database
Add PLEASE clause to Oracle DatabaseAdd PLEASE clause to Oracle Database
Add PLEASE clause to Oracle Database
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
 

More from Takahiro Iwase

Re port aws_reinvent_161213_slideshare
Re port aws_reinvent_161213_slideshareRe port aws_reinvent_161213_slideshare
Re port aws_reinvent_161213_slideshareTakahiro Iwase
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料Takahiro Iwase
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)Takahiro Iwase
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸Takahiro Iwase
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssTakahiro Iwase
 
20110708 dist_study okuyama
20110708 dist_study okuyama20110708 dist_study okuyama
20110708 dist_study okuyamaTakahiro Iwase
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudyTakahiro Iwase
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会Takahiro Iwase
 
okuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonokuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonTakahiro Iwase
 
2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyamaTakahiro Iwase
 

More from Takahiro Iwase (12)

Re port aws_reinvent_161213_slideshare
Re port aws_reinvent_161213_slideshareRe port aws_reinvent_161213_slideshare
Re port aws_reinvent_161213_slideshare
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ss
 
Kvs okuyama-20110818
Kvs okuyama-20110818Kvs okuyama-20110818
Kvs okuyama-20110818
 
20110708 dist_study okuyama
20110708 dist_study okuyama20110708 dist_study okuyama
20110708 dist_study okuyama
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会
 
okuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonokuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoon
 
2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama
 

20140418 info talkセミナー資料