Distributed database cluster system ZD-DDB Design and Implementation
|Keywords||cluster ZD-DDB distributed database middleware magnanimous data distributed storage load balancing distributed query distributed transaction data migration XA specification two phase commit fault tolerance|
With the development of Internet, the storage and retrieves of magnanimous data from Internet have become the primary load of many network service such as search engine. The backend database server will easily be the performance bottleneck of whole system when data flow and query flow from Internet grow quickly. But current database cluster products are difficult to meet the performance requirement of magnanimous data, also they cost expensively. This paper introduces the design and implementation of ZD-DDB cluster which adopts middleware framework. ZD-DDB shields the detail of distributed storage, distributed query processing, distributed transaction management, load balancing and data migration. It provides uniform programming interface to user. This system implements all the functions of distributed database by the cooperation of DB Master and distributed database middleware. The DB Master manages the global information, data migration and load balancing. It also manages all the backend database nodes and the application servers. The DB Master provides global support to distributed storage, distributed query processing and distributed transaction. The distributed database middleware is composed of load balancing manager, query processing manager and transaction manager. Distributed storage adopts horizontal distribution placement to store and position record. Load balancing is implemented by balancing policy, storage mapping table and data migration mechanism. Migration can be carried out on line. Distributed query processing is composed of analyzer, plan generator and executor. Analyzer parses the SQL sentence and generates a grammar tree. Plan generator analyzes the grammar tree and gets several subroutine queries which can be executed by backend database notes. Executor processes and merges the results returned from those notes and then returns the global query result to application. Distributed transaction processing supports two phase commit protocol and XA specification. Fault tolerance mechanism is used to process the failure and exception. Transaction recovery can be curried out by the support of log manager. ZD-DDB cluster system achieves high performance for storage and retrieves of magnanimous data. It is well scalable. The storage and computing capability can be easily extended. This system designed in this paper will be a good backend system for large network applications.