Message from C, C++ discussions

November 2019

— It can make all the difference in the ordering of operations of a database and crash everything


If you go for a posix compliant, you will for example have twice the 59th second of the last minute of every year with a leap second

— Who is talking about a databse, also if youre ordering a databse, shouldnt u just be using the unixtime

Message permanent page

— If you go for an iso compliant one, you will have a 60th numbered second at the same time

— NO

— If you make a database, you need to use a steady time, unix time can go backwards and forward depending on leap seconds

Message permanent page

— If a database uses unix timestamping, it is not consistent on operations done during a leap second if it ever stringifies time

Message permanent page

— This is from the specs of a database management system I am working on, note what time may look like in a distributed system

The time is directed by the coordination server. Each server must synchronize to that time.

The time is never guaranteed to be the real time, but it is guaranteed that any time query return value will be strictly greater than the highest recorded time of the server. When the system is running in normal and degraded state, the unit of the subtraction of timestamps is nanoseconds, else it is undefined.

Message permanent page

— Oh okay,
tbh, we should just come up with a better solution to get time into a number

— For a database, the only important thing about time is that
1/ simultaneity doesn't exist
2/ time is steady

Message permanent page

— TAI and GPS time kinda solve that

— But you cannot rely a lot on time unless you own an atomic clock or a gps clock and networking hardware capable of a PTP synchronization

Message permanent page