SlideShare a Scribd company logo
1 of 27
Download to read offline
Couchbase MeetUP
Tokyo #16
会場案内
•館内禁煙です。
•お手洗いは入り口逆のトビラをでた先です。
今日のアジェンダ
1. CoucbaseMobileとは

Couchbase Japan 河村さん
2. Couchbaseモバイル vs. Realm (仮)

JCBUGコミュニティリーダー 上津原一利
3. モバイルファーストで業務効率化!ローカルデータベースが作業
員を救う!

ウイングソリューションズ株式会社 木次恭一氏
4. IoTプラットフォーム「Zabuton」!

株式会社アットウェア 矢納正浩氏
5. 次回イベントの告知
COUCHBASE MEETUP
COUCHBASE LITE - REALM
比較してみた。
上津原 一利
アジェンダ
▸ 自己紹介
▸ 今回の目的
▸ 比較内容
▸ 各種比較結果
▸ 感想
自己紹介
自己紹介
上津原 一利(ウエンツ)
▸ iOSがだいたいメイン
▸ 基本フロントエンドばっかり
▸ いろんな技術に手を出してみるのが
好きです
▸ モバイル系∼ゲームエンジンあたり
がさわれます
今回の目的
今回の目的
モバイルデータベースが選べるように
▸ 3年前はSQLiteかそれをラップした、使い方を選ぶもの
だった

例)SQLiteを使うか、CoreDataを使うかCouchbaseLiteを
使うか
▸ そこで新たに、RealmというモバイルDBが出てきた

https://realm.io/jp/
今回の目的
REALMってなんぞや
▸ Realm is a replacement for SQLite & Core Data.
▸ モバイル向けの高速なDB
▸ 独自DB
▸ iOS/Android
今回の目的
どういう場合に何を選ぶか?
▸ データベースにも得意・不得意がある
▸ そこで、使い勝手や使い方を見て、

Objective-Cのプロジェクトにおいて

どういう時にCouchbaseLite、Realmを使うのが良いのか、
簡単なCRUDアプリケーションを実装しながら比較する。
▸ ※詳しく徹底的に調べたというわけではないので、

参考程度に聞いて下さい。
比較内容
比較内容
簡単なCRUDアプリケーションを作って比較
▸ XcodeのMasterDetailApplicationに組み込む
▸ C:日付データとチェックを入れる
▸ R:データをすべて読み込む
▸ U:チェック情報を書き直す
▸ D:データを削除する
各種比較結果
各種比較結果
組み込む
CouchbaseLite Realm
Cocoapods 可 可
どちらもCocoapodsを使ってインストールが可能。インストールの手間はあまり考える必要はない。
各種比較結果
DATABASE
CouchbaseLite Realm
複数のDB 可? 可
CouchbaseLiteは、ManagerでDB名を指定しそのデータベースを使い回すのが基本的な使い方だが

RealmはDefaultのものがまず用意され、必要に応じてDBを切り替えて利用ができる。
CouchbaseLiteも複数DBを作成して使い回すことができそうだが、未確認。
各種比較結果
CREATE
CouchbaseLite Realm
モデル 可 可
モデルなし
の操作
可 不可?
CouchbaseLiteは連想配列からもモデルからもデータを作ることが出来る。
Realmはまずはモデルクラスを作って、そこからの操作するのが基本になる。

モデルを作らずにデータを追加する事もできそうだが、データ検索などはクラス名を利用するため

あまりモデルを使わない理由はないかも?
各種比較結果
CREATE
▸ カラムの追加の時
Realmはスキーマレスな存在ではない。

例えば、モデルに date というカラムだけを使っていたが、

後から checked というカラムを追加したい場合、マイグレートロジックを追加する必要がある。
各種比較結果
READ
CouchbaseLite Realm
クエリ Map/Reduce NSPredicateライク
CouchbaseLiteは連想配列からもモデルからもデータを作ることが出来る。
Realmはまずはモデルクラスを作って、そこからの操作するのが基本になる。

モデルを作らずにデータを追加する事もできそうだが、データ検索などはクラス名を利用するため

あまりモデルを使わない理由はないかも?
各種比較結果
READ
CouchbaseLiteには特定クエリを監視して変更が起きたらロジックを起動するLiveQueryがある。

Realmはトランザクションが完了するたびにロジックを起動する通知機能がある。
データの変更が起きた時にアクションを自動で起こす、ということはどちらもできるが、

特定のクエリを監視してその変化を取得する事ができるのはCouchbaseLiteということになる。

ちなみにKVOはどちらにもあるのでオブジェクト単位での動作はどっちも可能。
▸ リアルタイム更新
Realmにはローカルを見れるブラウザが存在する。

対してCouchbaseLiteはSyncしていればデータの操作をウェブブラウザから可能。

ローカルのみでデータを取り扱い場合はRealmのほうがわかりやすい。
▸ データブラウザ
各種比較結果
UPDATE
CouchbaseLite Realm
Updateの
しかた
ドキュメントに
データをPut
objectにデータを代
入し直す
どちらもUpdateのしかたはシンプルです。

元データを取ってきて中身を変更する。それだけです。
Realmにはプライマリキーを指定していれば、別の機能もあるみたい。

https://realm.io/jp/docs/objc/latest/#section-20
各種比較結果
DELETE
CouchbaseLite Realm
deleteのし
かた
Documentを
Delete
objectをDelete
これらも特に違いはない。
感想
感想
COUCHABSE LITE経験者から見たREALM
▸ RLMResultというクラスが面白い

データのコピーではなく生きたデータになっている

それ故にデータ更新後にデータ取得をする必要が無い。
▸ RDBっぽい

キッチリした管理がしたいなら良さそう
▸ インメモリでも使える

ローカルに持たずともインメモリでも使えちゃう。面白い。

https://realm.io/jp/docs/objc/latest/#in-memory-realm
感想
REALMを使ってからのCOUCHBASE LITE
▸ モデルクラスがあったほうがヤッパリ便利
▸ Map/Reduceはやっぱりよくわからない

使い方の理解がまだハードルがある
▸ RealmからServerSyncするのは面倒くさそう…。

RealmにはJsonデータからデータをドンと突っ込む機能は特に無
いっぽい。全部実装する必要がある。

https://github.com/realm/realm-cocoa/blob/master/examples/
osx/objc/JSONImport/main.m
感想
ローカルのみか?サーバ込みか?が分かれどころ
▸ ローカルのみならRealmのほうが理解しやすく、学習コストが低く運用ができそう。
キャッシュとしての利用とかに良さそう。

ただし、カラムの追加とかが出るとちょっと面倒。

▸ CouchbaseLiteはSyncを使って真価を発揮するタイプ。

SyncすればWebブラウザでデータ操作もできるし。

操作にはサーバ担当者も居ると りそうです(MAP/REDUCEの相談とかデータ構造と
か)

▸ ただし、RealmはObjC/Swift/Androidのみなので、それ以外に利用するならば
Couchbase Liteのほうが良い。
質問とかあれば

More Related Content

Similar to Couchbase lite realm 比較

20101213 Nomad Worker MeetUp
20101213 Nomad Worker MeetUp20101213 Nomad Worker MeetUp
20101213 Nomad Worker MeetUpVisso株式会社
 
インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事Yasunori Ozaki
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたものYuki Yamakido
 
Decade 20091215
Decade 20091215Decade 20091215
Decade 20091215武 河野
 
IoTAgrisensingcontrol
IoTAgrisensingcontrolIoTAgrisensingcontrol
IoTAgrisensingcontrolIf_CQ
 
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話Koichi Ota
 
【配布用】20120411スターター資料スマホアプリご導入までの流れ
【配布用】20120411スターター資料スマホアプリご導入までの流れ【配布用】20120411スターター資料スマホアプリご導入までの流れ
【配布用】20120411スターター資料スマホアプリご導入までの流れDHRgroup
 
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by PlutoIoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Plutoleverages_event
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!Yuka Tokuyama
 
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」Satoshi Maemoto
 
Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets Yasunori Okajima
 
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかJazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかTsubasa Yoshino
 
GHP2020_Kintoneノーコード入門
GHP2020_Kintoneノーコード入門GHP2020_Kintoneノーコード入門
GHP2020_Kintoneノーコード入門HackCamp_Shihori
 
キッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライスキッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライストモロヲ いちがみ
 
ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減 ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減 Mikito Yoshiya
 
2016 0316 io tlt勉強会_掲載用
2016 0316 io tlt勉強会_掲載用2016 0316 io tlt勉強会_掲載用
2016 0316 io tlt勉強会_掲載用yasuyuki_suzuki
 
ニコニコ学会 Ubi camera-edit_umt_03
ニコニコ学会 Ubi camera-edit_umt_03ニコニコ学会 Ubi camera-edit_umt_03
ニコニコ学会 Ubi camera-edit_umt_03Furuyoshikun
 

Similar to Couchbase lite realm 比較 (20)

20101213 Nomad Worker MeetUp
20101213 Nomad Worker MeetUp20101213 Nomad Worker MeetUp
20101213 Nomad Worker MeetUp
 
What is tmcn for isit
What is tmcn for isitWhat is tmcn for isit
What is tmcn for isit
 
LINE dev meetup
LINE dev meetupLINE dev meetup
LINE dev meetup
 
インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたもの
 
Decade 20091215
Decade 20091215Decade 20091215
Decade 20091215
 
IoTAgrisensingcontrol
IoTAgrisensingcontrolIoTAgrisensingcontrol
IoTAgrisensingcontrol
 
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
 
【配布用】20120411スターター資料スマホアプリご導入までの流れ
【配布用】20120411スターター資料スマホアプリご導入までの流れ【配布用】20120411スターター資料スマホアプリご導入までの流れ
【配布用】20120411スターター資料スマホアプリご導入までの流れ
 
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by PlutoIoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
 
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
 
Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets
 
Not free
Not freeNot free
Not free
 
Jazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとかJazug tokyo-night bot-frameworkとかbotとか
Jazug tokyo-night bot-frameworkとかbotとか
 
GHP2020_Kintoneノーコード入門
GHP2020_Kintoneノーコード入門GHP2020_Kintoneノーコード入門
GHP2020_Kintoneノーコード入門
 
キッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライスキッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライス
 
ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減 ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減
 
2016 0316 io tlt勉強会_掲載用
2016 0316 io tlt勉強会_掲載用2016 0316 io tlt勉強会_掲載用
2016 0316 io tlt勉強会_掲載用
 
ニコニコ学会 Ubi camera-edit_umt_03
ニコニコ学会 Ubi camera-edit_umt_03ニコニコ学会 Ubi camera-edit_umt_03
ニコニコ学会 Ubi camera-edit_umt_03
 

Couchbase lite realm 比較