PostgreSQL is a way better than MySQL, about all topics. The only thing on which MySQL could be better, is maybe it's faster on read operations on small databases. But, in fact, PostgreSQL can handle correctly really BIG databases, with a really big amount of data, and is easier to cluster. PostgreSQL is more stable, secure, and a more efficient and flawless with stocked procedures and triggers.
If you have to choose between MyISAM and InnoDB, if I were you, I'd choose InnoDB, it's a lot more stable. MyISAM may be faster and eat less disk space, but you may have really bad surprises with your data integrity.
In the company I work for, we used to make a MySQL intensive use, the first monthes, we abandon MyISAM for a lot of obvious reasons. And right now, we are abandoning MySQL in flavor of PostgreSQL.
We still use MySQL for Drupal, because a lot of module developpers still can't write standard SQL, but, if all modules were PostgreSQL aware, we would not use MySQL at all.
This a my opinion, from my experience, I may be wrong.
Do the right choice, don't do IT :)
Le samedi 21 mars 2009 à 21:32 +0100, Daniel Carrera a écrit :
Ivan Sergio Borgonovo wrote:
It really depends on what you need to do. If you don't know it I'd go for MyISAM since most of the features you may be looking for in InnoDB are not really fully exploited by stock Drupal.
I just wrote another post that explains my hosting environment. I am interested in speed and reliability (isn't everybody?). My understanding is that:
- InnoDB is more reliable.
- InnoDB reads faster, if the primary keys and indexes are set right.
- InnoDB writes slower.
- InnoDB requires more disk space and more RAM.
Am I right so far? I'm not very familiar with this topic.
I'm not very concerned about disk space. I'm happy to make the DB 20% bigger if it'll improve read speed and reliability. But I don't fully understand the implications of InnoDB vs MyISAM, so I thought I'd ask here.
The reasons that may make you chose InnoDB may be the same to consider to add to the list PostgreSQL, but it really depends on what is your specific need.
I thought that the main benefit of PostgreSQL was advanced features (procedures, triggers, etc). I don't use any of those. I'm just looking for speed an reliability.
Summing it up:
Drupal doesn't have support for transaction or referential integrity but you may need it if you're developing your own modules. If you've several writes or high concurrency and data integrity is important PostgreSQL may be an interesting option.
If you've a lot of read, and you don't mind having to deal with some inconsistency , MyISAM and replication may be fine.
I think InnoDB is "in between" without shining for any aspect. If I were looking for transactions and data integrity I'd take the InnoDB route just if I already invested a lot in MySQL.
Thanks. This was very informative.
Daniel.
[ Drupal support list | http://lists.drupal.org/ ]