Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ubikDB: an introduction
Building a real time distributed database
for the browser
2014-02-26, budapest_py

Balázs Reé
ree@...
Ubik is a book of Philip K. Dick.
Ubik is an universal product.
!

shared database = persistency + notifications
syncing JS...
Data and event flow
•

it’s a sync solution

•

networking through http

•

•
•

‘service’ could be a web
application
Datab...
Firebase
•

http://firebase.com

•

“The Realtime Application Platform”

•

database as service, commercial

•

clients: we...
Firebase raised $5,6M in 2013.
Is this possible to do
in open source?
Implementation choices
•

2013 Pyramid sprint
in Halle (a.k.a “Wasp
Base”)

•

Substance-D

•

syncing client data
with so...
Url mapping between
ubikDB and ZODB
•

both ZODB and ubikDB has traversal based url
mapping

•

/my_folder_1/my_document_1...
On the roadmap
•

reconnecting

•

optimised syncing of collections (use-case driven)

•

read-only (and writeable) databa...
Demo
https://github.com/reebalazs/ubikdb
ubikDB intro: Building a real-time distributed database for the browser
Upcoming SlideShare
Loading in …5
×

ubikDB intro: Building a real-time distributed database for the browser

606 views

Published on

Building a real-time distributed database for the browser. This presentation was held on a Python meetup in Budapest. I talked about the initial idea of ubikDB, what are my results so far, and how I plan to continue.

Published in: Technology
  • Be the first to comment

ubikDB intro: Building a real-time distributed database for the browser

  1. 1. ubikDB: an introduction Building a real time distributed database for the browser 2014-02-26, budapest_py Balázs Reé ree@greenfinity.hu @reebalazs Python, JavaScript web development with open source
  2. 2. Ubik is a book of Philip K. Dick. Ubik is an universal product. ! shared database = persistency + notifications syncing JSON data in the browser real-time, responsive applications
  3. 3. Data and event flow • it’s a sync solution • networking through http • • • ‘service’ could be a web application Database adapters Simplest: volatile mem storage Clients Server service JSON DB adapters mem MVC… … JSON MVC…
  4. 4. Firebase • http://firebase.com • “The Realtime Application Platform” • database as service, commercial • clients: web (JS), IOS / OS X, Java / Android • db management interface
  5. 5. Firebase raised $5,6M in 2013. Is this possible to do in open source?
  6. 6. Implementation choices • 2013 Pyramid sprint in Halle (a.k.a “Wasp Base”) • Substance-D • syncing client data with socket.io (via http) • server connects to database adapters to existing DB Clients Server web app JSON DB adapters mem ZODB http, socket.io Pyramid (Substance-D) gevent-socketio gunicorn JSON socket.io-client AngularJS
  7. 7. Url mapping between ubikDB and ZODB • both ZODB and ubikDB has traversal based url mapping • /my_folder_1/my_document_1 • /my_folder_1/my_document_1/@title • /my_folder_1/my_document_1/@body • /my_folder_1/my_document_1/@ • /my_folder_1/my_document_1/@/into/a/deep/structure
  8. 8. On the roadmap • reconnecting • optimised syncing of collections (use-case driven) • read-only (and writeable) database views • test coverage • more demos
  9. 9. Demo https://github.com/reebalazs/ubikdb

×