PostgreSQL:生成自定义的MongoDB-ObjectID类UUID作为主键

时间:2015-11-06 22:13:09

标签: mongodb postgresql uuid objectid

我一直在阅读很多关于在postgres中实现UUID的内容,因为在将它们发送到数据库之前,我需要能够在某些情况下生成我的ID。我所做的大量阅读都警告UUID对性能的影响。他们提到了非连续主键如何严重降低性能。

UUID v4没用,因为使用所有随机数来计算id是非顺序的,因为它是随机的。我想使用v1,但在id中包含MAC地址似乎是不必要的并且不安全。我想要做的是生成一个MongoDB ObjectID样式的UUID。我希望它基本上由时间戳和表名组成,这样当ID被排序时,它按顺序排序。

有没有办法在那里我可以生成这个自定义UUID并让Postgres根据uuid上的时间戳以顺序方式存储它们?

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助: 在MongoDB语义之后在PostGres中创建ObjectIds。与下面链接的Instagram方法非常相似。 http://docs.mongodb.org/manual/reference/object-id/ http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram https://gist.github.com/jamarparris/6100413