Usługa katalogowa – baza danych zawierająca następujące obiekty: użytkowników, aplikacje, urządzenia sieciowe i inne zasoby sieciowe. Usługa katalogowa musi być przynajmniej częściowo obiektową bazą danych reprezentującą użytkowników sieci i zasoby, co pomaga zarządzać relacjami między ludźmi a sieciami, urządzeniami sieciowymi, aplikacjami sieciowymi i zawartymi w sieci informacjami.
Usługa katalogowa zapewnia administratorom jeden, logiczny i precyzyjny sposób opisu wszystkich urządzeń i usług sieciowych. Oferuje ona dostęp za pośrednictwem bezpiecznego logowania się i hierarchicznie organizuje zasoby sieciowe (takie jak: użytkowników, drukarki, zespoły robocze, aplikacje, woluminy, serwery plików, serwery baz danych, obiekty itp.) na drzewie katalogowym. Usługa katalogowa zapewnia bezpieczeństwo, kontrolując dostęp oraz oferując pewien stopień odporności na błędy.
Typy serwisów katalogowych: zamknięte oparte na standardach (X.500, LDAP) hybrydowe usługi metakatalogowe
Usługi katalogowe Na rynku dostępne są różne usługi katalogowe, najbardziej znane to: Active Directory dla Microsoft Windows Apache Directory Project Apple Open Directory dla systemu operacyjnego macOS Fedora Directory Server IBM Tivoli Directory Server Novell eDirectory (dawniej NDS) OpenLDAP Red Hat Directory Server Sun Java System Directory Server
Porównanie z relacyjnymi bazami danych Jest kilka rzeczy, które różnią tradycyjna usługę katalogową od relacyjnej bazy danych: W zależności od aplikacji katalogowej, informacje są o wiele częściej czytane aniżeli zapisywane. W związku z tym zalety bazy danych takie jak rollback czy transakcje w niektórych usługach katalogowych nie są nawet zaimplementowane. Dane mogą być niepotrzebne, ale celem jest szybsza odpowiedź podczas wyszukiwania danych. Dane mogą zostać zorganizowane w hierarchiczny sposób, który czasem może być nawet problematyczny. W celu owładnięcia problemów z głębokimi przestrzeniami nazw, niektóre usługi katalogowe dzielą przestrzenie nazw hierarchicznie w mechanizmie składowania w celu optymalizacji nawigacji. Wyszukiwanie odbywa się na podstawie atrybutów danych, a następnie odczytywane są wartości ich przestrzeni nazw, ta metoda jest szybsza aniżeli nawigacja poprzez poszczególne przestrzenie. W ocenie relacji, tradycyjne usługi katalogowe nie posiadają za wiele relacji wiele do wielu. Takie relacje muszą być utrzymane wyraźnie poprzez używanie list, które rozróżniają nazwy oraz inne identyfikatory. Oryginalnie hierarchiczne informacje usług katalogowych typu X.500 były uważane za problematyczne w porównaniu do relacyjnych baz danych. Obecnie implementowane są obiektowe bazy danych wykorzystując Javę, dokumenty XML także zaadaptowały hierarchiczny obiektowy model danych. Schemat jest zdefiniowany jako klasy obiektowe, atrybuty, dane (przestrzenie nazw, namespace). Klasa jest zdefiniowana następująco: Atrybuty, które muszą występować w instancji klasy Atrybuty, które mogą być zdefiniowane w instancji, ale mogą być też pominięte kiedy obiekt jest tworzony. Brak konkretnego atrybutu może być niejako tłumaczony jako NULL w relacyjnych bazach danych. Atrybuty mogą być czasami wielowartościowe Atrybuty oraz Obiekty klasy są standardowe dla całego przemysłu oraz formalnie zarejestrowane przez IANA.