[bind10-dev] Refactored data source - design

Stephen Morris stephen at isc.org
Fri Jul 8 17:51:14 UTC 2011


Some comments on http://bind10.isc.org/wiki/DataSourceDesign (as
requested in ticket #817)

* I have no problem in keeping the DB backend as dumb as possible. The
abstract DataBaseDataSourceClient with a concrete implementation for
each database would seem to achieve that.  Also, the operations
illustrated in the DataBaseConnection class seem high-level enough to
allow their replacement with calls to database stored procedures (for
databases that support them) if doing so would result in a performance
improvement.

* Agree with the idea that a different data source is used for each
class, but what do we do about "version.bind" queries? Will we treat
these as special case or will we supply a stub "CH" class data source to
handle them?

* Prefer ZoneFinder to ZoneHandle. (The latter seems to suggest that it
is some class holding a handle to a zone served by the authoritative
server.)

* Regarding updates, am I right in remembering that we made the decision
to always have a database back end, and that updates would be applied to
that and loaded into cache? (It would be useful to state that early on
as it gives some context to the design.)

* At some time we need to decide if we are going the multi-thread or
multi-process route.  This probably won't impact on the data source
design, but I would anticipate that it will have an impact on the design
of the hotspot cache.

Stephen



More information about the bind10-dev mailing list