On Sat, 2006-06-03 at 09:56 -0600, Curtis S. wrote:
David J. wrote:
I have one vendor of a mission critical software service that is on
mysql, and they had frequent downtimes because of DBMS problems.
And we have several clients with huge MySQL backed databases (several
tables with millions + records–2GB database) that work flawlessly. The
only downtimes have been due to incorrect, but “valid” data; and Java
issues (or plain old developer stupidity). And it runs on a Windows
2003 Server box (which MySQL isn’t suppose to do as well on).
This is where the scaling question comes up.
In my world, a 2 gb database is essentially empty. It’s certainly not
on a level that warrants any level of boasting.
Part of our vendor’s issue was simply that he was (like many people)
under the impression that a couple of gigs was “large”. But we added
that amount to his database every day, seven days a week, without
downtime. It took him a year to figure out that he needed real DASD and
database management to handle the workload he had contracted for.
You’re going to get as many stories as there are people. Look at the
features lists, then decide…you will find your own “best path”.
Personally we usually use the standard develop on sqlite3, deploy to
MySQL or Postgres. With Rails it really is pretty translucent with an
application database. Don’t let anything but your code (and DBAs that
know the DB) touch it and you’ll be fine.\
IMHO, it is asking for trouble to develop on one platform then deploy to
another. Been there, done that, fixed the installation at 3:00 AM,
several times … but never again. If the distribution platform is free
(or adequately licensed), develop to it and sleep easier at install
time.
Most RDBMS’s have free “lite” version available specifically for small
contractor development efforts. This includes Oracle, DB2, MS-Sql,
etcetera. So in today’s world there is no reason not to develop on the
target platform.
With that said, I am all in favor of testing on multiple platforms
beyond the initial intended deployment.