Usługa katalogowa
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.