(nettipäiväkirja 01.03.2017) DNS on hurja palvelu. (Jos et tiedä, mikä se on, niin lyhyesti se on palvelu, joka muuntaa koneiden nimet, kuten "www.google.com", koneiden osoitteiksi joiden perusteella niihin voi oikeasti ottaa yhteyttä.)
atehwa@kuinze:~$ host www.google.com www.google.com has address 172.217.22.164 www.google.com has IPv6 address 2a00:1450:400f:807::2004
Sehän on tietysti ihan arkipäiväinen, mutta se on 1) hajautettu, 2) hajautetusti hallinnoitu, 3) käytössä ihan kaikessa, ja 4) todella monimutkainen. DNS:ssä replikointi, cachettava välitys ja delegointi sekä saman hallinnointitahon että eri hallinnointitahojen palvelimien välillä on arkipäivää. DNS sisältää tajuttoman määrän erilaisia luottamus-, todennus- ja hyödynnyssuhteita ja sen takia myös tajuttoman määrän potentiaalisia turva-aukkoja.
Koneiden osoitteiden selvittämisen lisäksi sitä käytetään hajautettuna konfiguraatiotietokantana esimerkiksi spämmin blokkauslistoissa, lähiverkon palvelurekistereissä, firmojen hakemistopalveluissa ja ties missä. Perinteisesti DNS-palvelin on konfiguroitu jollain muulla kuin verkkoliikenteellä ja asiakkaat kyselevät siltä asioita, mutta nykyään asiakkaat voivat myös lähettää DNS-palvelimelle tietoa (RFC2136) ja huudella kyselyitä toisilleen (RFC6762). DNS alkaa olla niin monipuolinen, että sitä voi käyttää melkein minkälaisen tiedon tallettamiseen tahansa.
Tavallaan tämmöisen hirviön kanssa ei kannattaisi olla missään tekemisissä, mutta tosiasiassa se on mahdotonta, joten oikeastaan kaikki, minkä voi tehdä DNS:llä, kannattaa tehdä sillä. DNS:lle on mahtava tuki kaikkialla, sille on monia keskenään "kilpailevia" avoimen lähdekoodin toteutuksia, ja melkein kaikki verkon julkiset tunnisteet perustuvat DNS-palveluun: URL:t (osoitteessa http://sange.fi/~atehwa/ nimi "sange.fi" tulkitaan DNS:n avulla), sähköpostiosoitteiden @-merkkiä seuraava osuus, tag:-URI:t, ja niin edelleen. Eli, jos tarvitset saavutettavan (high availability), kaikista ohjelmointikielistä helposti käytettävän avain-arvo-tietokannan, DNS on ihan järkevä ratkaisu. Varsinkin, jos tiedon hallinnointi on jotenkin hajautettua.
Muita hajautettuja tietokantajärjestelmiä: