You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 21, 2021. It is now read-only.
Today, the blocklists metadata is stored in a dictionary-encoded bitmap as leaf node of domains compacted into a radix trie.
This encoded bitmap is then represented in a URL (like the one rethinkdns/configure generates in response to user's selection) as a url-safe base64.
The bitmap encoding is such that, up to a maximum of 256 -- 16 (blocklist groups) x 16 (blocklists per group) -- unique dictionary values (blocklist index) can be represented. Of course, this can be increased by increasing size of bytes used to represent the blocklist group (currently 2 bytes) and/or blocklists themselves (also at 2 bytes).
Ideally, the encoded representation must optimize for the data being encoded. Analysis tells us that there are likely over 80% domains that are present only either in one or two blocklists. So, there's a potential to rethink the current strategy of encoding the blocklist metadata the way we are while also increasing number of blocklists that RethinkDNS, the resolver, can support.
Today, the blocklists metadata is stored in a dictionary-encoded bitmap as leaf node of domains compacted into a radix trie.
This encoded bitmap is then represented in a URL (like the one rethinkdns/configure generates in response to user's selection) as a url-safe
base64
.The bitmap encoding is such that, up to a maximum of 256 --
16
(blocklist groups) x16
(blocklists per group) -- unique dictionary values (blocklist index) can be represented. Of course, this can be increased by increasing size of bytes used to represent the blocklist group (currently2
bytes) and/or blocklists themselves (also at2
bytes).Ideally, the encoded representation must optimize for the data being encoded. Analysis tells us that there are likely over 80% domains that are present only either in one or two blocklists. So, there's a potential to rethink the current strategy of encoding the blocklist metadata the way we are while also increasing number of blocklists that RethinkDNS, the resolver, can support.
The text was updated successfully, but these errors were encountered: