首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为共享计数器对数据库进行分区

为共享计数器对数据库进行分区
EN

Stack Overflow用户
提问于 2015-01-29 17:08:46
回答 1查看 61关注 0票数 0

在设计数据存储的过程中,我们正在寻找一种对条目进行分区的方法。主要的瓶颈是对共享计数器进行分区。假设我们提供n张门票(典型的火车票预订,IRCTC e.t.c)。我们如何对数据存储进行分区,以使客户端看到它们之间的实时一致性(根据预订的百分比,即currentvalue/x)。

每次读取的聚合成本太高,任何其他指针都会很有用。

此外,还假定写操作是并发的(因此不会将读取加载到从设备),并且对于最终的一致性将是很好的。但是,有没有办法可以使碎片之间的不一致性差异最小化。例如,100张票的分割是这样的: 25,25,25,25跨4个分片。在任何给定的时间点,数据库的视图应该是x%满的,以及如何最小化分片之间的不一致性(简单的操作,如轮询、哈希等)。

EN

回答 1

Stack Overflow用户

发布于 2015-01-29 22:17:23

如果您的用例希望分发共享计数器以更好地处理读取操作的负载,则可以将共享计数器保留在其自己的实例中(根据@ItamarHaber的建议),并建立从主实例复制的N个从实例。然后,针对该共享计数器的读取操作可以在N个从设备之间进行负载平衡。这里有一些关于通过配置文件here操纵主从设置的讨论,还有关于使用SLAVEOF命令动态操作从设置的文档。

这里需要注意的是,您必须能够直接执行写操作(INCRDECR等)。仅针对主服务器,可能通过基于队列的实现。这种方法将允许分布读操作,但我不知道有什么方法可以避免对公共资源的写操作进行序列化,除非您愿意考虑最终的一致性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28210736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档