我必须在多台机器上存储许多GB的数据.该文件由Guid唯一标识,并且一个文件只能托管在一台计算机上.我想知道是否可以使用Guid作为分区键来确定应该使用哪台计算机存储数据.如果是这样,我的分区功能是什么?
否则,我该如何对数据进行分区,以使所有计算机都获得非常相似的负载?
谢谢!
附言我没有使用Sql Server,Oracle或任何其他数据库.这都是内部代码.
P.S.S.该Guid使用.NET函数Guid.NewGuid()生成.
解决方法:
正如James在评论中所说,您需要一种分布均匀,良好的东西.向导不具有此属性.我会推荐一个哈希,即使是与Guid本身的哈希一样简单的哈希.
SHA-1哈希具有良好的分布.我不建议偶数/奇数哈希,除非您计划仅在2台计算机之间分配.