Portál AbcLinuxu, 22. prosince 2025 16:02
Zrovna pracuji na necem podobnem a ocenil bych neco na porovnani a pripadne vylepseni meho reseni...
Autor asi myslel o dost méně pracnější. S rychlostí to imho nemá co dělat, leda tak s rychlostí bastlení.
Benchmarky vskutku nemám, je to spíš můj úsudek, že select na jedny tabulce s vhodnými indexy je rychlejší než selecl na více tabulkách.Myslím, že za ty desítky let vývoje relačních databází by se na to už přišlo, že jsou relační databáze nesmysl a je lepší vše nacpat do jedné tabulky. Stačí si uvědomit, že u řídké tabulky se musí z disku načíst mnohem víc dat (i ty prázdné nebo nezajímavé hodnoty, které nepotřebuju), a načítání z disku je ta nejdražší operace.
nestoji to za dalsi cas straveny vyvojom a vrstvenim roznych tabuliUznávám, že výkon zde asi není tak důležitý, ale udělat kvalitní návrh takovéto DB nezabere až tolik času a hlavně to hodně práce ušetří v budoucnu, při rozvoji aplikace, úpravách. Normální formy a další doporučení pro návrh databází nejsou jen akademické bláboly, má to svůj smysl. Efekt je např. v tom, že při přidání další služby prostě jen přidám záznam do číselníku služeb (DML operace) a nebudu musel upravovat tabulky (DDL operace) ani aplikaci – což v případě, kdy je vše namaštěné v jedné tabulce, musím.
Protokol LDAP slouží právě pro "centralizovanou" správu uživatelů. To že autor nechápe jeho princip není problémem LDAPu, ale autora. Zopakuju to určitě ještě několikrát, ale prostě to zopakuju. Jednou z vlastností LDAPu je STANDARDIZOVANÝ KOMUNIKAČNI PROTOKOL mezi klientem a serverem. Je to hodně důležité pochopit!!! Jde o to, že klient napsaný pomocí klientských knihoven OpenLDAP může komunikovat např. s Active Directory serverem (och, jak jsem si na tomhle serveru mohl dovolit zmínit se o produktu Microsoftu!), Novell eDirectory apod. Vyměníte OpenLDAP server za LDAP server od SUNu a vše běží. Vyměníte MySQL za PostgreSQL a ... jste u Heleny Vondráčkové
Další velmi důležitou vlastností LDAPu je to, že má STANDARDIZOVANÁ SCHÉMATA, která pro hodně případů postačuje a aplikace, které umí s LDAPem pracovat, se jimi řídí.
A snad jen poslední poznámky na závěr, ale pro autora možná velmi podstatné. Kdyby byl protokol LDAP nevyhovující, určitě by do něj firmy jako je Microsoft, Novell, IBM, HP, Oracle apod. neinvestovaly takové peníze, jaké do něj nainvestovaly. LDAP je důležitou součástí podnikových řešení, ale jejich architekturu musí navrhovat někdo, kdo má zkušenosti. LDAP lze poměrně obstojně integrovat s jinými databázemi, protože nemusí mít jako zdroj dat svoji integrovanou databázi, povětšinou založenou na BerkeleyDB, ale může používat SQL databázi. Takhle to má uděláno například Oracle u svého Oracle Internet Directory. Dalším řešením by bylo, naprogramovat si datovou pumpu, která by v určitou dobu tahala data z SQL databáze do LDAP serveru. Řešení je hodně, ale rozhodně bych LDAP nezatracoval pro jeho neznalost. Když se nad tím člověk zamyslí, dojde k tomu, že všechno spolu nějak souvisí ...
To, ze ldap musi navrhovat nekdo se 'zkusenostmi' jak pisete je problem tohoto nastroje.Neřekl bych, že je potřeba mít o tolik víc znalostí než pro návrh kvalitního schématu relační databáze. Spíš bych řekl, že to bude naopak – u LDAPu tě vedou ty standardizovaná schémata (nejužitečnější vlastnost LDAPu), zatímco u návrhu schématu relační databáze autora většinou jen „selský rozum“, pocity jak by to „mělo vypadat“ (podle toho to pak dopadá) a v lepších případě zkušenosti a načtené teorie z knih. U LDAPu tam člověk vrzne ty struktury, které už vlastně dostal naservírované a nemá toho tolik co zkazit (jasně, třeba uspořádání toho stromu se dá zkazit, ale není tam taková volnost jako u relační DB). Dřív jsem byl z LDAPu hodně nadšený, ale časem to vyprchalo. U jednodušších systémů je problém, že má člověk uživatele na jednom místě (LDAP) a ostatní data na jiném místě (např. SQL databáze) a mezi nimi nefunguje referenční integrita a záznamy je potřeba synchrozizovat. Také čím dál víc aplikací umí ověřování vůči SQL databázi, nejen vůči LDAPu. U složitých systémů se zase člověk nevyhne nějakému tomu IDM, takže pak zase není problém, aby aplikace měly svoje (relační) databáze uživatelů a IDM to všechno režíroval. LDAP se pak hodí hlavní pro nějakou tu prostřední kategorii (kdy ještě IDM není potřeba) a ta je celkem úzká. Asi nejzajímavější je mít data v relační DB a nastavit LDAP server tak, aby fungoval jako rozhraní k této SQL databázi pro aplikace, které LDAP potřebují – pak má člověk jak relační tak LDAPový přístup k uživatelům a data jsou na jednom místě.
LDAP neslouží jen pro autentizaci uživatelů, to je jen jeho zjednodušené chápání. Lze do něj ukládat k jednotlivým záznamům fotografie uživatelů, čísla kanceláří, telefonní čísla, číslo přiděleného služebního auta, reference na nadřízeného apod.Do LDAPu toho jde dát opravdu hodně, ale potíž je v tom, že se tam nevejde úplně všechno – není tak univerzální jako relační databáze, kterou nakonec člověk stejně má. A potom je část dat tam a část tam – proto mi přijde vhodnější použít LDAP jen na ověřování a všechny ostatní data mít jinde (datová vrstva aplikace nemusí pracovat se dvěma protokoly ale jen s jedním).
To samé je s MS Active Directory, Oracle Internet Directory apod. Jsou to enterprise řešení a samozřejmě si za to nechají řádně zaplatit. Pokud chcete "ušetřit", musíte si vše splácat sami. To, že X.500 a LDAP není tak známý a prosazovaný je dáno jeho použitím. S HTTP, SMTP a POP3/IMAP4 pracují denně nejen v práci, ale i doma. Doma si mohou vyzkoušet různé věci, ale X.500/LDAP není tak jednoduché vyzkoušet, vyžaduje dost znalostí okolo, např. jak napojit na LDAP SMTP/POP3/IMAP server, jak na něj napojit VOICP server apod. Nojo, ale to najednou nejsme u LDAP protokolu, ale museli jsme obsáhnout protokoly další. U SQL databází to je jednoduché, tam se vymyslí většinou nějaká jednoduchá tabulka do které se všechno ukládá a pak se použije PAM.
2.) K návrhu SQL taky přistupuje někdo ze zkušenostmi, nebo by aspoň měl. Pravdou je, že 3.NF zvládne bez větších obtíží každý, na to stačí selský rozum, navrhnout adresářový strom je trošku větší kumšt, člověk musí hodně uvažovat dopředu. Problém je, že všechno souvisí se vším a je velká potíž najít někoho, kdo se v systémech a jejich návaznostech vyzná. Mě osobně to přijde, že je tu plno lidí, kteří znají velmi dobře nějaký svůj kus z IT a ostatní je moc nezajímá. Je to jejich specializace, v té si hoví a bojí se kouknout "za plot" svých znalostí. Systémy mají navrhovat systémoví architekti a ne nějaký správce. Když se systémový architekt snaží dělat admina, je to katastrofa. Když se admin snaží dělat architekta, je to podobné ...
Jen bych rád podotkl a uvedl na správnou míru, že rozhodně nejsem politik, odborářský předák nebo nedejbože obchodník či absolvent práv a ekonomky.
Jen k těm architektům a adminům - jako optimální vidím, když architekt je/byl admin, ví potom co za hovadiny nemá vymýšlet
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.