Stefan H. Holek wrote:
I am playing with database replication (MySQL) and have found the
following caveats:
- don't mix engine types (MyISAM, InnoDB)
- don't use temporary tables
Now, RelStorage does both and so I was wondering how to proceed with
replication. Would it be prudent to assume that all I ever need to
replicate are the InnoDB tables "transaction", "object_state", and
"current_object"? All other tables don't seem to be used across
transaction boundaries, but I may be missing something here.
That is mostly correct. You need to replicate transaction,
object_state, current_object, and do something with new_oid. There is
no requirement to replicate the other tables, since they are used only
for packing, although replicating object_ref and object_refs_added may
save some work.
The new_oid table is special to the MySQL adapter. RelStorage uses the
new_oid table as a kind of sequence. Like any sequence, it is
intentionally non-transactional. Perhaps there would be no ill effects
in switching it to the InnoDB engine.
Which MySQL replication method are you looking into?
Shane
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - [email protected]
http://mail.zope.org/mailman/listinfo/zodb-dev