Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在数据库方面,复制和分散有什么区别?_Mongodb_Cassandra_Replication_Database - Fatal编程技术网

Mongodb 在数据库方面,复制和分散有什么区别?

Mongodb 在数据库方面,复制和分散有什么区别?,mongodb,cassandra,replication,database,Mongodb,Cassandra,Replication,Database,我目前正在研究不同的数据库,以用于我的下一个项目。我想使用一个分散的数据库。例如,阿帕奇·卡桑德拉(ApacheCassandra)声称自己是分散的。然而,MongoDB表示它使用复制。据我所见,就这些数据库而言,复制和分散基本上是一样的。这是正确的还是分散和复制之间有一些我没有的区别/特点?简单回答,不,复制和分散是两件不同的事情。举个简单的例子,假设有三个实例i1、i2和i3复制相同的数据。您还有一个仅从i1获取数据的客户端。如果i1宕机,您仍然可以将数据复制到i2和i3作为备份。但由于i1

我目前正在研究不同的数据库,以用于我的下一个项目。我想使用一个分散的数据库。例如,阿帕奇·卡桑德拉(ApacheCassandra)声称自己是分散的。然而,MongoDB表示它使用复制。据我所见,就这些数据库而言,复制和分散基本上是一样的。这是正确的还是分散和复制之间有一些我没有的区别/特点?

简单回答,不,复制和分散是两件不同的事情。举个简单的例子,假设有三个实例i1、i2和i3复制相同的数据。您还有一个仅从i1获取数据的客户端。如果i1宕机,您仍然可以将数据复制到i2和i3作为备份。但由于i1已关闭,客户端无法获取数据。这是一个单点故障的集中式数据库示例

集中式数据库有一个集中的位置,大多数请求都通过该位置。它可以是将查询路由到可以处理查询的实例的实例,就像Mongo DB的情况一样

分散的数据库显然是相反的。在Cassandra中,集群中的任何节点都可以处理任何请求。此节点称为请求的协调器。然后,在将结果返回给客户端之前,节点从负责该数据的节点读取/写入数据。

分散意味着应用程序体系结构中不应存在单点故障。这些系统将提供部署方案,其中在服务生命周期内没有选出领导或主管。它们通常以点对点的方式提供服务

复制意味着,只需将数据复制到另一个服务器实例,即可确保冗余和容错性。客户机请求仍然可以通过副本提供,但在制作副本时,您的系统应确保一定程度的一致性

Cassandra以点对点的方式服务请求。这意味着客户端可以向参与集群的任何节点发起请求。它还提供复制和可调一致性

MongoDB提供主/从部署,因此不被认为是分散的。您可以交付一个多主节点,以确保在主节点发生故障时仍然可以为请求提供服务。它还提供了开箱即用的复制

链接


你能看看我的答案并告诉我它是否有用吗。如果答案对你有帮助,别忘了把它标记为已接受。