为重新思考创建自己的ID而不是让重新思考创建它们有什么缺点吗?
我知道在其他一些系统中,id用于(auto)-sharding等,需要特定的id格式。
Rethink是否关心?
答案 0 :(得分:1)
我通常自己创建ID,因为我可以轻松地get
我想要的文档,或者知道它的某些属性。当让RethinkDB生成它时,你不能无处不在get
一个文档,因为你不知道那个UUID。说,如果我自己生成UUID
,我在某些情况下已经知道了ID。
其他方面是排序,如果我使用数字作为ID,我可以很容易地根据插入的顺序获得订单(虽然它在集群环境中有自己的问题)。使用自动UUID,您无法通过插入的顺序轻松排序,而无需额外的字段/二级索引。
根据https://www.rethinkdb.com/api/javascript/uuid/,UUIS只是标准的UUID,它不必是任何指定的id格式进行分片。
此问题包含有关RethinkDB如何生成UUID的一些信息:How does RethinkDB generate auto ids?
答案 1 :(得分:1)
检查this doc。
创建表格后,分割点不会自动更改, 这意味着如果主键分布不均匀,则分片 可能变得不平衡。但是,用户可以手动重新平衡分片 必要时,以及使用新的分片和重新配置表 复制设置。用户无法为分片设置分割点 手动
如果你使用某种UUID,你会没事的。如果您正在使用自动增量或其他非随机密钥之类的位,最终rethinkdb将在不平衡的分片之间分配记录,因此您需要手动重新平衡它。