Why doesn DLZ driver XXX have a cache?
Because it shouldn’t. The entire purpose of DLZ is to publish dynamic DNS data. By implementing a cache, you are adding a delay between the updates to the database and the time those updates are visible in DNS. Also, there are a variety of different ways to implement a cache. Who is to say the way I implement the cache supports the features & options you need? Attempting to develop a cache with a large number of options and settings would be difficult, bug prone, and hard for end users to setup. If you cannot get the performance you need from a DLZ driver, you are using the wrong driver. You will never get the performance from one of the SQL drivers that you will from the Berkeley DB driver. Berkeley DB is a much simpler database system, with much lower overhead than SQL databases. Also, the Berkeley DB provides a very good built in cache which the DLZ driver takes full advantage of. You can still use an SQL database to store and manipulate your DNS data, while also taking advantage of