Ich selbst nutze unter anderem PowerDNS als DNS-Server. Im
letzten Monat betrachtete ich mir dessen MySQL-Backend, da ich
über zwei Kanäle darüber informiert wurde, dass PowerDNS mit dem
Backend nicht skaliert.
Die DNS-Records werden in PowerDNS in zwei Tabellen abgelegt.
Eine für die Domains:
create table domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
) Engine=InnoDB;
Und eine weitere für die Records:
CREATE TABLE records (
id int(11) NOT NULL auto_increment,
domain_id int(11) NOT NULL,
name varchar(255) NOT NULL,
type varchar(10) NOT NULL,
content varchar(255) NOT NULL,
ttl …