[bind10-dev] Datasource API
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Tue Jan 12 04:02:40 UTC 2010
At Mon, 11 Jan 2010 17:06:53 +0800,
"zhanglikun" <zlkzhy at gmail.com> wrote:
> > On thinking about it more, I now more inclined to the idea of making
> > the lowest level interface as much independent from DNS as possible.
> >
> > Ideally, the low level API considers a data source a very simple
> > database where keys are a pair of "name + (extended) type (+ perhaps
> > class)" and values are some opaque data. name/type/class could be
> > represented as some trivial type of data, such as a (C-style) string
> > or integers. Then we'll only need to provide some basic manipulation
> > methods:
> >
> > value = datasrc.find(key);
> > value = datasrc.add(key, value); // this 'add' is a 'replace'
> > value = datasrc.delete(key);>
>
> Yes,I think it's a good design, but the only problem is: the relationship
> between records are lost, every client query will make the low API are
> called for several times. Maybe it's a nightmare for some database backend.
>
> Dns.com NS a.dns.com.
> a.dns.com A 1.1.1.1
>
> eg,
> +dig dns.com ns, First query dns.com. ns, then query a.dns.com for type A.
I'm not sure if we are talking about the same thing...I meant an API
used in a single application (or in the worst case between two
co-operating processes in a single node). But your 'dig' example
seems to indicate that you mean actual DNS transactions between a
"real" server and a "real" client. Of course, in a "cluster" (which
is still mostly a buzzword for us) setup of BIND10, the API may be
extended to be used between a "real client" and a "real server"
possibly located in separate nodes, but I don't think we are currently
thinking about such a fancy configuration.
Assuming an API for a single application, yes, it's suboptimal in
terms of performance, but I think that's exactly what the "low level"
API is supposed to do: we'll probably design and use a dedicated "high
level" interface where we need to optimize performance.
> BTW, what's extended type mean? You mean Type + cover type?
Yes.
---
JINMEI, Tatuya
Internet Systems Consortium, Inc.
More information about the bind10-dev
mailing list