3 ms·
The answer is "yes." We had indexes - but it's also a little more complicated than that, as we're storing IPv4 and IPv6 ranges in a single table in a format _de
by michaelbuckbee 2y ago
The answer is "yes." We had indexes - but it's also a little more complicated than that, as we're storing IPv4 and IPv6 ranges in a single table in a format _designed_ to be indexed a particular way.
In the article, we refer to this as "decimal lexical" formatting, where we're taking the IPs and making them integers but actually treating them as strings. We're doing this in both Redis with sorted sets and then in a single table in SQLite.
I was going to explain all this in the article, but it was too long already, so it will be a future blog post.
- filleokus 2y agoReally great article and I really appreciate seeing this "flavour" of "distributed" sqlite, think it can be useful in many no/low-write scenarios. But about the formatting of the data, is it completely inherent to the rest of the system / unchangeable? Spontaneously I would have guessed that for example a bitfield in redis would have performed better. Did you test any other formattings?
- a12b 2y agoYou should definitely write an article with all tricks you used to make it fast!
- epcoa 2y agoCurious, what is the advantage of decimal? Why not base-64 or some larger and power of 2 base?