草庐IT

分片键

全部标签

architecture - Redis Enterprise(分片)可靠队列

我正在开发一个我认为需要队列的应用程序。我已经打算在应用程序中使用RedisEnterprise,因此将Redis用于队列是有意义的。Redis有一些有用的队列命令:https://redis.io/commands/rpoplpush#pattern-reliable-queue.我有插入记录的生产者和处理和删除记录的消费者。我可以很容易地让生产者和消费者横向扩展。因此,在规模上瓶颈将是Redis,因为队列只能存储在单个分片上。有没有一种跨多个分片分布队列的好方法?我能想到的唯一解决方案是创建多个队列,并以某种方式确保每个队列散列到不同的分片。但这需要在Redis重新分片时更改生产者

redis 集群重新分片 [ERR] 调用 MIGRATE : ERR Syntax error

当我重新分片redis集群时,我遇到了一个问题。redis集群信息和问题详情如下:obasa04:/usr/redis-4.0.2/src#redis-trib.rbinfo10.239.65.82:1000010.239.65.82:10000(90c088ff...)->4keys|6974slots|1slaves.10.239.65.82:10004@20004(a219daf5...)->7keys|5462slots|1slaves.10.239.65.82:10002@20002(951e4654...)->3keys|3948slots|1slaves.[OK]14ke

redis - 如何检查 Redis 中的分片数量?我确实检查了 cli,但没有一个可以显示它

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭3年前。Improvethisquestion如何查看Redis中的分片数量?我搜索了net和redis文档,没有简单的方法来获取我的redis集群中的当前分片数。

redis - Redis 集群重新分片后,许多不连续的槽分配给一个节点

我创建了一个包含三个节点的redis集群:~redis-3.2.10/src/redis-trib.rbcreate127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002然后我添加了第四个节点并重新分片以使时隙分配均匀:~redis-3.2.10/src/redis-trib.rbadd-node127.0.0.1:7003127.0.0.1:7000~redis-3.2.10/src/redis-trib.rbreshard--timeout60000127.0.0.1:7000...Howmanyslotsdoyouwanttomove(from1to

MongoDB - 分片 migrateThread 自 3 小时以来长时间运行

MongoDB版本:3.0.8引擎:WiredTigerBalancer迁移~30MBchucks的速度太慢,由于我们观察到长时间运行的查询,这表明它已经运行了3个多小时。请给我建议。附上了db.currentOp()的长时间运行输出。谢谢你,阿尔伯特------LongRunningQuery----{"desc":"migrateThread","threadId":"0x95d26a000","opid":"u001b_s2_rs:-1345098410","active":true,"secs_running":9360,"microsecs_running":NumberLo

mongodb - 如何分片数据?

为了提供写入扩展,我决定将独立的mongoDB转换为分片集群。问题是我找不到具有高度随机性的分片键来确保集群的写操作均匀分布,而且只要所有集合都有复合唯一索引,我就不能使用散列分片键。我看到2个解决方案:使用唯一索引的前缀作为分片键。但即使忽略不良分布也是NotAcceptable,因为不知何故所有block都放在主分片上,然后平衡器将它们分布在分片上。当我使用散列分片键时,负数放在第一个分片上,正数放在第二个分片上。我如何强制mongoDB使用范围分布在两个分片之间分布block?使用标签感知分片。但是我无法预测下个月的数据,所以我以后的标签可能分布不均。我想自动化数据标记没有便宜的

一台机器上的 MongoDB 分片

有人告诉我,在一台更强大的机器上使用100个分片实现mongodb分片以实现更高的并发写入数据库是否有意义,每个monogod.exe进程都有一个全局锁?假设这是可能的,这种方法会给我更高的写入并发性吗? 最佳答案 在一台机器上运行多个mongods不是一个好主意。每个mongod进程都将尝试使用所有可用内存,迫使其他mongod的内存映射页面超出内存。在大多数情况下,这将产生大量交换。全局数据库锁通常不是问题,如下所示:http://blog.pythonisito.com/2011/12/mongodbs-write-lock.

mongodb - 如何在 MongoDB 中构建基于字段哈希的分片

我正在寻找一种好的方法来执行以下操作:给定一个包含某些字段F的文档,我想将分片设置为我的应用程序可以为该字段值生成一个静态散列(意思是,如果值相同,散列将始终相同),然后使用该散列在正常的MongoDB分片设置中定位适当的分片。问题:这是一种安全/好的方法吗?实现它的好方法是什么关于分片集群设置是否有任何我应该注意的陷阱。谢谢! 最佳答案 我实际上已经实现了这个,它非常可行,并且具有非常好的写入性能。我假设您出于与我相同的原因实现它(无需预热/平衡的即时分片定位、写入吞吐量、block移动/拆分期间无性能下降等)。您的问题:是的,前

mysql - 按日期分片跟踪表有缺点吗?

我们有一个约1亿行的mysql跟踪数据库。我们通常按天对某些操作、唯一访问等进行查询。问题是由于索引的相互作用,查询生成月度报告的速度越来越慢(我们对日期进行范围扫描,然后基于多个查询其他领域。)为了提高性能,我们改用基于日期的联合来避免范围扫描,并且性能要好得多。所以提出了一个想法,也许我们应该每天使用不同的表进行分片。优点似乎是:快速插入-每天table都是新的/小的,所以它总是很快。删除旧数据很简单(不需要从100M行的表中删除5M行,我们可以只删除一个表)我们目前的方法是无论如何都进行联合-所以我们只是联合不同的表而不是来自一个表的不同值。有没有人听说过或尝试过这种方法?是否有

mysql - 使用 MySQL/InnoDB 重新平衡表分片

我有一个巨大的InnoDB表(>1TB,>1B行),我想对其进行分片:我想从那个大表中创建多个较小的独立表。怎么做?我已经尝试过的:通过从原始表中选择行并将它们插入分区来将行移动到分区。这需要很长时间,并且在操作期间保持行同步很困难(但似乎可以使用触发器,只要分区在同一台服务器上)。我还没有找到现成的工具来执行此操作。复制整个表,然后删除不属于分区的行。仍然很慢,特别是考虑到表格的大小。显然,这就是MySQLFabric所做的。随机的疯狂想法:离线拆分.idb文件,并将其导入服务器,但我不知道是否存在能够执行此操作的工具。显示创建表:CREATETABLE`Huge`(`account