[bind10-dev] Data source configuration

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Thu May 24 16:39:05 UTC 2012


At Thu, 24 May 2012 13:17:03 +0200,
Shane Kerr <shane at isc.org> wrote:

> > First, regarding the need for using multiple data sources at the same
> > time. Forgetting the special in-memory for now (and see below about
> > that), while I think we should allow that, I suspect it's an uncommon
> > if not unlikely operation.  I believe in the vast majority case
> > there's just one real data source (sqlite3, or mysql or postgres, or
> > perhaps some form of plain text).
> 
> I think it quite possible that people will want to have data sources
> that generate answers. For example, CNNIC may need to do this for
> mapping traditional Chinese onto simplified Chinese, and of course
> people will want to use geo-location. Some of these generated data
> sources will make sense to mix with "standard" data sources and of
> course an in-memory data source.

Okay (although: I thought we've normally ignored such scenarios using
the magic word of "hooks":-).  But note that the resulting proposed
model doesn't reject such a configuration.  It's more about how common
it is, and, maybe more important, how fast the server should be in
such a configuration.  As long as the administrator can accept the
overhead of the best-match, there's no problem with that.

> > Third, about "in memory data source".  As we all know it's special in
> > several points, and its specialty is one of the reasons why this
> > configuration is a difficult problem (e.g., we need to find a clean
> > way to avoid using in-memory for certain applications). [...]
> 
> I kind of like the cache idea, with one question... do we ever foresee
> having multiple in-memory data models? I can imagine zones where one
> model is more efficient; we discussed the reverse DNS tree already at
> the face to face meeting as a good example of this.

I've never thought of that, but implementation-wise I don't think it's
very difficult.  How we can represent it in the configuration in an
intuitive manner is a different question, on which I'm not so sure.

> So I think it may make sense to consider the in-memory data source as
> effectively a fully-loaded cache, we should consider this caching to be
> a class of activity rather than a total special case.

I'm not sure if I understand you here.  Do you mean the cache
configuration should also be more flexible, like this?

'datasource': [
  {
    'type': 'sqlite3', 'database-file': 'zones.sqlite3',
    'cache': [
       { 'type': 'rbtree', 'zones': ['example.com'] },
       { 'type': 'radix', 'zones': ['2.0.192.in-addr.arpa'] }
     ]
  },

---
JINMEI, Tatuya


More information about the bind10-dev mailing list