LDAP與數據庫的比較

 LDAP 概念php

LDAPLightweight Directory Access Protocol),輕量級目錄訪問協議。它是目錄訪問協議一個標準。它是基於X.500 標準的,能夠根據須要定製。輕量級目錄訪問協議以信息目錄的形式存在,在該目錄中可只定義一次用戶和組,而在多臺機器和多個應用程序間共享它們。1html

LDAP 定義與目錄服務進行通訊所使用的操做,如何找到目錄中的實體,如何描述實體屬性,以及許多安全特性。這些安全特性可用於對目錄進行身份驗證,控制對目錄中的實體的訪問。程序員

LDAP 標準中沒有定義在目錄服務器上存儲信息的方式。爲實施LDAP 服務器,使用了許多不一樣的技術。這些技術包括簡單的平面文件、索引文件和相關數據庫。不管使用什麼技術來實施目錄, LDAP 客戶端對目錄的全部訪問都使用相同的標準協議:LDAP。爲此,儘管存在不一樣的內容結構,這些目錄都被稱爲LDAP 目錄服務器。sql

在企業範圍內實現LDAP 可讓運行在幾乎全部計算機平臺上的全部的應用程序從LDAP 目錄中獲取信息。LDAP 目錄中能夠存儲各類類型的數據:電子郵件地址、郵件路由信息、人力資源數據、公用密匙、聯繫人列表,等等。經過把LDAP 目錄做爲系統集成中的一個重要環節,能夠簡化員工在企業內部查詢信息的步驟,甚至連主要的數據源均可以放在任何地方。數據庫

 LDAP目錄是不是數據庫編程

某種意義上說,LDAP 目錄是一種與關係數據庫不一樣的、特殊的數據庫,嚴格意義上說,安全

LDAP根本不是數據庫而是用來訪問存儲在信息目錄(也就是LDAP目錄)中的信息的協議服務器

LDAP和關係數據庫是兩種不一樣層次的概念,後者是存貯方式(同一層次如網格數據庫,對象數據庫),前者是存貯模式和訪問協議。LDAP是一個比關係數據庫抽象層次更高的存貯概念,與關係數據庫的查詢語言SQL屬同一級別。LDAP最基本的形式是一個鏈接數據庫的標準方式。該數據庫爲讀查詢做了優化。所以它能夠很快地獲得查詢結果,不過在其它方面,例如更新,就慢得多。2網絡

就象SybaseOracleInformixMicrosoft的數據庫管理系統(DBMS)是用於處理查詢和更新關係型數據庫那樣,LDAP服務器也是用來處理查詢和更新LDAP目錄的。換句話來講LDAP目錄也是一種類型的數據庫,可是不是關係型數據庫。不象被設計成每分鐘須要處理成百上千條數據變化的數據庫,例如:在電子商務中常常用到的在線交易處理(OLTP)系統,LDAP主要是優化數據讀取的性能。數據結構

目錄是特殊化的數據庫有着與傳統意義上的關係數據庫不一樣的特徵【3】

1用戶訪問目錄一般比更新目錄多得多

         目錄適合存儲相對靜態的信息。

2)目錄不支持事務機制

3)信息訪問機制不一樣

         大多數關係數據庫支持標準化的sql訪問方式,而LDAP目錄的訪問使用簡單的而又優化的訪問方式。

 

 LDAP適合的應用

LDAP最大的優點是:能夠在任何計算機平臺上,用很容易得到的並且數目不斷增長的LDAP的客戶端程序訪問LDAP目錄。並且也很容易定製應用程序爲它加上LDAP的支持。LDAP協議是跨平臺的和標準的協議,所以應用程序就不用爲LDAP目錄放在什麼樣的服務器上操心了。

LDAP服務器能夠是任何一個開發源代碼或商用的LDAP目錄服務器(或者還多是具備LDAP界面的關係型數據庫),由於能夠用一樣的協議、客戶端鏈接軟件包和查詢命令與LDAP服務器進行交互。與LDAP不一樣的是,若是軟件產商想在軟件產品中集成對DBMS的支持,那麼一般都要對每個數據庫服務器單獨定製。

LDAP服務器能夠用「推」或「拉」的方法複製部分或所有數據,例如:能夠把數據「推」到遠程的辦公室,以增長數據的安全性。複製技術是內置在LDAP服務器中的並且很容易配置。若是要在DBMS中使用相同的複製功能,數據庫產商就會要你支付額外的費用,並且也很難管理。

LDAP適合存儲符合如下條件的數據:

  • 須要在任何平臺上都能讀取數據

  • 每個單獨的記錄項每一天都只有不多的改變

  • 能夠把數據保存在平面數據庫(flat database)而不是關係型數據庫中換句話來講,也就是無論什麼範式不範式的,把全部東西都存在一個記錄中(差很少只要知足第一範式)。

LDAP對於存儲下面這樣的信息最爲有用,也就是數據須要從不一樣的地點讀取,可是不須要常常更新。例如,這些信息存儲在LDAP目錄中是十分有效的:

  • 公司員工的電話號碼簿和組織結構圖

  • 客戶的聯繫信息

  • 計算機管理須要的信息,包括NIS映射、email假名,等等

  • 軟件包的配置信息

  • 公用證書和安全密匙

大多數的LDAP服務器都爲讀密集型的操做進行專門的優化。所以,當從LDAP服務器中讀取數據的時候會比從專門爲OLTP優化的關係型數據庫中讀取數據快一個數量級。也是由於專門爲讀的性能進行優化, 大多數的LDAP目錄服務器並不適合存儲須要常常改變的數據。例如,用LDAP服務器來存儲電話號碼是一個很好的選擇,可是它不能做爲電子商務站點的數據庫服務器。

LDAP 能夠用於多應用中的統一的身份認證和受權。1因爲LDAP 所具備的查詢效率高、狀的信息管理模式、分佈式的部署框架以及靈活而細膩的訪問控制,使LDAP 普遍地應用於基礎性、關鍵性信息的管理,如用戶信息、網絡資源信息等。LDAP 的應用主要涉及幾種類型。信息安全類:數字證書管理、受權管理、單點登陸;科學計算類:DCE(Distributed Computing Envirionment,分佈式計算環境)UDDI Universal DescriptionDiscovery and Integration, 統一描述、發現和集成協議);網絡資源管理類:MAIL 系統、DNS系統、網絡用戶管理、電話號碼簿;電子政務資源管理類:內網組織信息服務、電子政務目錄體系、人口基礎庫、法人基礎庫。

 關係數據庫適合的應用

關係數據庫的優勢是創建在嚴格的數學概念的基礎上,概念單一,實體與實體間的聯繫都用關係表示,故其數據結構簡單、清晰,存取路徑對用戶透明,故有更高的數據獨立性和更好的安全保密性。缺點是查詢效率不如非關係型數據庫,故必須對查詢進行優化,增加了開發數據庫管理系統的難度。具體來講關係數據庫的優缺點以下:

(1)關係數據庫系統的優勢

a
靈活性和建庫的簡單性:從軟件開發的前景來看,用戶與關係數據庫編程之間的接口是靈活與友好的。目前在多數RDDMS產品中使用標準查詢語言SQL,容許用戶幾乎毫無差異地從一個產品到另外一個產品存取信息。與關係數據庫接口的應用軟件具備類似的程序訪問機制,提供大量標準的數據存取方法。
b
.結構簡單:從數據建模的前景看,關係數據庫具備至關簡單的結構(元組),可爲用戶或程序提供多個複雜的視圖。數據庫設計和規範化過程也簡單易行和易於理解。因爲關係數據庫的強有力的、多方面的功能,已經有效地支持許多數據庫納應用。
(2)關係數據庫系統的缺點
a
.數據類型表達能力差:從下一代應用軟件的發展角度來看,關係數據庫的根本缺陷在於缺少直接構造與這些應用有關的信息的類型表達能力,缺少這種能力將產生如下有害的影響,例如:大多數RDBMS產品所採用的簡單類型在重構複雜數據的過程當中將會出現性能問題;數據庫設計過程當中的額外複雜性;RDBMS產品和編程語言在數據類型方面的不協調。
    
大多數現代的RDBMS產品已成熟地用於商務和財政方面,而這些領域不要求很高和很複雜的數據模型。雖然這些產品多多少少克服了一些以上所述的缺點,但從理論上看關係數據模型不直接支持複雜的數據類型,這是因爲第一範式的要求,全部的數據必須轉換爲簡單的類型,如整數、實數、雙精度數和字符串。
    
對於工程應用來講,這種不能支持複雜數據類型的典型結果就是須要額外地分解數據結構工做,這些被分解的結構不能直接表示應用數據,且從基本成分重構時也很是繁瑣和費時間。
b
.複雜查詢功能差:關係數據庫系統的某些優勢也同時是它的不足之處。雖然SQL語言爲數據查詢提供了很好的定義方法,但當用於複雜信息的查詢時多是很是繁瑣的。此外,在工程應用時規範化的過程一般會產生大量的簡單表。在這種環境下由存取信息產生的查詢必須處理大量的表和複雜的碼聯繫以及鏈接運算。
    
除非這些查詢以固定的例行程序方式提供,不然用戶就必須對SQL很是熟悉,以便適當地瀏覽數據庫,查出所需的信息。然而,一旦查詢方式按固定例行程序方式進行,用戶最終就進行應用軟件的常規維護。但應用或人機接口軟件的變化又可能要求常常修改例行的查詢,數據庫結構的變化也可能致使例行查詢程序以及應用或人機接口軟件的失效。因爲這些緣由,關係數據庫系統的維護開銷多是很大的。
   
因爲關係數據庫不能提供足夠的構造能力及性能方面的緣由,在進行較複雜的數據庫設計過程當中,不可能將許多工程問題直接分解成一些簡單的部分。因爲缺少直接指針存取方法,因此查詢有關的信息須要花費時間。
c
.支持長事務能力差;因爲RDBMS記錄鎖機制的顆粒度限制,對於支持多種記錄類型的大段數據的登記和檢查來講,簡單的記錄級的鎖機制是不夠的,但基於鍵值關係的較複雜的鎖機制來講卻很難推廣也難以實現。
d
.環境應變能力差:在要求系統頻繁改變的環境下,關係系統的成本高且修改困難。在工程應用中支持"模式演變"schema evolution)的功能是很重要的,而RDBMS不容易支持這種功能。另外,關係數據庫和編程語言所提供的數據類型的不一致,使得從一個環境轉換到另外一個環境時須要多至30%的附加代碼。

         因爲數據結構簡單、清晰,存取路徑對用戶透明,故有更高的數據獨立性和更好的安全保密性的優勢,關係數據庫獲得了普遍的應用,普遍應用於用於人事檔案管理、商業管理、倉庫管理等數據庫管理系統。由於這些系統所需的數據結構以及實體之間的聯繫比較單一。但正是由於其數據類型表達能力差,不適合多媒體以及許多非結構化數據的存儲,環境應變能力差、彈性差,不能知足實時性要求,不適合許多特殊應用,對某些應用效率差等緣由關係數據庫在許多場合並不適用。

參考文獻

[1].   陳嶽彬, LDAP技術的應用電腦知識與技術, 2008(34): 1637-1638+1644.

[2].  http://baike.baidu.com/view/159263.htm

[3].  夏天初識LDAP. 程序員, 2003(8): 102-104.

[4].  任軍基於LDAP的目錄服務綜述計算機應用研究, 2005(5): 8-10.

[5].  龔樂君與楊榮根目錄服務技術的研究科技資訊, 2006(14): 246.

[6].  張麗君, LDAP目錄與關係數據庫之間數據同步技術的研究內蒙古石油化工, 2009(23): 60-62.

[7].  施伯樂關係數據庫的理論進展計算機科學, 1987(2): 37-41.

[8].  劉曉娟關係數據庫運用分析黑龍江科技信息, 2008(4): 60.

[9].  李斌從關係數據庫到通用數據庫管理科學文摘, 1999(1): 44.

相關文章
相關標籤/搜索