Fluidinfo
Encyclopedia
Fluidinfo, formerly named FluidDB until early 2011, is an online cloud
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

 data store based on an attribute-value centric
Attribute-value system
An attribute-value system is a basic knowledge representation framework comprising a table with columns designating "attributes" and rows designating "objects" An attribute-value system is a basic knowledge representation framework comprising a table with columns designating "attributes" (also...

 data model. Fluidinfo is written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 and characterized by a publicly writeable schema-less database that provides a query language, a fine-grained permissions model and promotes data sharing, both publicly and in groups. The lack of an underlying RDBMS structure may classify Fluidinfo as a type of publicly writeable "collective database".

Overview

Few data stores are available with the intent to provide public write-access, except in narrow contexts. Two examples of shareable data stores operating in specific contexts are del.icio.us (shareable bookmarks
Social bookmarking
Social bookmarking is a method for Internet users to organize, store, manage and search for bookmarks of resources online. Unlike file sharing, the resources themselves aren't shared, merely bookmarks that reference them....

) and Twitter
Twitter
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

 (micro-blogging service). Fluidinfo offers a generalized shareable data store, where potentially any piece or type of information can be shared with anybody else, if desired, striving for a balance between individual, group and communal data ownership. Author and blogger Robert Scoble
Robert Scoble
Robert Scoble is an American blogger, technical evangelist, and author. Scoble is best known for his blog, Scobleizer, which came to prominence during his tenure as a technology evangelist at Microsoft. He is married to Maryam Ghaemmaghami Scoble. He has three children; one from a previous...

 described Fluidinfo as a "database that acts like a wiki".

Fluidinfo emphasizes three aspects that make it unique among existing public data stores:
  • Data model
  • Query language
  • Permissions

Data Model

The data model aims to be as flexible as possible, permitting a wide range of information to be stored in Fluidinfo. The fundamental difference between attribute-value
Attribute-value system
An attribute-value system is a basic knowledge representation framework comprising a table with columns designating "attributes" and rows designating "objects" An attribute-value system is a basic knowledge representation framework comprising a table with columns designating "attributes" (also...

 stores (along the lines of EAV
Entity-Attribute-Value model
Entity–attribute–value model is a data model to describe entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. In mathematics, this model is known as a sparse matrix...

 schemas) and traditional RDBMS is the lack of a highly-defined top-down structure. The essence of Fluidinfo consists of arbitrary objects, which can be considered points in a data space to which tags
Tag (metadata)
In online computer systems terminology, a tag is a non-hierarchical keyword or term assigned to a piece of information . This kind of metadata helps describe an item and allows it to be found again by browsing or searching...

 may be attached. Objects have no owners, similar to concepts in the "real" world. Tags are initially controlled by the user/application who creates them and can be attached to objects, in a fashion reminiscent of how humans use their minds to create and associate information with physical objects or
concepts. One of the underlying motivations of Fluidinfo is to make working with information more natural. Anyone can attach tags to any data object, but only people with the right roles can see and search these tags.

Query Language

The query language
Query language
Query languages are computer languages used to make queries into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages...

 was designed to perform complex queries in as simple a manner as possible. The syntax is superficially reminiscent of information retrieval
Information retrieval
Information retrieval is the area of study concerned with searching for documents, for information within documents, and for metadata about documents, as well as that of searching structured storage, relational databases, and the World Wide Web...

 query languages such as CQL which are characterized as less complicated than traditional database query languages such as SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

. The query language always return object identifiers based on tag values, using the predicates below:
  • Numeric: To find objects based on the numeric value of tags; e.g. tim/rating > 5
  • Textual: To find objects based on text matching of their tag values; e.g. sally/opinion matches fantastic
  • Presence: Use has to request objects that have a given tag; e.g. has sally/opinion
  • Set contents: A tag on an object can hold a set of strings. For example, a tag called mary/product-reviews/keywords might be on an object with a value of [ "cool", "kids", "adventure" ]. The contains operator can be used to select objects with a matching value. The query mary/product-reviews/keywords contains "kids" would match the object in this example.
  • Exclusion: You can 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).

Permissions

For each action that be applied to any tag or namespace within Fluidinfo, there is:
  • A policy (either 'open' or 'closed'); and
  • A (possibly empty) list of exceptions to the policy.


The various actions that can be performed on a tag are read, update, create and see. The combination of the various actions with policies and exceptions provides a fine-grained permission model within Fluidinfo. It should be re-emphasized that only tags and namespaces have permissions allowing for various levels of control. Objects (the basic Fluidinfo data structure) do not have owners and so cannot be controlled by users/applications.

Examples of the permission model in various states are shown in the table below:
tag or namespace action policy exceptions
tim/seen read closed tim, meg
mike/opinion update open
mike/ create closed
meg/rating see open
meg/rating read closed meg

Current status

The company Fluidinfo was founded in the UK in 2007 and operates out of NYC and Barcelona
Barcelona
Barcelona is the second largest city in Spain after Madrid, and the capital of Catalonia, with a population of 1,621,537 within its administrative limits on a land area of...

. Esther Dyson
Esther Dyson
Esther Dyson is a former journalist and Wall Street technology analyst who is a leading angel investor, entrepreneur, philanthropist, and commentator focused on breakthrough innovation in healthcare, government transparency, digital technology, biotechnology, and space...

 provided an early-stage angel investment in the company. Tim O'Reilly
Tim O'Reilly
Tim O'Reilly is the founder of O'Reilly Media and a supporter of the free software and open source movements.-Life and career:...

 is also an investor in the company.

Fluidinfo launched in alpha as "FluidDB" on August 17, 2009. Developers can sign-up for access to Fluidinfo via their homepage. This is similar to the types of RESTful API access provided by other cloud services
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

. The company changed the name of the product from "FluidDB" to "Fluidinfo" and won Top Technology Prize at the 2011 LAUNCH Conference
LAUNCH Conference
The LAUNCH Conference was created by Jason Calacanis. Although it is legally unrelated to the TechCrunch40 and TechCrunch50 events, it has been perceived as the natural evolution of those events citing Calacanis' involvement, and then split, from Michael Arrington and the TechCrunch series of events...

. During SXSW
South by Southwest
South by Southwest is an Austin, Texas based company dedicated to planning conferences, trade shows, festivals and other events. Their current roster of annual events include: SXSW Music, SXSW Film, SXSW Interactive, SXSWedu, and SXSWeco and take place every spring in Austin, Texas, United States...

 2011, Tim O'Reilly
Tim O'Reilly
Tim O'Reilly is the founder of O'Reilly Media and a supporter of the free software and open source movements.-Life and career:...

 named Fluidinfo as his favorite startup.

See also

  • Freebase
    Freebase
    Freebase is a large collaborative knowledge base consisting of metadata composed mainly by its community members. It is an online collection of structured data harvested from many sources, including individual 'wiki' contributions. Freebase aims to create a global resource which allows people to...

  • databaseLiquid/DBLiquid
  • NoSQL
    Nosql
    In computing, NoSQL is a broad class of database management systems that differ from the classic model of the relational database management system in some significant ways. These data stores may not require fixed table schemas, usually avoid join operations, and typically scale horizontally...

  • DBpedia
    DBpedia
    DBpedia is a project aiming to extract structured content from the information created as part of the Wikipedia project. This structured information is then made available on the World Wide Web. DBpedia allows users to query relationships and properties associated with Wikipedia resources,...

  • LinkedData
  • Semantic Web
    Semantic Web
    The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...


Further reading

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK