[bind10-dev] SQL in BIND 10

Robert Edmonds edmonds at isc.org
Mon Jan 28 23:35:21 UTC 2013


Shane Kerr wrote:
> [...]
> 2. Users want to insert data directly into an SQL database, or read the
>    value there, from other applications, and have it be the same as the
>    DNS view of the world.
> [...]
> In the second case, we need to be more flexible, perhaps only
> specifying a VIEW (in the SQL sense, not the BIND sense) or even a set
> of queries.
> 
> There are a number of issues with a flexible schema:
> 
> * In order to properly update the DNS, you should update related
>   fields, for example the SOA needs to change when the zone contents
>   change.
> 
> * If we want to support IXFR then zone history needs to be maintained.
> 
> * External events - such as NOTIFY - should be triggered based on
>   updated zone contents.
> 
> * Some operations - such as getting NSEC records - require sorted
>   zones, and in order for these to be retrieved properly they need to
>   be encoded somehow.
> 
> There are surely a few more issues, but this gives the general idea.
> 
> We may be able to provide helper functions for these, or simply have
> the database configuration define which features are supported. If we
> want to be sexy we can try to use TRIGGER and stored procedures to keep
> data synchronized automatically - although at that point we start to
> run into code duplication issues.

hey, this might sound crazy, but does that second use case strictly
require that there be a really existing SQL server being used as the
backing store, or does it only require that the _interface_ of a SQL
server be provided?  what if the DNS data model were somehow mapped onto
some subset of, say, the mysql client protocol?  if you had such a
mapping layer from SQL client -> DNS for "flexible" use cases, your
backing store could then be any "captive" data store that could support
the DNS data model... including a SQL server.  in other words, treat SQL
servers as data stores, and SQL clients as clients speaking a weird
RPC protocol.

-- 
Robert Edmonds
edmonds at isc.org


More information about the bind10-dev mailing list