我正在使用 java-api 从 CSV 中提取数据。我必须维护每个文档的主键。
Does marklogic provide any unique auto-generated id during insert ?
如果marklogic不提供,那么我可以想到一件事是随机生成的十六进制字符串数字,但问题是如果我在CSV中有大量记录要摄取,有时这个随机数字可能会重复。
请建议我如何继续处理此用例。
最佳答案
建议的方法是使用随机生成的 ID 值,其长度足够长,这样对于您的数据集大小来说,碰撞的可能性是不切实际的。因为你是人类,你仍然会忍不住去检查碰撞,但数学表明这只是浪费。如果您使用 64 位随机值,则在 40 亿次之后发生冲突的几率为 50/50。风险太大?如果令人担忧,请使用 128 位随机值,因为 18 千万亿之后的概率为 50/50。看 “Probability of 64-bit hash code collisions”
关于马克逻辑 : Generate primary key while data ingestion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37921482/