MyDNS-ng is a follow on project from the MyDNS project developed by Don Moore. The aims of this project are to produce a product that is a fully fledged DNS server supporting a wider range of Resource Records and allowing very large scale services.
MyDNS-ng is currently being developed by Howard Wilkinson of Coherent Technology Ltd. The core of the work is being carried out in 'C' and has been aimed at producing an evolving DNS platform which changes often but produces stable development points so that the code can be deployed for production use as it gains new features.
The target of the development is to:
- Add support for the newer record types that have been defined in recent years.
- Add support for EDNS operation.
- Add support for multiple concurrent database backend instances, this will allow: fail-over to alternate provider
in case of back end failure or network partition; load balancing across multiple providers to achieve higher throughput;
partitioning of the data store into multiple arenas so that support for different DB engines can be combined in the one
executable. See data migration
- Add a run-time control utility that will allow the running system to be reconfigured, ala RNDC from BIND (Internet System Consortium), this will allow the in-memory
cache to be tuned and flushed; the flushing and reloading of zones; the collection of statistics; the dynamic enabling
of debug code, ...
- Provide support for secondary zones, this will allow zone transfers into the database storage from other DNS
- Increase the performance of the core server in handling queries by making the task scheduler more responsive and
by multi-threading the core so that database requests cannot stall one of the processes.
- Convert the in-memory cache to a shared resource between the running processes giving the server core a smaller
memory footprint and increasing the responsive ness of the core for records that are being hit rapidly. This mechanism
will be designed to allow the existence of multiple copies of the in-memory cache to continue to exist for those
environment where memory is segmented such as NUMA machines.