390 likes | 494 Views
About the Instructor. Name : Gong Zhiguo Office : N512 Phone : 83974962 E-Mail : fstzgg@umac.mo Remark: Some of the slides are tailored from the slides by Prof. Hector Garcia-Molina. DBMS. From File Processing to DBMS. Program 1 deposit withdraw. Program 1 deposit withdraw.
E N D
About the Instructor Name: Gong Zhiguo Office: N512 Phone: 83974962 E-Mail: fstzgg@umac.mo Remark: Some of the slides are tailored from the slides by Prof. Hector Garcia-Molina
DBMS From File Processing to DBMS Program 1 deposit withdraw Program 1 deposit withdraw File of current accounts Program 2 transfer Program 2 transfer BANK DATA BASE File of saving accounts Program 3 printing stmt Program 3 printing stmt File of customers Program 4 customer information Program 4 customer information
DDB S = Database + Networking • The technology of computer networks, promotes a mode of work that goes against all centralization efforts and facilitates distributed computing • Distributed database system technology is the union of what appear to be diametrically opposed approaches to data processing: Database System, Computer Network technologies • A database system aims at integrating the operational data of an enterprise, and to provide a centralized and controlled access to that data
Distributed Computing System • A distributed computing system consists of • a number of autonomous processing elements (not necessarily homogeneous) • interconnected by a computer network • cooperate in performing their assigned tasks • What is distributed? • Processing Logic • Function • Data • Control All these are necessary and important for distributed database technology
Site 4 Site 1 Site 2 Communication Network Site 3 Site 6 Site 5 Distributed DBMS Environment
Distributed Database System • A distributed database is a collection of multiple, logically interrelated databases distributed over a computer network; stores data on multiple computers (nodes) over the network and permits access from any node to the joint data • A distributed database management system (DDBMS) is a software system that permits the management of the distributed databases and makes the distribution transparent to the users.
What is not a Distributed Database System? • A DDBS is not a ``collection of files'' that can be individually stored at each node of a computer network • files are not logically related • no access via common interface
Site 4 Site 1 Site 2 Communication Network Site 3 Site 6 Site 5 Centralized DBMS on a Network • data resides only at one node • the database management is no different from centralized DBMS • remote processing, single servermultiple clients
Application Front End Query Processor Transaction Processing File Access client server Client-Server Systems • (or how to partition software)
Application Front End Query Processor Transaction Processing File Access client server Client-Server Systems • (or how to partition software)
Application Front End Query Processor Transaction Processing File Access client server Client-Server Systems • (or how to partition software)
Transaction Servers • Clients ship transactions consisting of 1 or more SQL commands E.g., Open DataBase Connectivity (ODBC) (standard API)
Data Servers • Client requests pages or records • Popular for OODB systems
CLIENTS CLIENTS CLIENTS Processors Memory Multiprocessor Systems (Parallel Server) Shared Memory (SMP) Shared Nothing (network) Shared Disk Sequent, SGI, Sun VMScluster, Sysplex Tandem, Teradata, SP2
Parallel or distributed DB system? • More similarities than differences!
Typically, parallel DBs: • Fast interconnect • Homogeneous software • High performance is goal • Transparency is goal
Typically, distributed DBs: • Geographically distributed • Data sharing is goal (may run into heterogeneity, autonomy) • Disconnected operation possible
Query processing in parallel DBs: • Typically: we can distribute/ partition/sort…. data to make certain DBoperations (e.g., Join) fast
Query processing in distributed DBs: • Typically: we are given data distribution; we need to find query processing strategy to minimize cost (e.g., communication cost)
Cloud Computing • Is CC just a marketing term?? • utility (like power) • data or CPU cycles? • many processors, many storage units • business model
Cloud Computing (M. Armbrust, A View of Cloud Computing, Communication of ACM) • Larry Ellison (Oracle CEO) • “The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do….” • Cloud computing: • both the applications delivered as services over the internet and the hardware and systems software in the data centers that provide those services. • Grid computing • Protocols to offer shared computation and storage over long distance, bbut within a community.
Is CC a subset, superset, disjoint from, or overlaps with: • grid computing • distributed computing • Web 2.0 • Cluster Computing • Peer-to-peer computing • software as a service • client-server computing • data center as a computer • massively parallel computing CC (A) CC (B) CC (C) CC (D)
Distributed Database System Technology • The key is integration, not centralization • Distributed database technology attempts to achieve integration without centralization Computers Networks Database Technology • Integration Distributed Computing Integration Without Centralization Distributed Database Systems
Example • Multinational manufacturing company: • head quarters in Macau • manufacturing plants in Nanning and Kunming • warehouses in Zhongshan and Dongguan • R&D facilities in Beijing • Data and Information: • employee records (working location) • projects (R&D) • engineering data (manufacturing plants, R&D) • inventory (manufacturing, warehouse)
Promises of Distributed DBMS • transparentmanagement of distributed, fragmented, and replicated data • improved reliability and availabilitythrough distributed transactions • improved performance • higher system extendibility
Transparency • Transparency refers to separation of the higher-level semantics of a system from lower-level implementation details. • From data independence in centralized DBMS to fragmentation transparency in DDBMS. • Issues • Who should provide transparency? • What is the state of the art in the industry?
Improved Reliability • Distributed DBMS can use replicated components to eliminate single point failure. • The users can still access part of the distributed database with “proper care” even though some of the data is unreachable. • Distributed transactions facilitate maintenance of consistent database state even when failures occur.
Improved Performance • Since each site handles only a portion of a database, the contention for CPU and I/O resources is not that severe. Data localization reduces communication overheads. • Inherent parallelism of distributed systems may be exploited • inter-query parallelism • intra-query parallelism • Performance models are not sufficiently developed.
Easier System Expansion • Ability to add new sites, data, and users over time without major restructuring. • Huge centralized database systems (mainframes) are history (almost!). • PC revolution (Compaq buying Digital, 1998) will make natural distributed processing environments. • New applications (such as, supply chain) are naturally distributed - centralized systems will just not work.
Disadvantages of DDBSs • Lack of Experience • No operating true distributed database systems in existence • Complexity • DDBS problems are inherently more complex than centralized DBMS ones • Cost • More hardware, software and people costs • Distribution of control • Problems of synchronization and coordination to maintain data consistency • Security • Database security + network security • Difficult to convert • No tools to convert centralized DBMSs to DDBSs
Complicating Factors • Data may be replicated in a distributed environment, consequently the DDBS is responsible for • choosing one of the stored copies of the requested data for access in case of retrievals • making sure that the effect of an update is reflected on each and every copy of that data item • If there is site/link failure while an update is being executed, the DDBS must make sure that the effects will be reflected on the data residing at the failing or unreachable sites as soon as the system recovers from the failure
Complicating Factors • Maintaining consistency of distributed/replicated data. • Since each site cannot have instantaneous information on the actions currently carried out in other sites, the synchronization of transactions at multiple sites is harder than centralized system.
Distributed DBMS Issues • Distributed Database Design • Distributed Query Processing • Distributed Directory Management • Distributed Concurrency Control • Distributed Deadlock Management • Reliability of Distributed Databases • Operating Systems Support • Heterogeneous Databases
Distributed Database Design • The problem is how the database and the applications that run against it should be placed across the sites. • The two fundamental design issues are fragmentation (the separation of the database into partitions called fragments), and allocation (distribution), the optimum distribution of fragments. The general problem is NPhard.
Distributed Query Processing • Query processing deals with designing algorithms that analyze queries and convert them into a series of data manipulation operations. • The problem is how to decide on strategy for executing each query over the network in the most cost effective way, however the cost is defined. The objective is to optimize where the inherent parallelism is used to improve the performance of executing the transaction
Distributed Directory Management • A directory contains information (such as descriptions and locations) about data items in the database. • A directory may be global to the entire DDBS, or local to each site, distributed, multiple copies, etc.
Distributed Concurrency Control • Concurrency control involves the synchronization of accesses to the distributed database, such that the integrity of the database is maintained. • One not only has to worry about the integrity of a single database, but also about the consistency of multiple copies of the database (mutual consistency)
Reliability of Distributed DBMS • It is important that mechanisms be provided to ensure the consistency of the database as well as to detect failures and recover from them. • This may be extremely difficult in the case of network partitioning, where the sites are divided into two or more groups with no communication among them.
Relationship among Topics Directory Management Query Processing Distributed DB Design Reliability Concurrency Control Deadlock Management