问题标签 [distributed-database]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 分布式互斥:小圈子形成
我一直在研究基于 Quorums 概念的分布式互斥算法。
引用:一个 Coterie C 被定义为一组集合,其中每个集合 g ∈ C 称为一个 quorum。
以下属性适用于小圈子中的仲裁:
1) 交集性质:对于每个群体 g,h ∈ C,g ∩ h= ∅。例如,集合 {1,2,3}、{2,5,7} 和 {5,7,9} 不能成为小圈子中的仲裁,因为第一和第三集合没有公共元素。
2) 极小性:在小圈子 C 中不应该存在满足 g ⊇ h 的群体 g、h。例如,集合 {1,2,3} 和 {1,3} 不能成为小圈子中的群体,因为第一个集合是第二个集合的超集。
我想知道,给定分布式系统中的一组节点,这些节点是如何形成这些小圈子或一组法定人数的?有什么算法或技术可以做到这一点?
更新:换句话说,问题是“给定'N'个节点,形成'K'个仲裁的最佳方法是什么,这样它们中的任何两个都有'J'个共同的节点?”
amazon-dynamodb - Amazon DynamoDB 条件写入和原子计数器
我目前正在处理的应用程序要求我在 20 到 30 分钟的时间内多次增加属于 DynamoDB 中某个项目的属性。我一直在做一些关于 DynamoDB条件写入和原子计数器的额外阅读
dynamo 中的原子计数器似乎是我需要的一个合乎逻辑的选择,但我确实担心数据的一致性,尤其是在像 dynamo 这样的分布式数据库中,以及我的数据的准确性问题。我预计 API 会在高峰时间受到重创,但我想避免与条件更新相关的性能问题。我想我想知道原子计数器在 DynamoDB 中的可靠性以及如何使用 dynamo 正确实现它们。也欢迎其他建议。
replication - OrientDB 的分布式配置问题:失败、异常和无复制
我尝试在 OrientDB 中使用复制机制配置分布式数据库。我使用了教程:(https://github.com/orientechnologies/orientdb/wiki/Tutorial%3A-setup-a-distributed-database)
一个 DB 在我的本地主机上:192.168.2.100,另一个在带有桥接网络接口的 VirtualMachine 192.168.2.179 上。Ping 成功。当我启动第一个数据库然后启动第二个数据库时,一切正常,直到将数据库复制到另一台机器。我收到以下错误消息/异常:
并引发以下异常:
我的 TEST_DATABASE 被创建为 plocal。它是一个对象数据库。我也尝试手动将数据库复制到另一台机器。问题是当在一台机器上进行更改时,不会复制任何数据。所有配置都是标准配置,所以我没有更改。请你帮助我好吗?
谢谢
amazon-dynamodb - DynamoDB 如何提供独立于写入的读取吞吐量
Amazon DynamoDB 允许客户独立配置读取和写入的吞吐量。我已阅读有关 DynamoDB 之前的系统的Amazon Dynamo 论文,并阅读了有关 Cassandra 和 Riak 如何实现这些想法的信息。
我了解如何通过将节点添加到集群来增加这些系统的吞吐量,然后集群将表的散列键空间划分到更多节点上,从而只要散列键之间的访问相对随机,就可以实现更大的吞吐量。但在 Cassandra 和 Riak 等系统中,这同时增加了读取和写入的吞吐量。
DynamoDB 的架构有何不同,它们能够独立扩展读写?或者他们不是,亚马逊只是独立地为他们收费,即使他们基本上必须分配足够的节点来覆盖两者中的较大者?
mysql - MySQL分布式数据库,每个节点都有mysql访问
我的任务是实现特定的数据库结构:
具有使用相同模式的数据的多个 mysql 服务器。每个服务器只能查看和编辑他的特定数据部分。
和
一台拥有自己数据的主服务器,可以使用来自所有前面提到的服务器的数据运行查询,但不能编辑它们。
例如,拥有患者数据的多家医院和可以使用来自所有医院的组合数据的主服务器。
之前的系统是用mysql集群写的,自然就试了一下。我可以创建具有多个节点甚至分区数据的 mysql 集群,因此我可以在特定节点中拥有特定的数据集,但据我所知,我无法使用 mysql 连接到单个节点,因为它已经连接到集群。
可以用mysql集群完成吗?是否有其他框架可以轻松做到这一点?
oracle10g - 如何在两台服务器之间建立水平分区分布式数据库环境
假设我有一个员工数据库,我想在不同位置的两台不同服务器上分发查询,假设位置 a 和位置 b。我想知道如何使用 oracle 将表分发到通过网络连接互连的两台服务器
mongodb - 如何通过mongo shell更改mongdb中的connectionsPerHost和threadsAllowedToBlockForConnectionMultiplier配置?
我需要通过 mongo shell 而不是程序从默认值更改 mongodb 中的值threadsAllowedToBlockForConnectionMultiplier
。connectionsPerHost
我该怎么办?
mysql - mysql主/从模式和主/主模式有什么区别?
主从模式很容易理解,比如插入一行就意味着binlog会被复制到slave的机器上,其次ack会告诉master把数据写入master的机器上。但是主/主模式是做什么的?
cassandra-2.0 - cassandra 集群中的所有节点是否都知道彼此的“分区键范围”?
假设我有一个具有以下方案的 cassandra 集群:
每个节点主要负责一个范围的分区键:比如总范围为0-100,我在上面已经指明了节点负责的范围。
现在,假设节点 1 是协调器处理请求。与分区键 28 对应的读取请求到达节点 1。
节点 1 如何知道节点 2 是分区键 28 的主节点。每个节点是否都有节点 ID 到它们负责的分区键的映射。例如,
这个映射是否作为全局配置存在于所有节点中,因为当请求以循环方式转发时,任何节点都可以充当协调器?
谢谢