MyISAM vs InnoDB in several applications
I am designing a database which will be the backbone of our website, in fact, of our company. I'm pretty new to MySQL, so I picked up a few books on the topic, and one of them heavily recommended MyISAM - so I started with that. The database is still in the development stage, and a few web-articles I read on the topic made me question that choice, so I figured I would seek some additional guidance!
The database I'm setting up is for an online training company. The database will power the shopping cart, attendance logs, online tests, user records, Q&A forum, news articles, blog and the content for the classes.
The database will be made up of a few dozen tables, most of which will have 5-10 fields, though there are one or two that have 20-30 fields.
Initially there will be less than 50 users on the website concurrently, though longer term that number could reach up to 1,000 users. Most will be reading from the database (the class content), though there will also be substantial writing as the database is updated with a user's progress, test results, or new orders through the shopping cart.
Much longer term, I would like to incorporate into the website an e-mail system, as well as more involved contact management for within the company.
I realize that one database engine might not fit all of my needs - just need some guidance on which parts should use InnoDB, MyISAM or another engine! Also, for whatever it's worth, I'm currently using MAMP. Not sure if that makes any difference!