4 ms·
Some assorted interesting points: * optimistic concurrency control (sometimes you need to retry, but often the optimism pays off) * serializable transaction i
by macdice 9y ago
Some assorted interesting points:
* optimistic concurrency control (sometimes you need to retry, but often the optimism pays off)
* serializable transaction isolation (something like but not exactly like ssi, rather than 2pl)
* ieee 754-2008 decimal floats
* undo-based mvcc (writers don't block readers)
* group (network) sync replication
* paxos based failover
* lua stored procs
Interesting technology and I'm very happy to see it open-sourced. Kudos to the team.
(I used this when I worked there. Few firms can pull off something like this in-house; they could. You wouldn't believe how much data they store in this thing.)
- microcolonel 9y agoYou know, I never really understood the point of decimal floats. Why use floats at all if the point is to express beeps and dollar ppm? You might as well just pick a fraction size and use uint64_t to my mind, or just some bigint type (which is still going to be faster than decimal floats).
- macdice 9y agoThe point is that it's hard to pick the fraction size. US national debt vs Italian lira/Swiss franc exhange rate, humans generate numbers of wide ranging scales and yet it's convenient for computers to deal in fixed size datatypes. Hence floating scale. But yeah, it's a compromise. I expect these new types to catch on and be added to various language standards over the coming years, but we'll see.
- DenisM 9y agoSmall parts, like screws, can be priced in microdollars for accounting purposes. At the same time the US GDP is on the order of $20 trillion. 64 bit is not large enough to fit both of these types of numbers. Makes using SQLITE a real pain...