<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Chan Chen Coding...

    LDAP采用BDB作為后端數據庫的理由

    1.許多世界知名的大公司都采用了BDB作為多種關鍵性業務的后端數據庫。
    Sleepycat Software makes Berkeley DB, the most widely used application-specific data management software in the world with more than 200 million deployments. Customers such as Amazon, AOL, British Telecom, Cisco Systems, EMC, Ericsson, Google, Hitachi, HP, Motorola, RSA Security, Sun Microsystems, TIBCO and Veritas also rely on Berkeley DB for fast, scalable, reliable and cost-effective data management for their mission-critical applications. 
    譯:Sleepycat軟件公司出品的Berkeley DB是一種在特定的數據管理應用程序中廣泛使用的數據庫系統,在世界范圍內有超過兩億的用戶支持.許多世界知名的廠商,像Amazon, AOL, British Telecom, Cisco Systems, EMC, Ericsson, Google, Hitachi, HP, Motorola, RSA Security, Sun Microsystems, TIBCO 以及 Veritas都依賴于BDB為他們的許多關鍵性應用提供快速的,彈性的,可靠的,并且高性價比的數據管理.

    2.以下是chinaunix.net上一位高手給出的解釋,在這里引用一下。
    mysql就是用BDB實現的(mysql的后臺) 。mysql快,BDB比mysql還要快N倍。
    BDB并發高于RDBMS。 
    容量支持可達256TB。
    基于HASH支持select數據比RDBMS快。

    3.BDB數據庫與其它的幾種數據庫的比較。
    BDB數據庫不同與其他幾種數據庫--關系型(Relational databases),面向對象型(Object-oriented databases),網絡數據庫(Network databases),它是一種嵌入式(embeded databases)數據庫。

    下面先簡要說說BDB與其它幾種數據庫的區別:
    (1)它們幾乎都無一例外的采用了結構化查詢語言(SQL),而BDB沒有。
    (2)它們幾乎都無一例外的采用了客戶/服務器模型,而BDB采用的是嵌入式模型。

    下面是在網上找的一些有關BDB的資料,解釋了BDB之所以會和當前流行的大多數數據庫不同的一些原因,所引資料未注明出處,后面的翻譯是我自己加的:
    (1)Berkeley DB is an open source embedded database library that provides scalable, high-performance, transaction-protected data management services to applications. Berkeley DB provides a simple function-call API for data access and management.
    譯:BDB是一個開放源代碼的嵌入式數據庫的函數庫,它為應用程序提供彈性的,高性能的,transaction-protected的數據庫管理服務,BDB為數據的訪問和管理提供了簡單的應用程序接口API。
    (2)Berkeley DB is embedded because it links directly into the application. It runs in the same address space as the application. As a result, no inter-process communication, either over the network or between processes on the same machine, is required for database operations. Berkeley DB provides a simple function-call API for a number of programming languages, including C, C++, Java, Perl, Tcl, Python, and PHP. All database operations happen inside the library. Multiple processes, or multiple threads in a single process, can all use the database at the same time as each uses the Berkeley DB library. Low-level services like locking, transaction logging, shared buffer management, memory management, and so on are all handled transparently by the library.
    譯:BDB之所以是嵌入式數據庫是因為它是直接連到應用程序中的。它和應用程序在同一內存空間運行。其結果是,不管應用程序是運行在同一臺機器上還是運行在網絡上,在進行數據庫操作時,它都無需進行進程間通信。BDB為許多編程語言提供了函數接口,這些語言包括C, C++, Java, Perl, Tcl, Python, 和 PHP。所有的數據庫操作都發生在函數庫內部。多個進程,或者是一個進程中的多個線程,都可以同時使用BDB,因為它們實際是在調用BDB函數庫。一些像locking, transaction logging, shared buffer management, memory management等等之類的低級服務都可以由函數庫透明地處理。
    (3)The library is extremely portable. It runs under almost all UNIX and Linux variants, Windows, and a number of embedded real-time operating systems. It runs on both 32-bit and 64-bit systems. It has been deployed on high-end Internet servers, desktop machines, and on palmtop computers, set-top boxes, in network switches, and elsewhere. Once Berkeley DB is linked into the application, the end user generally does not know that there's a database present at all.
    譯:BDB函數庫是高度可移植的。它可以運行在幾乎所有的UNIX和LINUX系統之上,也支持WINDOWS和多種嵌入式實時操作系統。它既可以運行在32位系統上,也可以運行在64位系統上。它活躍在高端服務器,桌面系統,掌上電腦,set-top boxes,網絡交換機以及其它的一些領域。一旦BDB被連接到應用當中以后,終端用戶一般是不知道后端數據庫的存在的。
    (4)Berkeley DB is scalable in a number of respects. The database library itself is quite compact (under 300 kilobytes of text space on common architectures), but it can manage databases up to 256 terabytes in size. It also supports high concurrency, with thousands of users operating on the same database at the same time. Berkeley DB is small enough to run in tightly constrained embedded systems, but can take advantage of gigabytes of memory and terabytes of disk on high-end server machines.
    譯:BDB在許多方面都是彈性的。函數庫本身非常緊湊(在常見的機器體系上大約只占用不到300K的text空間,但是它可以操作多達256TB的數據。它也支持高強度的并發操作,可以同時允許數以千計的用戶在同一個數據庫進行操作。在高端服務器領域,BDB是足夠小的,它可以在高度受限的嵌入式系統上運行,但卻可以利用高達GB量級的內存空間和高達TB量級的磁盤空間。
    (5)Berkeley DB generally outperforms relational and object-oriented database systems in embedded applications for a couple of reasons. First, because the library runs in the same address space, no inter-process communication is required for database operations. The cost of communicating between processes on a single machine, or among machines on a network, is much higher than the cost of making a function call. Second, because Berkeley DB uses a simple function-call interface for all operations, there is no query language to parse, and no execution plan to produce.
    譯:BDB在嵌入式應用方面的性能比關系型數據庫和面向對象的數據庫優越的原因是多方面的。首先,因為函數庫和應用是運行在同一地址空間中的,省掉了數據庫操作時的進程間通信。而眾所周知,不管是在單機上還是在分布式系統上,進程間通信所花的時間遠多于函數調用所要的時間。其次,因為BDB對所有的操作提供了簡潔的函數調用接口,無需對查詢語言進行解析,也不需要預執行。
    (6)In contrast to most other database systems, Berkeley DB provides relatively simple data access services.Berkeley DB supports only a few logical operations on records. They are:

    Insert a record in a table. 
    Delete a record from a table. 
    Find a record in a table by looking up its key. 
    Update a record that has already been found. 
    譯:與其他大多數數據庫系統相比,BDB提供了相對簡單的數據訪問服務。BDB只支持對記錄所做的幾種邏輯操作。它們是:

    在表中插入一條記錄。
    從表中刪除一條記錄。
    通過查詢鍵(key)從表中查找一條記錄。
    更新表中已有的一條記錄。
    (7)Berkeley DB is not a standalone database server. It is a library, and runs in the address space of the application that uses it.It is possible to build a server application that uses Berkeley DB for data management. For example, many commercial and open source Lightweight Directory Access Protocol (LDAP) servers use Berkeley DB for record storage. LDAP clients connect to these servers over the network. Individual servers make calls through the Berkeley DB API to find records and return them to clients. On its own, however, Berkeley DB is not a server.
    譯:BDB不是一個獨立的數據庫服務器。它是一個函數庫,和調用它的應用程序是運行在同一地址空間中的。可以把BDB作為數據庫管理系統來構建服務器程序。比如,有許多商業的和開源的輕量級目錄訪問協議(LDAP)服務器都使用BDB存儲記錄。LDAP客戶端通過網絡連接到服務器。服務器調用BDB的API來查找記錄并返回給客戶。而在它本身而言,BDB卻不是數據庫的服務器端。
    所以,BDB是一種完全不同于其它數據庫管理系統的數據庫,而且它也不是一個數據庫服務器端。

    4.BDB的優點和缺點。
    Berkeley DB is an ideal database system for applications that need fast, scalable, and reliable embedded database management. For applications that need different services, however, it can be a poor choice.
    Berkeley DB was conceived and built to provide fast, reliable, transaction-protected record storage. The library itself was never intended to provide interactive query support, graphical reporting tools, or similar services that some other database systems provide.We have tried always to err on the side of minimalism and simplicity. By keeping the library small and simple, we create fewer opportunities for bugs to creep in, and we guarantee that the database system stays fast, because there is very little code to execute. If your application needs that set of features, then Berkeley DB is almost certainly the best choice for you.
    譯:當面對的是對性能,規模和可靠性要求都比較高的嵌入式應用的時候,BDB是理想的數據庫管理系統。但對于要求多種不同服務的應用而言,選擇它是不適當的。
    BDB的初衷是提供快速的,可靠的,transaction-protected的記錄存儲。函數庫本身并沒有提供對交互查詢的支持,也沒有提供圖形化的報表工具,或者一些其它的數據庫管理系統提供的服務。我們一直在致力于保持函數庫的短小和簡練,這樣做,可以使得bug出現的機會大大減小,而且因為只有很少的代碼需要執行,我們可以保證數據庫一直快速的運行。如果你的應用正好需要的是這樣的一套功能的話,那么BDB幾乎一定是你的首選對象。

    5.我個人的觀點
    BDB之所以適合LDAP,一個關鍵的因素是它可以保證LDAP的快速響應.因為BDB本身是一種嵌入式的數據庫,速度快是它最大的特點,也是它和其他數據庫系統相比最大的優勢.我們再來看LDAP,LDAP是一種一旦數據建立就很少需要改動的數據庫,并且它最常用的操作是讀取,查詢,搜索等等不改變數據庫內容的操作.而讓BDB來做這幾種事情無疑是最好的選擇.這樣,即使在有大量用戶提交數據庫查詢的情況下,LDAP仍能快速反饋給用戶有用信息.所以,速度的考慮是LDAP選用BDB的最大因素.這也是目前絕大多數的LDAP服務器都選用BDB的根本原因. 

    -----------------------------------------------------
    Silence, the way to avoid many problems;
    Smile, the way to solve many problems;

    posted on 2012-05-03 11:38 Chan Chen 閱讀(939) 評論(0)  編輯  收藏 所屬分類: DB

    主站蜘蛛池模板: 亚洲成AV人片在线观看WWW| 一道本在线免费视频| 亚洲AV无码成人精品区天堂| 四虎永久免费观看| 黄瓜视频高清在线看免费下载| a级毛片视频免费观看| 免费视频成人国产精品网站| 亚洲 欧洲 自拍 另类 校园| 7777久久亚洲中文字幕蜜桃| 亚洲一区二区三区香蕉| 亚洲第一区精品观看| 国产精品国产午夜免费福利看| 国产麻豆视频免费观看| 免费福利在线播放| 亚洲毛片免费观看| 67pao强力打造国产免费| 日本免费中文视频| 3344在线看片免费| 99re6在线视频精品免费| 久久www免费人成精品香蕉| 无码毛片一区二区三区视频免费播放| 亚洲av无码成人精品区一本二本 | 久久无码av亚洲精品色午夜| 精品亚洲成A人无码成A在线观看| 亚洲欧洲国产综合| 亚洲成人福利网站| 亚洲第一页中文字幕| 91嫩草亚洲精品| 亚洲乱码中文论理电影| 亚洲人成电影在线观看网| 亚洲欧洲日本天天堂在线观看| 亚洲黄色网址在线观看| 亚洲欧洲在线播放| 亚洲人成人77777网站不卡| 亚洲伊人久久大香线蕉在观 | av免费不卡国产观看| 思思re热免费精品视频66| 69天堂人成无码麻豆免费视频| av无码免费一区二区三区| 成年人在线免费观看| 成人国产mv免费视频|