Applying Database Replication to Multi

Download Report

Transcript Applying Database Replication to Multi

Applying Database Replication to
Multi-player Online Games
Yi Lin
Bettina Kemme
Marta Patiño-Martínez
Ricardo Jiménez-Peris
Oct 30, 2006
Outline
• Motivation
– Requirements of MOGs
– Benefits of database replication
• Introduction to database replication
• A proof-of-concept game
• Experiments
What MOGs need?
…
…
Isolated game worlds
• Fault tolerance
• Scalability
What Database Replication does?
Read
One DB
Write All
DBs
•Most replication
protocols are READONE-WRITE-ALL
• Providing fault tolerance
• Scalability
• Data consistency
Motivation
• Why don’t we apply database replication
to MOGs?
• Unclear about
– How to apply?
– What are the challenges?
– How is the performance?
• Using a small game for proof-of-concept
Introduction to Database Replication
• Transaction
– A transaction contains one or more read and/or write
requests
– Atomic.
• Commit: all requests successful.
• Abort: none of writes will take effect
– Consistent
– Isolated
– Durable
• Challenge of database replication:
– How to guarantee data consistency in terms of
transaction?
Database Replication: challenge
• Replication protocols
•Keep copies consistent
• Isolate concurrent
transactions
w(x)
w(x)
• Ideally:
The whole system behaves
as if there is one database
Replica
control
x
x
SEQ Replication Protocol
T1
T2
JDBC
JDBC
commit
r(x)
w(x)
Sequencer
T1
validation
succeed
validation
fail
Extract writeset
commit
x
commit
r(x)
w(x)
T2
apply ws, commit abort
Extract writeset
x
xx
Other replication protocols
• Lazy Primary
– Limitation: Need to know if
a transaction is read-only
or not in advance
JDBC
JDBC
Comm Mgr
Comm Mgr
Txn Mgr
Txn Mgr
Conn Mgr
Conn Mgr
• Symmetric
– Limitation: Need to know all
operations in a transaction
in advance
• SRCA-REP
– Need support of group
communication systems
• We build a middleware
platform, MiddleSIR, to
accommodate all these
protocols.
A proof-of-concept game
• Modeling based on
transactions
• E.g., two players might type
same string concurrently.
– Model: Typing a string as one
transaction, while typing a
character as an operation
• E.g., All players see the
same game interfaces
– Model: Periodically reading
data (e.g., strings, bullets,
scores) from database as one
transaction.
Experiments in WANs, Scalability
Experiments in WANs, 4 servers,
Write transactions
Conclusion
• Propose a new approach of system supports for
MOGs
– Applying database replication to MOGs for fault
tolerance, scalability, performance, ease of
concurrency control
• Use a small game for proof-of-concept
– Data consistency is guaranteed
– Response time is good, even in WANs.
– Scalability is not good.
• Read-one / Write-All replication only scales if the percentage
of reads is very high.
• Future work: use partial replication (Write only a few servers)