• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
An Introduction To FluidDB - a social database in the cloud
 

An Introduction To FluidDB - a social database in the cloud

on

  • 8,802 views

Introductory material that answers the what, why and how questions relating to FluidDB (a new cloud-based database that simplifies creating, sharing, annotating and reusing information).

Introductory material that answers the what, why and how questions relating to FluidDB (a new cloud-based database that simplifies creating, sharing, annotating and reusing information).

Statistics

Views

Total Views
8,802
Views on SlideShare
7,501
Embed Views
1,301

Actions

Likes
12
Downloads
51
Comments
2

15 Embeds 1,301

http://fluidinfo.com 666
http://www.fluidinfo.com 282
http://skillsmatter.com 162
https://fluidinfo.com 88
http://www.slideshare.net 44
http://smash 33
https://www.fluidinfo.com 9
http://paper.li 7
http://a0.twimg.com 3
http://coderwall.com 2
http://new.fluidinfo.com 1
http://localhost 1
http://localhost:8000 1
http://www.mefeedia.com 1
http://fluidinfo.com:81 1
More...

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

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    An Introduction To FluidDB - a social database in the cloud An Introduction To FluidDB - a social database in the cloud Presentation Transcript

    • An Introduction to FluidDB http://fluidinfo.com
    • What?
    • FluidDB is a database “in the cloud” built by Fluidinfo and currently in private-Alpha testing.
    • There is only one FluidDB. All users and applications share the same database.
    • Why..?
    • As Wikipedia is to traditional encyclopaedias so FluidDB is to traditional database solutions.
    • / http://www.flickr.com/photos/psd/1428129861 Make the world writeable
    • http://www.flickr.com/photos/juhansonin/3227851094/ No pre-defined schema
    • The Glass Wall http://www.liamdelahunty.com/tips/usability_bbc_redesign_the_glass_wall.php Create, share, organise and understand information
    • http://www.flickr.com/photos/chiaramarra/1048662923/ Simplify and enhance the model of control
    • How?
    • Key Concepts • Objects - represent things* • Tags - define object’s attributes • Namespaces - organise tags • Permissions - control access * NOT instantiations of classes as in OO, but simply “objects” in the common-sense use of the term.
    • Data structure subject / predicate / value (similar to RDF)
    • Data structure object / tag / value (in FluidDB parlance)
    • http://ntoll.org/images/93.jpg Objects are tagged with information
    • Namespaces and tags are pre-defined by users ntoll/rating terrycojones/books/review amazon.com/book/title amazon.com/book/author amazon.com/book/isbn esteve/books/cover timoreilly/has_read (Every namespace and tag has a description and is itself represented by an object so meta-tagging is allowed)
    • A basic object: about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object (The about tag is a convention to help indicate what the object represents. It is optional but must be unique)
    • r= ove /c ks oo ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook = 8-7 517 s/isbn 5 - 6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object = am az iew on timoreill v /re s” r= s .c om ok rm er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” y/has_re ryc I lo itle k H ok ter “ = ran /bo “F om ad n.c azo am
    • r= ove /c ks oo ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook = 8-7 517 s/isbn 5 - 6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object Value Types: = am az iew on timoreill v /re s” r= s .c om ok rm er tho /bo wo “D /bo nes and un ok boolean erb s/au ojo ve s e” s/t t” y/has_re ryc I lo itle k H ok ter “ = string (& set) ran /bo “F om numeric ad n.c opaque azo am null
    • Opaque tag values each have a MIME type type = image/png
    • Other “primitive” types are returned as json
    • A simple and elegant RESTful API https://fluiddb.fluidinfo.com/objects/OBJECT_ID/NAMESPACE(S)/TAG e.g. https://fluiddb.fluidinfo.com/objects/e127475b-eb93-48e1-a24f-dde6825b9ed8/ntoll/rating HTTP ‘GET’ returns the value, HTTP ‘PUT’ adds/updates it etc... Full API: http://api.fluidinfo.com/fluidDB/api/*/*/*
    • snoissimreP (seem to be back-to-front)
    • r= Traditional: oo ks /c ove ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook = 8-7 517 s/isbn 5 - 6” = about = id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” = am az iew on timoreill v /re s” r= s .c om ok rm er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” y/has_re ryc I lo itle k H ok ter “ = ran /bo “F om ad n.c azo am
    • r= FluidDB: ks /c ove ntoll/ b oo ve/ te rating am es azo n.c “87 om/b = -41 ook 8-7 517 s/isbn 5 - 6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object = am az view on /re s” .c r= timoreill s om ok rm er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” ryc I lo itle k H ok y/has_re ter “ = ran /bo “F om n.c ad azo am
    • Permissions • Apply to namespaces, tags and tag-values not objects • Scoped by actions (e.g. “see”, “create”, “read”) • Either “open” or “closed” with a list of exceptions
    • Search (is simple)
    • FluidDB’s Query Language • Equality & Inequality: To find objects based on the numeric values or exact textual values, e.g., tim/rating > 5, or geo/name = "Llandefalle". • Textual: To find objects based on text matching their tag values, for example, sally/opinion matches “fantastic”. • Presence: Use has to request objects that have a given tag. For example, has sally/opinion. • Set contents: The contains operator can be used to select objects with a matching value in a set of strings. The query mary/product-reviews/keywords contains "kids" would match the object with a tag called /mary/product- reviews/keywords and value ["cool", "kids", "adventure" ]. • Exclusion: Exclude objects with the except keyword. For example has nytimes.com/appeared except has james/seen. The except operator performs a set difference. • Logic: Query components can be combined with and and or. For example, has sara/rating and tim/rating > 5. • Grouping: Parentheses can be used to group query components. For example, has sara/rating and (tim/rating > 5 or mike/rating > 7).
    • er... that’s it (QL fits on one slide and enhancements are coming soon)
    • http://www.flickr.com/photos/8001265@N08/2259250324/ LIVE DEMO!
    • Where?
    • • http://fluidinfo.com - First stop for more • http://fluidinfo.com/accounts/new - Sign up! • http://tickery.net - Twitter on steroids • http://bit.ly/dicP8O - FluidRefreshmentDB • http://fluiddbexplorer.appspot.com - Browser
    • • @fluidDB @terrycojones @esteve on Twitter • #fluidDB on Freenode IRC • http://groups.google.com/group/fluiddb-users • http://groups.google.com/group/fluiddb-discuss
    • Lots of 3rd party libraries: http://bit.ly/9vvIal Java, Clojure, Lisp, .NET, Perl, Python, Ruby, PHP & Javascript (all open-source)
    • We’re listening to you though the usual caveats apply ;-)
    • http://www.flickr.com/photos/cambodia4kidsorg/260004685/ Nicholas Tollervey ntoll@ntoll.org ntoll on Twitter & IRC
    • Questions / Discussion