Content deleted Content added
m Dating maintenance tags: {{Fact}} |
|||
(45 intermediate revisions by 38 users not shown) | |||
Line 1:
{{Short description|Computer network with mulitple nodes to store information}}
{{Essay-like|date=May 2012}}
{{Memory types}}
A '''distributed data store''' is a [[computer network]] where information is stored on more than one [[Node (networking)|node]], often in a [[Replication (computing)|replicated]] fashion.<ref>{{Citation
|author = Yaniv Pessach
|title = Distributed Storage
|edition = Distributed Storage: Concepts, Algorithms, and Implementations
|ol = 25423189M
}}</ref> It is usually specifically used to refer to either a [[distributed database]] where users store information on a ''number of nodes'', or a [[computer network]] in which users store information on a ''number of peer network nodes''.{{fact|date=August 2025}}
==Distributed databases==
[[Distributed database]]s are usually [[non-relational database]]s that enable a quick access to data over a large number of nodes. Some distributed databases expose rich query abilities while others are limited to a [[key-value store]] semantics. Examples of limited distributed databases are [[Google]]'s [[Bigtable]], which is much more than a [[distributed file system]] or a [[peer-to-peer network]],<ref>{{cite web
|
| publisher = Paper Trail
| title = Bigtable: Google's Distributed Data Store
| quote = 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.
| url = http://the-paper-trail.org/blog/?p=86
| archive-url = https://web.archive.org/web/20170716092550/http://the-paper-trail.org
| archive-date = 2017-07-16
| url-status = dead }}</ref> [[Amazon.com|Amazon]]'s [[Dynamo (storage system)|Dynamo]]<ref>{{cite web |
| author = Sarah Pidcock
| date = 2011-01-31
| page = 2/22
| publisher = WATERLOO – CHERITON SCHOOL OF COMPUTER SCIENCE
| title = Dynamo:
| quote = Dynamo: a highly available and scalable distributed data store
| url = http://www.cs.uwaterloo.ca/~kdaudjee/courses/cs848/slides/sarah1.pdf}}</ref>
and [[Azure Services Platform|
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
==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 [[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 (protocol)|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 networks such as [[
Distributed data stores typically use an [[error detection and correction]] technique.
Line 77 ⟶ 79:
|-
| [[Couchbase]]
| {{free|[[Apache License 2.0|AL2]]}}
|
| used by [[LinkedIn]], [[PayPal]], and [[
|-
| [[CrateDB]]
Line 86 ⟶ 88:
|
|-
| [[Apache Druid
| {{free|[[Apache License 2.0|AL2]]}}
|
Line 95 ⟶ 97:
|
| used by [[Amazon.com|Amazon]]
|-
| [[Container_Linux#ETCD|etcd]]
| {{free|[[Apache License 2.0|AL2]]}}
| {{yes}}
|
|-
| [[Hazelcast]]
| {{proprietary|[[Apache License 2.0|AL2]], Proprietary}}
|
|
Line 103 ⟶ 110:
| [[HBase]]
| {{free|[[Apache License 2.0|AL2]]}}
| {{yes}}
| formerly used by Facebook
|-
Line 112 ⟶ 119:
|-
| [[MongoDB]]
| {{proprietary|[[Server Side Public License|SSPL]]}}
|
|
|-
| [[MySQL Cluster|MySQL NDB Cluster]]
| {{free|[[GPL 2]]}}
| {{yes}}
| SQL and NoSQL APIs
|-
| [[Riak]]
Line 121 ⟶ 133:
|
|-
|-
| [[Redis]]
| {{free|[[BSD License]]}}
| {{yes}}
|
|-
| [[ScyllaDB]]
| {{free|[[GNU Affero General Public License|AGPL]]}}
|
Line 145 ⟶ 163:
* Unity, of the software [[Perfect Dark (P2P)|Perfect Dark]]
* [[Share (P2P)|Share]]
* [[Siacoin]]
* DeNet
* [[Storage@home]]
* [[Tahoe-LAFS]]
* [[Winny]]
Line 152 ⟶ 171:
==See also==
* [[Cooperative storage cloud]]
* [[Data store]]
* [[Keyspace (distributed data store)|Keyspace]], the DDS [[Schema (database)|schema]]
* [[Distributed hash table]]
* [[Distributed cache]]
|