NoSQL is designed for distributed data stores for very large scale data needs. Think about Facebook with it's 500,000,000 users or Twitter which accumulates Terabits of data every single day.</
FlockDB is a distributed graph database for storing adjancency lists, with goals of supporting:
* a high rate of add/update/remove operations
* potientially complex set arithmetic queries
* paging through query result sets containing millions of entries
* ability to "archive" and later restore archived edges
* horizontal scaling including replication
* online data migration
Non-goals include:
* multi-hop queries (or graph-walking queries)
* automatic shard migrations
FlockDB is much simpler than other graph databases such as neo4j because it tries to solve fewer problems. It scales horizontally and is designed for on-line, low-latency, high throughput environments such as web-sites.
Twitter uses FlockDB to store social graphs (who follows whom, who blocks whom) and secondary indices. As of April 2010, the Twitter FlockDB cluster stores 13+ billion edges and sustains peak traffic of 20k writes/second and 100k reads/second.
Was ist NoSQL? Wie kommt es, dass NoSQL-Datenbanken derzeit auf so viel Interesse stoßen? Wird NoSQL herkömmliches SQL ersetzen? Unser Überblick will diese Fragen beantworten.
"Nesting performs a join across two buckets. But instead of producing a cross-product of the left and right hand inputs, a single result is produced for each left hand input, while the corresponding right hand inputs are collected into an array and nested as a single array-valued field in the result object."