Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Distributed data store
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|A computer network with 2 or more 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''.<ref name="urlDistributed Data Storage - an overview | ScienceDirect Topics">{{cite web |url=https://www.sciencedirect.com/topics/computer-science/distributed-data-storage |title=Distributed Data Storage - an overview | ScienceDirect Topics |format= |accessdate=}}</ref> ==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 | access-date = 2011-04-05 | 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/blog/bigtable-googles-distributed-data-store | archive-date = 2017-07-16 | url-status = dead }}</ref> [[Amazon.com|Amazon]]'s [[Dynamo (storage system)|Dynamo]]<ref>{{cite web | access-date = 2011-04-05 | author = Sarah Pidcock | date = 2011-01-31 | page = 2/22 | publisher = WATERLOO – CHERITON SCHOOL OF COMPUTER SCIENCE | title = Dynamo: Amazon's Highly Available Key-value Store | 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|Microsoft Azure Storage]].<ref>{{cite web|url=http://www.microsoft.com/windowsazure/features/storage/|title=Windows Azure Storage|website=[[Microsoft]] |date=2011-09-16|access-date=6 November 2011|url-status=dead|archive-url=https://web.archive.org/web/20111109002826/http://www.microsoft.com/windowsazure/features/storage/|archive-date=9 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 guarantee both [[Consistency (database systems)|consistency]] and availability on a partitioned network, as stated 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 [[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 [[Hyphanet]], [[Winny]], [[Share (P2P)|Share]] and [[Perfect Dark (P2P)|Perfect Dark]] where any node may be storing any part of the files on the network. 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=== {| class="wikitable sortable" |- ! Product ! License ! [[High availability]] ! Notes |- | [[Apache Accumulo]] | {{free|[[Apache License 2.0|AL2]]}} | | |- | [[Aerospike (database)|Aerospike]] | {{free|[[GNU Affero General Public License|AGPL]]}} | | |- | [[Apache Cassandra]] | {{free|[[Apache License 2.0|AL2]]}} | {{yes}} | formerly used by [[Facebook]] |- | [[Apache Ignite]] | {{free|[[Apache License 2.0|AL2]]}} | | |- | [[Bigtable]] | {{Proprietary}} | | used by [[Google]] |- | [[Couchbase]] | {{free|[[Apache License 2.0|AL2]]}} | | used by [[LinkedIn]], [[PayPal]], and [[eBay]] |- | [[CrateDB]] | {{free|[[Apache License 2.0|AL2]]}} | {{yes}} | |- | [[Apache Druid]] | {{free|[[Apache License 2.0|AL2]]}} | | used by [[Netflix]], and [[Yahoo]] |- | [[Dynamo (storage system)|Dynamo]] | {{Proprietary}} | | used by [[Amazon.com|Amazon]] |- | [[Container_Linux#ETCD|etcd]] | {{free|[[Apache License 2.0|AL2]]}} | {{yes}} | |- | [[Hazelcast]] | {{proprietary|[[Apache License 2.0|AL2]], Proprietary}} | | |- | [[HBase]] | {{free|[[Apache License 2.0|AL2]]}} | {{yes}} | formerly used by Facebook |- | [[Hypertable]] | {{free|[[GPL 2]]}} | | [[Baidu]] |- | [[MongoDB]] | {{proprietary|[[Server Side Public License|SSPL]]}} | | |- | [[MySQL Cluster|MySQL NDB Cluster]] | {{free|[[GPL 2]]}} | {{yes}} | SQL and NoSQL APIs |- | [[Riak]] | {{free|[[Apache License 2.0|AL2]]}} | {{yes}} | |- |- | [[Redis]] | {{free|[[BSD License]]}} | {{yes}} | |- | [[ScyllaDB]] | {{free|[[GNU Affero General Public License|AGPL]]}} | | |- | [[Voldemort (distributed data store)|Voldemort]] | {{free|[[Apache License 2.0|AL2]]}} | | used by [[LinkedIn]] |- |} ===Peer network node data stores=== * [[BitTorrent (protocol)|BitTorrent]] * [[Blockchain (database)]] * [[Chord project]] * [[Freenet]] * [[GNUnet]] * [[InterPlanetary File System|IPFS]] * [[Mnet (Computer program)|Mnet]] * [[Napster]] * [[Network News Transfer Protocol|NNTP]] (the distributed data storage protocol used for [[Usenet]] news) * Unity, of the software [[Perfect Dark (P2P)|Perfect Dark]] * [[Share (P2P)|Share]] * [[Siacoin]] * DeNet * [[Storage@home]] * [[Tahoe-LAFS]] * [[Winny]] * [[ZeroNet]] ==See also== * [[Cooperative storage cloud]] * [[Data store]] * [[Keyspace (distributed data store)|Keyspace]], the DDS [[Schema (database)|schema]] * [[Distributed hash table]] * [[Distributed cache]] * [[Cyber Resilience]] ==References== {{Reflist}} [[Category:Data management]] [[Category:Distributed data storage| ]] [[Category:Distributed data stores| ]] [[ja:分散ファイルシステム#分散データストア]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite web
(
edit
)
Template:Essay-like
(
edit
)
Template:Free
(
edit
)
Template:Memory types
(
edit
)
Template:Proprietary
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Yes
(
edit
)