[openstreetmap/openstreetmap-website] Idempotency for API 0.6 (#2201)
mmd
notifications at github.com
Thu Apr 18 20:06:08 UTC 2019
> Storing 800k objects that have a short lifetime is just not what relational databases are designed for. Well I mean acting as a cache in general is not really what they are designed for...
Just to add one more data point:
800k seemed a bit too pessimistic, actual numbers in the prototype are in the max 300k range, and that's still based on a human-readable format. The string compresses down to 20k-50k (factor 6 - 15).
As a purely binary format, at least 21 bytes are needed to store all information representing a single change in a diff result file:
- operation: 2 bit (values: create/modify/delete)
- object type: 2 bit (values: node/way/relation)
- deletion_skipped: 1 bit (true/false)
- old_id: 64 bit
- new_id: 64 bit
- version: 32 bit
(Note: actual sequence of rows needs to be preserved!)
I guess there's a number of different options to store this kind of data.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-484669790
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20190418/230b11f8/attachment-0001.html>
More information about the rails-dev
mailing list