Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BaseCouch
Search
Jens Alfke
October 25, 2012
Programming
0
240
BaseCouch
Letting CouchDB (and TouchDB) replicate with Couchbase Server 2
Jens Alfke
October 25, 2012
Tweet
Share
More Decks by Jens Alfke
See All by Jens Alfke
Couchbase Mobile 101
snej
0
100
Couchbase Mobile Architecture
snej
2
370
Couchbase Mobile Update
snej
3
650
Introduction To TouchDB
snej
6
3k
Other Decks in Programming
See All in Programming
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
230
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
130
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
140
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
4k
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
500
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
2k
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
170
モダンOBSプラグイン開発
umireon
0
180
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
Six Lessons from altMBA
skipperchong
29
4.2k
Designing for Timeless Needs
cassininazir
0
170
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing for humans not robots
tammielis
254
26k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Utilizing Notion as your number one productivity tool
mfonobong
4
270
Music & Morning Musume
bryan
47
7.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Transcript
BaseCouch letting CouchDB (and TouchDB) replicate with Couchbase Server 2
Jens Alfke ~ Oct 24, 2012 Thursday, October 25, 12
BaseCouch Thursday, October 25, 12
BaseCouch Is… a little HTTP listener written in Go (~2500LOC;
my first Go program!) that understands a subset of CouchDB’s REST API: For pull: _changes, GET doc … For push: _revs_diff, _bulk_docs … and stores CouchDB docs in Couchbase Thursday, October 25, 12
BaseCouch Is Not… a full CouchDB-compatible server (no views, no
replicator, other API bits missing) a way to make Couchbase databases accessible through CouchDB Thursday, October 25, 12
IT HAZ A SCHEMA LET ME SHOW U IT… Thursday,
October 25, 12
Schema: Database {“name”: “demodb”, “docPrefix”: “doc:demodb/A9FF:”} cdb:demodb 232 seq:demodb Thursday,
October 25, 12
Schema: Document {“id”: “sample-doc”, “rev”: “3-cfsdklaeip”, “sequence”: 231, “history”: {
“revs”: [...], “parents”: [...], “keys”: [...], “deleted”: [...] } } doc:demodb/A9FF:sample-doc parent 2-9#f(Jq key sha1-X*@! deleted false 3-cfsdklaeip Conceptually, “history” is a map: Thursday, October 25, 12
Revisions/Attachments {“name”: “INVISIBLE SANDWICH”, “year”: 2007, “subtype”: “invisible things” “_attachments”:
{ “img.jpg”: { “digest”: “md5-X&_x3”, “length”: 8032 } } } rev:sha1-X*@! att:md5-X&_x3 Thursday, October 25, 12
Revisions/Attachments Content-Addressable Store No duplicates are stored Efficient for Syncpoint-style
server with lots of similar databases Requires explicit garbage collection Thursday, October 25, 12
Views Used all_dbs all_docs changes all_bits revs atts for garbage
collection } Thursday, October 25, 12
github.com/couchbaselabs/basecouch Thursday, October 25, 12