* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Understanding Replication in Databases and Distributed Systems
Survey
Document related concepts
Microsoft SQL Server wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Functional Database Model wikipedia , lookup
Ingres (database) wikipedia , lookup
Global serializability wikipedia , lookup
Commitment ordering wikipedia , lookup
Relational model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Serializability wikipedia , lookup
Database model wikipedia , lookup
Versant Object Database wikipedia , lookup
Clusterpoint wikipedia , lookup
Transcript
Database Replication Techniques: A Three Parameter Classification M. Wiesmann F. Pedone A. Schiper Swiss Federal Institute of Technology – Lausanne B. Kemme G. Alonso Swiss Federal Institute of Technology – Zürich http://lsewww.epfl.ch/~dragon/ Understanding Replication in Database & Distributed Systems SRDS’00 - 1 Background - Dragon Project Joint research project between Zürich and Lausanne Cooperation between Database people (Zürich) and Distributed System people (Lausanne) Common Interest Replicated Databases Goal: build synergy between both communities. Results: Understanding the other community. New Replication algorithms & techniques. Exploring Replication Techniques this paper. Understanding Replication in Database & Distributed Systems SRDS’00 - 2 Replicated Database One Logical Database Replica 3 Replica 2 Network connects Replicas Replica 1 N logical replicas Logical DB Network All replica are synchronous (eager replication) Clients Clients connect to the logical Database. Replicas processes transactions (ACID properties) Understanding Replication in Database & Distributed Systems SRDS’00 - 3 Database Replication Techniques Eager vs. Lazy Two ways to replicate a database: eager & lazy Eager Replica are kept coherent Lazy Replica might diverge (violates ACID) Eager is traditionally considered too costly [Gray 96] Search more efficient eager replication. Systematically explore solution space Classification Understanding Replication in Database & Distributed Systems SRDS’00 - 4 Classification Replica 3 [Wiesmann & All ERSADS’99] Replica 2 Many Classifications tentatives Replica 1 Logical DB Network Classification must: Be applicable for all considered techniques Group together techniques with same communication patterns Group together techniques with similar network load. Clients Permits to: Systematically Explore Parameter Space Find out requirements for each Element in Parameter Space 3 Orthogonal Criterion Server Architecture, Server Interaction, Transaction Termination Understanding Replication in Database & Distributed Systems SRDS’00 - 5 Parameter Server Architecture Reflects the way the replica are organized in the System. Where clients send their requests. Primary Copy Update Everywhere Understanding Replication in Database & Distributed Systems SRDS’00 - 6 Parameter Server Interaction Represents the traffic generated for one transaction Constant number of interactions O(1) Linear number of interactions O(n) n = number of operations Understanding Replication in Database & Distributed Systems SRDS’00 - 7 Parameter Transaction Termination Determines how the outcome of transaction is decided: Voting There is atomic commitment phase Non-Voting There is no atomic commitment phase Understanding Replication in Database & Distributed Systems SRDS’00 - 8 The Classification Understanding Replication in Database & Distributed Systems SRDS’00 - 9 Requirements for Each Class Each class contains many replication techniques Each class implies some requirements: On the communication primitives (order,reliability uniformity) On the database system (determinism) A few Examples: Present the general protocol for three classes Understanding Replication in Database & Distributed Systems SRDS’00 - 10 Non Voting – Constant Interaction – Primary Copy “Cold Standby” Primary Copy Typical Commercial configuration [Gray 93 Transaction Processing…] Needs FIFO Broadcast Cold Standby (back-up might not have applied changes) 1 Safe - 2 Safe with certain constraints on the communication primitives Understanding Replication in Database & Distributed Systems SRDS’00 - 11 Update Everywhere – Linear Interactions – Voting Classical form of replication Read One Write All technique [Bernstein 87 Each Operation is Sent to All replicas The Transaction is terminated by 2PC Concurency Control…] Understanding Replication in Database & Distributed Systems SRDS’00 - 12 Update Everywhere – Non Voting – Constant Interaction Active Replication Certification Based Replication Needs a known determinism point. Needs total order broadcast. If the dp at the start Active Replication [Schneider 90 ACM Survey] If the dp after start Certification based replication [Kemme & all ICDCS’ 98 - Pedone & all EuroPar 98] If the dp in the middle Possible - never proposed. Understanding Replication in Database & Distributed Systems SRDS’00 - 13 The Issue of Determinism How do we express the constraints on the server? One important issue determinism. We needs something more than a boolean. Transaction Start Start Start op 1 op 2 Transaction End Start Start op n op n+1 Notion of Determinism Point (dp). Execution from this point is deterministic. Understanding Replication in Database & Distributed Systems Determinism Point SRDS’00 - 14 Conclusion Classification helps: Explore Solution Space. Understand the relation between existing techniques. Understand the requirements for communication and database system. Give Basis for comparing the techniques (for instance by simulation). A case for eager replication Lazy replication usually compared to expensive eager replication. Should be compared to comparable eager replications. Non-voting - Update everywhere techniques are very promising. Understanding Replication in Database & Distributed Systems SRDS’00 - 15