[bind10-dev] Data source development
Michael Graff
mgraff at isc.org
Wed Dec 30 19:13:04 UTC 2009
Shane has asked if we could have this done by the end of the next
bind-10 meeting summit in January.
I believe the only hard part right now that I need to solve is simple:
Do we use a "compiled" format (where something, either the system or the
admin, compiles a zone into an sqlite3 or bdb format) or do we accept
text directly and have an in memory system?
I'd be tempted to do this, as I think it could be pounded out fast by
anyone who knows C++ well (which is not yet me...)
A tool that takes a flat text file and compiles into SQLite3
A tool that does the reverse.
DDNS updates go into the sqlite3 database.
The database stores a simple wire format (or other fast-to-re-render
format) of an RRSET. It has signatures on those records and returns
them both at once.
If we can't do sigs + data trick as above, then rrsigs are just
records and we'll seek and filter when we render.
A simple cache that sits between data sources and the server
logic. Perhaps this cache may be per-data source (with a shared
maximum size) or perhaps it will be BEFORE any data sources. I
sort of prefer the former, as I think it's a cleaner approach.
When we do REAL caching for a resolver, that is not the same as
the hot-spot cache described above.
Remember that whatever we do here is not going to be set in stone; we
can always add to the API, remove from it, etc. as we wish. We can
either version the API and eventually remove older ones, or do something
better like providing default, working-but-not-extremely-efficient
versions for missing functionality.
--Michael
More information about the bind10-dev
mailing list