Distributed data store: Difference between revisions
An another distribute data store from apache. |
→Distributed databases: fix link to consistency |
||
Line 21: | Line 21: | ||
| url= http://www.microsoft.com/windowsazure/features/storage/ |title= Windows Azure Storage |author= |date=2011-09-16 |work= |publisher= |accessdate=6 November 2011}}</ref>. |
| url= http://www.microsoft.com/windowsazure/features/storage/ |title= Windows Azure Storage |author= |date=2011-09-16 |work= |publisher= |accessdate=6 November 2011}}</ref>. |
||
As the ability of arbitrary querying is not as important as the availability, designers of distributed data stores have increased the latter at an expense of consistency. But the high-speed read/write access results in reduced consistency, as it is not possible to have both [[consistency]], [[availability]], and partition tolerance of the network, as it has been proven by the [[CAP theorem]]. |
As the ability of arbitrary querying is not as important as the availability, designers of distributed data stores have increased the latter at an expense of consistency. But the high-speed read/write access results in reduced consistency, as it is not possible to have both [[Consistency (database systems)|consistency]], [[availability]], and partition tolerance of the network, as it has been proven by the [[CAP theorem]]. |
||
==Peer network node data stores== |
==Peer network node data stores== |
Revision as of 16:01, 5 December 2011
A distributed data store is a blurred concept and means either a distributed database where users store their information on a number of nodes, or a network in which a user stores their information on a number of peer network nodes .
Distributed databases
Distributed data store are non-relational databases that make a quick access to data over a large number of nodes possible. Examples for this kind of data stores are Google's BigTable, which is much more than a distributed file system or a peer-to-peer network[1], Amazon's Dynamo[2] and Windows Azure Storage[3].
As the ability of arbitrary querying is not as important as the availability, designers of distributed data stores have increased the latter at an expense of consistency. But the high-speed read/write access results in reduced consistency, as it is not possible to have both consistency, availability, and partition tolerance of the network, as it has been proven by the CAP theorem.
Peer network node data stores
In peer network data stores, the user can usually reciprocate and allow other users to use their computer as a storage node as well. Information may or may not be accessible to other users depending on the design of the network.
Most of the peer-to-peer networks do not have distributed data stores in that the user's data is only available when their node is on the network. However, this distinction is somewhat blurred in a system such as BitTorrent, where it is possible for the originating node to go offline but the content to continue to be served. Still, this is only the case for individual files requested by the redistributors, as contrasted with a network such as Freenet where all computers are made available to serve all files.
Distributed data stores typically use an error detection and correction technique. Some distributed data stores (such as Parchive over NNTP) use forward error correction techniques to recover the original file when parts of that file are damaged or unavailable. Others try again to download that file from a different mirror.
Examples
Distributed non-relational databases
- Apache Cassandra, the data store of Facebook
- BigTable, the data store of Google
- Dynamo of Amazon
- HBase
- Riak
- Voldemort
Peer network node data stores
- BitTorrent
- Chord project
- GNUnet
- Freenet
- NNTP (the distributed data storage protocol used for Usenet news)
- Mnet
- Storage@home
References
- ^ "BigTable: Google's Distributed Data Store". http://the-paper-trail.org/: Paper Trail. Retrieved 2011-04-05.
Although GFS provides Google with reliable, scalable distributed file storage, it does not provide any facility for structuring the data contained in the files beyond a hierarchical directory structure and meaningful file names. It's well known that more expressive solutions are required for large data sets. Google's terabytes upon terabytes of data that they retrieve from web crawlers, amongst many other sources, need organising, so that client applications can quickly perform lookups and updates at a finer granularity than the file level. [...] The very first thing you need to know about BigTable is that it isn't a relational database. This should come as no surprise: one persistent theme through all of these large scale distributed data store papers is that RDBMSs are hard to do with good performance. There is no hard, fixed schema in a BigTable, no referential integrity between tables (so no foreign keys) and therefore little support for optimised joins.
{{cite web}}
: External link in
(help)|location=
- ^ Sarah Pidcock (2011-01-31). "Dynamo: Amazon's Highly Available Key-value Store" (PDF). http://www.cs.uwaterloo.ca/: WATERLOO. p. 2/22. Retrieved 2011-04-05.
Dynamo: a highly available and scalable distributed data store
{{cite web}}
: External link in
(help); Text "CHERITON SCHOOL OF COMPUTER SCIENCE" ignored (help)|location=
- ^ "Windows Azure Storage". 2011-09-16. Retrieved 6 November 2011.