Kiedy należy używać protokołu LDAP w porównaniu do bazy danych/bazy danych-kluczy-sklepu/bazy danych-bazy danych/etc?Kiedy używać LDAP w bazie danych?
Odpowiedz
LDAP można uznać za bazę danych. Ale zakładam, że masz na myśli bazy danych SQL.
Magazyny danych LDAP są przeznaczone dla systemów o dużej liczbie odczytów w porównaniu do zapisów. Podczas gdy inne bazy danych, takie jak sklepy SQL, są przeznaczone do wykorzystania danych transakcyjnych (wysokie odczyty i zapisy).
Dlatego właśnie LDAP jest protokołem katalogowym. Jest dobrze dostosowany do katalogów, w których czytasz dużo i nie piszesz.
Od here
LDAP jest charakteryzowany jako usługa A "jednokrotnego zapisu-odczytu wielu razy. Ten oznacza, że typ danych, które normalnie byłyby przechowywane w usłudze LDAP , nie powinien się zmieniać przy każdym dostępie. Na przykład: ilustrują: LDAP NIE byłby odpowiedni do przechowywania rekordów transakcji bankowych , ponieważ ze swej natury zmieniają się one przy każdym dostępie (transakcji) po . LDAP byłoby jednak być wybitnie nadaje się do zachowaniu szczegółów w oddziałach banków, godziny otwarcia, pracowników etc ..
I to jest kolejny dobry wstęp here - LDAP vs RDBMS
Poza tym, co ma Preet Sangha powiedział, należy również zauważyć, że LDAP nie jest transakcyjny. Serwer może dowolnie opóźniać aktualizacje, więc następny odczyt zaktualizowanych danych może nie odzwierciedlać aktualizacji. Jeśli masz wymagania transakcyjne, nie możesz używać LDAP; jeśli nie, możesz.
W przeszłości z całą pewnością iz serwerami katalogowymi wywodzącymi się od Univa. bazy Mich. code, write-once read-many było z pewnością przypadkiem, a serwery katalogów wywodzące się z tej bazy kodu cierpią z powodu słabej wydajności zapisu. Przez lata użytkownicy LDAP żądali jednak większej wydajności zapisu i jakości transakcji od serwerów katalogów LDAP, a nowoczesne serwery katalogowe oparte na Javie mają doskonałą wydajność odczytu i zapisu.
także miło read:
nie ma prostej odpowiedzi, ale Poniższe wskazówki mogą być przydatne:
Hitem wydajność podczas zapisu polega na aktualizacji indeksów. Im więcej indeksów (dla szybszego czytania), tym rzadsze jest aktualizowanie katalogu przez . Odczyt: współczynniki zapisu mniejsze niż 1000: 1 lub wyższe dla mocno zoptymalizowanych katalogów LDAP.
Replikacja LDAP generuje wiele transakcji dla każdej aktualizacji, aby uzyskać najniższe praktyczne obciążenie aktualizacji (1 000: 1 lub więcej).
Jeśli są duże ilości danych (powiedzmy> 10000) czas aktualizować nawet niewielką liczbę indeksów mogą być poważne, tak aby zachować aktualizacje jak niskiej jako praktycznego (10000: 1).
Jeśli woluminy danych są stosunkowo małe (powiedzmy < 1000 rekordów), indeksy skromny i nie replikacji jest używany widzimy żadna istotna przyczyna nie można używać protokołu LDAP w formie rozwiązań opartych transakcja IE systemu co 5 - 10 wejść wymaga odczytu, a następnie napisania cyklu (modyfikacja w żargonie LDAP).
Podejrzewamy, że prawdziwa odpowiedź na to pytanie jest (z całym szacunkiem dla pamięci późno, ubolewał Douglas Noel Adams): stosunek czyta zapisu jest 42!
Tu jest różnica między tymi dwoma: LDAP jest bardzo optomized dla czyta, może to zrobić je znacznie szybciej niż bazy danych MySQL może, więc będzie skala znacznie lepiej niż rozwiązania baza danych będzie w długi czas, który jest optomizowany do odczytu i zapisu.
Jestem pewien, że znajdziesz więcej aplikacji wspierających LDAP dla metody uwierzytelniania niż MySQL, a będziesz mógł zintegrować więcej z twoim katalogiem. Ostrzegam, że zanim przejdziesz najpierw do LDAP, zapoznasz się z narzędziami do zarządzania dla konkretnej implementacji LDAP. OpenLDAP jest świetny, ale ręczne modyfikowanie katalogu przez cały czas jest do bani.
LDAP naprawdę świeci to skalowalność. Jeśli w szczególności chcesz mieć miejsce do przechowywania kont użytkowników do uwierzytelniania i chcesz skalować do wielu replikowanych serwerów - i obsłużyć dziesiątki tysięcy żądań uwierzytelnienia na sekundę, LDAP jest świetną opcją.
- 1. Mysql: kiedy używać wyzwalaczy
- 2. Kiedy używać viewDidLoad i kiedy używać awakeFromNib
- 3. Jak używać enum w bazie danych Postgres w Rails 3?
- 4. jak używać wyjątek rzucać w bazie danych mysql połączyć
- 5. Kiedy używać node.js i kiedy używać ajax?
- 6. Kiedy używać OPTIMIZE w mysql
- 7. kiedy używać zadania i kiedy używać wątku?
- 8. Kiedy należy używać JCR i kiedy należy używać JPA/RDBMS?
- 9. Kiedy używać kwerendy lub kodu
- 10. Kiedy należy używać AQL?
- 11. Autoryzacja Ldap w symfony2
- 12. Kiedy używać dup i kiedy używać klonu w Ruby?
- 13. Kwerendy hibernacji w bazie danych
- 14. Kiedy używać Kd-Trees?
- 15. Kiedy nie używać neo4j?
- 16. Kiedy używać memcached
- 17. Kiedy należy używać _aligned_malloc()?
- 18. który darmowy serwer LDAP ma używać?
- 19. Kiedy używać widoków tekstur
- 20. Przewidywanie brakujących wartości danych w bazie danych
- 21. Wstawianie rekordów zbioru danych w bazie danych
- 22. Android istnieje() w bazie danych?
- 23. Html w mojej bazie danych!
- 24. MySQL typ danych w bazie
- 25. Zachowaj ustawienia w bazie danych
- 26. Zwiększanie licznika w bazie danych
- 27. Jak przechowywać rok w bazie danych?
- 28. Kiedy używać NSEnumerationConcurrent
- 29. Kiedy używać interfejsów w PHP
- 30. Kiedy używać asObservable() w rxjs?
W rzeczywistości niektóre nowoczesne serwery katalogowe i zestawy SDK o profesjonalnej jakości faktycznie obsługują transakcje, choć słusznie można by powiedzieć, że nie jest to normalne i ogólnie w porównaniu z RDBMS to nie to samo. –