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

on

  • 237 views

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 ...

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.

Statistics

Views

Total Views
237
Views on SlideShare
237
Embed Views
0

Actions

Likes
1
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • beginning of a story, how did I start and what decisions I have taken <br />
  • PKD 1928 - 1982. A scanner darkly, Blade Runner, Total Recall. (szarnyas fejv, emlekmas) <br /> Ubik is about shifting realities. (pronounce U-bik) <br /> universality: no more REST, … it encapsulates a very generic part <br />
  • ubikDB is not really a DB :) <br /> Because I am thinking in connecting to web apps… <br /> Example: binding an input field to the title, 2 way binding all the way <br />
  • commercial <br />
  • is this possible - realistic - and worth to do? <br />
  • We have no $$$ but we are smart. <br /> And there are simple use cases. <br /> Also: it can be actually improved! api is single purpose + more possibilities because we can run our own server <br />
  • I’m not really implementing a DB, but more a syncing solution <br /> Substance-D: a framework for writing a Content Management Famework. It is based on Pyramid and has ZODB as batteries. <br />

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

  • 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
  • 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
  • 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…
  • Firebase • http://firebase.com • “The Realtime Application Platform” • database as service, commercial • clients: web (JS), IOS / OS X, Java / Android • db management interface
  • 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 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
  • 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
  • On the roadmap • reconnecting • optimised syncing of collections (use-case driven) • read-only (and writeable) database views • test coverage • more demos
  • Demo https://github.com/reebalazs/ubikdb