Magento was developed and is supposed to be used in a transaction-safe environment.
You could try switching to some other database which is transaction-safe (like Oracle), but then you'd need to write PDO adapters and resource models for Oracle by yourself (they're not part of Magento). But if your provider doesn't even support InnoDB
, I don't believe he will support Oracle or similiar^^
Another possibility would be to make Magento able to work with a non-transactional mySQL engine like MyISAM
. You'd need to rewrite many processes, core models and controllers to change Magento from transactional to non-transactional behaviour.
Not only would this be tons of work, but I'm almost sure, you would get a lot of fun each time you try to upgrade your Magento version. I'd strongly encourage to never change the core this way.
The only mySQL engines supporting transactions are InnoDB
and NDB
. Magento only ships resource models for InnoDB
. So, if you ask me, if your provider doesn't allow InnoDB
for whatever reasons, I'd recommend to just move on to another provider that does.