SlideShare a Scribd company logo
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

More Related Content

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

An Introduction To FluidDB - a social database in the cloud

  • 1. An Introduction to FluidDB http://fluidinfo.com
  • 3. FluidDB is a database “in the cloud” built by Fluidinfo and currently in private-Alpha testing.
  • 4. There is only one FluidDB. All users and applications share the same database.
  • 6. As Wikipedia is to traditional encyclopaedias so FluidDB is to traditional database solutions.
  • 7. / http://www.flickr.com/photos/psd/1428129861 Make the world writeable
  • 9. The Glass Wall http://www.liamdelahunty.com/tips/usability_bbc_redesign_the_glass_wall.php Create, share, organise and understand information
  • 11. How?
  • 12. 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.
  • 13. Data structure subject / predicate / value (similar to RDF)
  • 14. Data structure object / tag / value (in FluidDB parlance)
  • 16. 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)
  • 17. 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)
  • 18. 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
  • 19. 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
  • 20. Opaque tag values each have a MIME type type = image/png
  • 21. Other “primitive” types are returned as json
  • 22. 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/*/*/*
  • 23. snoissimreP (seem to be back-to-front)
  • 24. 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
  • 25. 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
  • 26. 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
  • 28. 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).
  • 29. er... that’s it (QL fits on one slide and enhancements are coming soon)
  • 32. • 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
  • 33. • @fluidDB @terrycojones @esteve on Twitter • #fluidDB on Freenode IRC • http://groups.google.com/group/fluiddb-users • http://groups.google.com/group/fluiddb-discuss
  • 34. Lots of 3rd party libraries: http://bit.ly/9vvIal Java, Clojure, Lisp, .NET, Perl, Python, Ruby, PHP & Javascript (all open-source)
  • 35. We’re listening to you though the usual caveats apply ;-)
  • 36. http://www.flickr.com/photos/cambodia4kidsorg/260004685/ Nicholas Tollervey ntoll@ntoll.org ntoll on Twitter & IRC