Transactional tables or not? [message #32] |
Thu, 11 May 2006 11:01 ![Go to next message Go to next message](/theme/default/images/down.png) |
martin
Messages: 4 Registered: May 2006 Location: UK, Reading
|
Junior Member |
|
|
Hi,
I'm developing a Java version of this framework and just finished upgrading it to the newest Audit Database schema (i.e. AUDIT_SSN, AUDIT_TRN, AUDIT_TBL, AUDIT_FLD).
When I was done with the programming I wrote a lot of tests to verify correct behavior.
I then noticed that the tables are created with the non-transactional table type MyISAM. So when I did rollback tests after simulating broken update of application data it did not rollback audit logs.
I changed all tables to use the transactional INNODB table type and then everything works okay.
So my question is: In these kind of administrative systems is it better to have the slighter higher speed and better performance with MyISAM tables or will people be requiring the transactional tables?
I mean if you have invalid audit logs hanging around or invalid application data hanging around that can't be good.
Or do we believe that these situations are so rare so it is better to go with the MyISAM tables?
|
|
|
Re: Transactional tables or not? [message #33 is a reply to message #32] |
Thu, 11 May 2006 12:13 ![Go to previous message Go to previous message](/theme/default/images/up.png) |
AJM
Messages: 2361 Registered: April 2006 Location: Surrey, UK
|
Senior Member |
|
|
I use MYISAM tables by default, but I think for the audit tables it would be better to use INNODB tables for their transactional facilities. I shall change that in the next release.
You should also be aware that the Radicore framework surrounds every transaction with a 'start/begin' and 'end/commit' by default, so you can switch between non-transactional and transactional tables without any ill effects. You can even switch to other database engines, such as PostgreSQL and Oracle, where all the tables are transactional.
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
|
|
|