design architecture tradeoffs terry jones · design ⊳ architecture ⊳ tradeoffs fluiddb. how...
TRANSCRIPT
![Page 2: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/2.jpg)
How someonewho knows nothing about databases
started building a database
Or...
![Page 3: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/3.jpg)
FluidDB is not yet released
It’s an experiment
Much remains to be done
Alpha release real soon now (end of June?)
Early days
![Page 4: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/4.jpg)
Founded in the UK in March 2006
Two full-time employees
Development in Barcelona
Friends, family, & Esther Dyson funded
Fluidinfo
![Page 5: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/5.jpg)
How humans work with information: Concepts
User interface and API difficulties / restrictions
Personalization
Make the world more writable
Motivations
![Page 6: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/6.jpg)
Are not ownedNo formal structure
No permission is neededPartial or full disorganizationNo predefined set of qualities
No special central piece of contentEasy to reorganize or multiply organize
Concepts
![Page 7: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/7.jpg)
Are not ownedNo formal structure
No permission is neededPartial or full disorganizationNo predefined set of qualities
No special central piece of contentEasy to reorganize or multiply organize
To engineer this kind of flexibility,we must rethink control
Concepts
![Page 8: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/8.jpg)
Where did my information go?Can I extract, re-use, add, delete?Is there an API?What am I allowed to do?Can I search? On what?Special pleadingWouldn't it be cool if...
UIs and APIs
![Page 9: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/9.jpg)
Add anything to anything, and search on it
Protect, share, delete as you wish
Organize things as you please
Freedom of choice in applications
In our hands vs on our behalf
Personalization
![Page 10: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/10.jpg)
The web is readable (c. 1990)And searchable (c. 1995)But not generally writable
Read ⊳ Search ⊳ Write ?
![Page 11: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/11.jpg)
The web is readable (c. 1990)And searchable (c. 1995)But not generally writable
Read ⊳ Search ⊳ Write ?
Plus, search is not very interactive:Dull: refine query or ask for more resultsCan’t change resultsCan’t organize
![Page 12: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/12.jpg)
Why don’t our architectures let us work with information
more flexibly?
![Page 13: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/13.jpg)
What would it taketo build something that did?
![Page 14: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/14.jpg)
How can we address all these problems at once ?
![Page 15: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/15.jpg)
At PARC we had a slogan: “Point of view is worth 80 IQ points.” It was based on a few things from the past like how smart you had to be in Roman times to multiply two numbers together; only geniuses did it.
We haven't gotten any smarter, we've just changed our representation system. We think better generally by inventing better representations; that's something that we as computer scientists recognize as one of the main things that we try to do.
Alan Kay
![Page 16: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/16.jpg)
At PARC we had a slogan: “Point of view is worth 80 IQ points.” It was based on a few things from the past like how smart you had to be in Roman times to multiply two numbers together; only geniuses did it.
We haven't gotten any smarter, we've just changed our representation system. We think better generally by inventing better representations; that's something that we as computer scientists recognize as one of the main things that we try to do.
Alan Kay
![Page 17: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/17.jpg)
1248
163264
128256512
1024
110
1001000
10000100000
100000010000000
1000000001000000000
10000000000+ +?????? 11111111111
![Page 18: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/18.jpg)
VIII XVII XLIVLXXX XCVICCLV
![Page 19: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/19.jpg)
VIII XVII XLIVLXXX XCVICCLV +
![Page 20: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/20.jpg)
VIII XVII XLIVLXXX XCVICCLV
D+
![Page 21: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/21.jpg)
VIII XVII XLIVLXXX XCVICCLV
D+
![Page 22: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/22.jpg)
Or...
Use a poor representation with 264 (281,474,976,710,656) states:
Look for a smart algorithm!
Use a good representation with 8! (40,320) statesand exhaustive search as an algorithm!
8 queens problem
![Page 23: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/23.jpg)
digg.com/date
meg/web/rating
tim/seen
about
May 21, 2009
6
true
http://digg.com/news.html
mike/opinion “half-baked nonsense”
Objects
![Page 24: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/24.jpg)
Objects have no owner, though attributes do
No metadata/data duality
Unlimited aggregation & combination of information
No a priori organization
Search, search, search!
Dynamic data structures
What else?
![Page 25: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/25.jpg)
Objects composed of attributes with values
Attributes in namespaces: joe/rating, amazon.com/price
Simple query language
Simple API: HTTP, JSON, REST etc.
Users, attributes, namespaces each have an object
Applications are users too
FluidDB
![Page 26: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/26.jpg)
Single-instance hosted database (like SimpleDB)
Enables sharing between applications, people
Distributed storage and query processing
FluidDB
![Page 27: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/27.jpg)
Simple data model
Simple permissions model
Simple, easily parallelizable, query language
Horizontally scalable
Fast for common tasks
Implementable!
Design goals
![Page 28: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/28.jpg)
For each action on a namespace or attribute:
There’s a policy: ‘open’ or ‘closed’
And a (possibly empty) list of exceptions
Permissions
![Page 29: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/29.jpg)
attribute ornamespace
action policy exceptions
tim/seen read closed tim, meg
mike/opinion update open
mike/ create closed mike
meg/rating see open
meg/rating read closed meg
Permissions
![Page 30: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/30.jpg)
Numeric: attribute value (=, <, etc.)Textual: attribute text matchPresence: has attributeGrouping/logic: (...), and, or, not
Query language
![Page 31: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/31.jpg)
Numeric: attribute value (=, <, etc.)Textual: attribute text matchPresence: has attributeGrouping/logic: (...), and, or, not
Designed to bring back object ids
Query language
![Page 32: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/32.jpg)
Demo
![Page 33: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/33.jpg)
username seen, lastvisited, rating, goingtoread, commentusername me, FBfriend, linkedInContact, met, familyusername/myusername name, passwordflickr.com longitude, latitude, owner, date, camera/makeusername/flickr title, descriptionVCspotter fredwilson, bradburnhamnasdaq.com name, symbol, type, outstanding, value, priceusername/stocks shares, dategoogle.com pageranktracks album, artist, name, yearusername/music count, favorite, lastPlay, stars, bestOf2007
Data buffet
![Page 34: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/34.jpg)
email messageId, fromId, toIdusername/email from, to, subject, datealexa.com rankdigg.com title, description, date, diggsmahalo.com appeared, categoryreadwriteweb.com appearedreddit.com date, scoretechcrunch.com appeared, URIattribute description, name, pathnamespace description, name, path
Data buffet 2
![Page 35: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/35.jpg)
terry/rating > 5 and has reddit.com/score
has goingtoread and seen > "January 1, 2008"
has FBfriend and has linkedInContact
has james/FBfriend and not has anne/FBfriend
alexa.com/rank < 50 and fred/comment ~ cool
has reddit.com/score and not has digg.com/diggs
has readwriteweb.com/appeared and not has techcrunch.com/appeared
Example queries
![Page 36: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/36.jpg)
terry/seen > "July 1, 2007"
has russell/myusername/name and not has terry/myusername/name
flickr.com/latitude > 52.15 and flickr.com/latitude < 52.35 and flickr.com/camera/make ~ Sony and has sally/seen
amazon.com/stars > 3 and amazon.com/price < 20 and amazon.com/title ~ chess and peter/bookrating > 3 sort by amazon.com/publication-date
More queries
![Page 37: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/37.jpg)
Permissions
Software
Communications
Functional
Storage
Query processing
Per box
Architecture
![Page 38: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/38.jpg)
Asynchronous Python libraries
We’re using Python because of Twisted
Event-driven, using deferreds with callbacks
Steep learning curve, documentation is patchy
Twisted
![Page 39: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/39.jpg)
Standardized, high perfomance messaging
Backed by JP Morgan, Novell, MS, Redhat
Fully asynchronous, up to 600K messages/sec
Exchanges, queues, bindings
We released txAMQP
AMQP
![Page 40: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/40.jpg)
Released by Facebook
Serialization of structures
Definition of services
RPC
We released txThrift
Thrift
![Page 41: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/41.jpg)
AMQP
Communications
![Page 42: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/42.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
control
apps
Functional
![Page 43: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/43.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
Functional
![Page 44: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/44.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
amqp
amqp
Functional
![Page 45: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/45.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
amqp
amqp
Functional
![Page 46: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/46.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
other
other
amqp
amqp
Functional
![Page 47: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/47.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
load
load
load
load
other
other
amqp
amqp
Functional
![Page 48: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/48.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
load
load
load
load
other
other
memcache
memcache
amqp
amqp
Functional
![Page 49: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/49.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
load
load
load
load
other
other
memcache
memcache
amqp
amqp
db
db
db
db
db
db
db
db
Functional
![Page 50: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/50.jpg)
http
http
facade
facade
text
text
attr
attr
objects
objectsnamespace
namespacecoord
coord
coord
coord
sets
sets
xmpp
xmpp
load
load
load
load
other
other
memcache
memcache
amqp
amqp
kvdb
db
db
db
db
db
db
db
Functional
![Page 51: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/51.jpg)
object id user id value1234567 667 266527527 667 1882876281 17 2077628876 667 1225
meg/ratingobject id user id value526141 362 nice726483 362 fun635378 362 boring477582 362 sexy362782 362 long
tim/books/opinion
PostgreSQLTall tablesIndependent (column store)Backed by key/value store (Amazon S3, for now)
Attribute Storage
![Page 52: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/52.jpg)
and
or
has tim/seenmeg/rating > 5
digg/date > “Monday”
Query processing
![Page 53: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/53.jpg)
has tim/seen
meg/rating > 5
digg/date > “Monday”
attr set ops
Query processing
![Page 54: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/54.jpg)
has tim/seen
meg/rating > 5
digg/date > “Monday”
attr set ops
Attribute affinity
![Page 55: Design Architecture Tradeoffs Terry Jones · Design ⊳ Architecture ⊳ Tradeoffs FluidDB. How someone ... FluidDB is not yet released It’s an experiment Much remains to be done](https://reader031.vdocuments.net/reader031/viewer/2022011916/5fdd0af13b65f06a09090437/html5/thumbnails/55.jpg)
A controller service, launched on boot
The controller launches new services (processes)
All services talk AMQP as well as pure Thrift
A coordinator brings up new boxes & services
We use Amazon EC2, for now
Per box