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
230
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
97
Couchbase Mobile Architecture
snej
2
360
Couchbase Mobile Update
snej
3
630
Introduction To TouchDB
snej
6
3k
Other Decks in Programming
See All in Programming
型で語るカタ
irof
0
760
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
410
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
250
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
13k
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
420
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
150
Hack Claude Code with Claude Code
choplin
8
2.7k
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
7.6k
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
9.1k
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.1k
Jakarta EE Meets AI
ivargrimstad
0
190
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.2k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Writing Fast Ruby
sferik
628
62k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
What's in a price? How to price your products and services
michaelherold
246
12k
BBQ
matthewcrist
89
9.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
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