小编Chr*_*row的帖子

分片是随机分布在 MongoDB 中的机器上还是按顺序分布?

分片是随机分布在 MongoDB 中的机器上还是按顺序分布?

例如,如果我有一个跨两台机器分片的 MongoDB 集群,并且我的分片键是一个人的名字,那么以“am”开头的名字会出现在第一台机器(或副本集)上,并且以“nz”开头的名字会出现第二台机器?

非常感谢!

mongodb

6
推荐指数
1
解决办法
812
查看次数

使用 MongoDB 的分片键值存储

想建立一个跨多台机器分片的键值存储。

我们目前正在使用 MongoDB,是否有理由不将 MongoDB 用于此目的?

我们也使用 Redis,但是对于这个用例,我们想使用硬盘驱动器并且 Redis 仅在 RAM 中。

nosql mongodb

5
推荐指数
1
解决办法
3649
查看次数

使用数组列的内部连接

无法O (log n)及时索引和执行查询。

该查询包括一个INNER JOIN、一个ORDER BY和一个相等运算。如果我正确理解了数据库的规律,O (log n)如果一个非等式运算符没有在多于一列上使用,则可以及时(或大约)索引和执行查询。在这种情况下,我相信INNER JOIN确实算作相等运算符,而非相等运算符将是ORDER BY查询的一部分。该表有超过 10,000,000 行,需要每秒处理多次读取和写入。

使用 PostgreSQL。这就是桌子的样子。如您所见,“Names”列是一个列表属性,它是与之相反的列INNER JOIN

Age Names                       Date
34  ['carla', 'john', 'sam']    3/13/2011
26  ['json', 'cindy', 'joel']   3/13/2011
72  ['beth', 'amber', 'susie']  3/13/2011
14  ['john', 'jim', 'debie']    3/13/2011
Run Code Online (Sandbox Code Playgroud)

这是我们尝试执行的查询:

SELECT * FROM the_table WHERE Age==26 AND Names=='john' ORDER BY Date
Run Code Online (Sandbox Code Playgroud)

我的背景来自使用 App Engine 的 Big Table,所以我在这里使用了相等运算符来指示它'john'应该是Names列中的名称之一。这将是 GAE 大表中可接受的查询,它将O (log N)及时执行,因为所有大表查询都需要执行。我假设在 …

postgresql performance index gin-index query-performance

4
推荐指数
1
解决办法
7100
查看次数