punctum-im / protocol-old

Moved, see https://github.com/punctum-im/protocol
Creative Commons Attribution Share Alike 4.0 International
2 stars 0 forks source link

Remove hard requirement for numeric, auto-incrementing IDs #4

Closed zspencer closed 4 years ago

zspencer commented 4 years ago

Requiring numeric, auto-incrementing IDs may result in data locking, race conditions, and sharding issues. This is unlikely to be an immediate issue, but when an instance gets big enough to warrant distributing its servers across a variety of data centers that will become impossible with an auto-incrementing object identifier system.

I propose we loosen the specification to:

This will allow implementations to choose between auto-incrementing primary keys or other mechanisms for ID uniqueness and message ordering, such as cursors or timestamps.