26
FluidDB Terry Jones terry@fluidinfo.com @terrycojones

FluidDB NYC Python presentation

Embed Size (px)

DESCRIPTION

Slides from a presentation on FluidDB by Terry Jones on April 20, 2010 to the NYC Python Meetup.

Citation preview

Page 2: FluidDB NYC Python presentation

Information

Page 3: FluidDB NYC Python presentation

The physical world is writable

(in some sense)

Page 4: FluidDB NYC Python presentation
Page 5: FluidDB NYC Python presentation
Page 6: FluidDB NYC Python presentation
Page 7: FluidDB NYC Python presentation
Page 8: FluidDB NYC Python presentation

Our brains are writable

Page 9: FluidDB NYC Python presentation

And we (programmers) have looked after our own needs pretty well

Page 10: FluidDB NYC Python presentation

A magic trick

Page 11: FluidDB NYC Python presentation

Making a problem disappear

1248

163264

128256512

1024?????

+

Page 12: FluidDB NYC Python presentation

Making a problem disappear

11111111111

110

1001000

10000100000

100000010000000

1000000001000000000

10000000000 +

1248

163264

128256512

1024?????

+

Page 13: FluidDB NYC Python presentation

VIII XVII XLIVLXXX XCVICCLV

Representation

Page 14: FluidDB NYC Python presentation

VIII XVII XLIVLXXX XCVICCLV +

Representation

Page 15: FluidDB NYC Python presentation

VIII XVII XLIVLXXX XCVICCLV

D+

Representation

Page 16: FluidDB NYC Python presentation

VIII XVII XLIVLXXX XCVICCLV

D+

Representation

Page 17: FluidDB NYC Python presentation

FluidDB

Make working with information more natural

Make the (computational) world writable

A single global shared database

The database with the heart of a wiki?

Page 18: FluidDB NYC Python presentation

A FluidDB app:

Tickery

Page 19: FluidDB NYC Python presentation

Python libs

Fluid Object Mapper (FOM), by Ali Afshar

fdb.py, by Nicholas Radcliffe

txFluidDB (Twisted!), by Tristan Seligmann

FluidDB Explorer, by Pier Parent

Page 20: FluidDB NYC Python presentation

twitter.com/friends/jack

A FluidDB object

⎧⎨⎩

⎫⎬⎭

twitter.com/users/status_count

terrycojones/people/works-at-bitly

twitter.com/users/screen_name

terrycojones/met

fluiddb/about

sally/comment

jamie/rating

hmason

“badass coder”

4191

7

“twitter.com:uid:765548”

Page 21: FluidDB NYC Python presentation

FluidDB is mainly Python

Twisted (http://twistedmatrix.com)

AMQP (txAMQP, RabbitMQ)

Thrift (txThrift)

Pyjamas (for Tickery)

txJSONRPC (Tickery)

Page 22: FluidDB NYC Python presentation

More info

Private alpha sign up:

http://fluidinfo.com/accounts/new

Then mail [email protected]

Blog: http://blogs.fluidinfo.com/fluidDB

Docs: http://doc.fluidinfo.com/fluidDB

Page 23: FluidDB NYC Python presentation

Information model

Objects with tags (with values)

Objects have no owners

A permissions system on tags

Tags organized into namespaces

A simple query language

Page 24: FluidDB NYC Python presentation

Queries

Numeric: tag value (=, <, etc.)

Set contents: tag contains “great”

Exclusion: price > 20 except rating < 3

Tag presence: has tag

Grouping/logic: (...), and, or

Textual: tag text match (coming!)

Page 25: FluidDB NYC Python presentation

Permissions

For each action on a namespace or tag:

There’s a policy: ‘open’ or ‘closed’

And a (perhaps empty) list of exceptions

Page 26: FluidDB NYC Python presentation

API

HTTP / REST based

JSON arguments & replies

A dozen client-side libraries (Python, Perl, Ruby, .Net, Java, etc)

Other APIs planned (XMPP, Thrift)