My experience with databases is related to fairly small web applications, but now I am working with a voter dataset for the entire state. There are about 3.5 million voters, and I will need to report a little about them at their address, voting history, age, etc. The web application itself will be written using Django, so I have several database options, including MySQL and PostgreSQL.
In the past, I used MySQL almost exclusively, as it was so easily accessible. I understand that there are actually not many 3.5m rows in the table, but this is the largest data set that I personally worked with, so I left my personal comfort zone. In addition, this project is not a fast application, although I want me to choose the best database to work with, and not just the one I like best.
If MySQL is the right tool for the job, I would also like to know if it makes sense to use InnoDB or MyISAM. I understand the main differences between them, but some sources say that use MyISAM for speed, but InnoDB if you want a “real” database, while others say that all modern MySQL uses should use InnoDB.
Thanks!
I ran DB a lot more than this on mysql - you should be fine. Just carefully tune your indexes.
InnoDB supports better locking semantics, so if there are periodic or frequent entries (or if you want to improve data integrity), I would suggest starting out there and then testing myisam later if you can't hit performance targets.
MyISAM , , , . , no , , . 3,5 ( ), , , , , , - , MyISAM.
, PostgreSQL, . MySQL, , .
MySQL, , PostgreSQL (. ), MyISAM - . , MySQL, , Oracle , , PostgreSQL, . BSD, PostgreSQL, , , , , .
, MyISAM. , , this .
, frm, MYI MYD.
, , postgres , "" mysql .
.
MySQL , .
, . , .