I'm a system administrator for a small (200 people) branch of a large university/medical
school. I've worked with MySQL and use it as my database of choice for web-based dynamic
content. I would not consider myself an experienced, professionally-trained, knowledgeable
database administrator, more of a database user who's had to administer his own database
systems because no one else's around.
My organization is trying to decide on an SQL engine for general purpose database work
within our organization. The one professional database administrator we have works mainly
in MS Access, but is looking forward to building on her beginner-level understanding of
SQL and becoming an SQL administrator. Right now, the largest database in our organization
is a flat-file structure with less than 500,000 records in it, which could conceivably
grow ten-fold in the next five years. The organization hired an outside consultant to
evaluate which SQL engine to go with. This is what he sent to us:
MySQL is an open-source database management system (DBMS). It
uses client/server architecture and is a multi-threaded,
multi-user database server. MySQL was designed for speed;
therefore, it does not provide many of the features provided
by relational database systems, such as sub-queries, foreign
keys, referential integrity, stored procedures, triggers, and
views. In addition, it contains a locking mechanism that is
not adequate for tables containing many write actions
occurring simultaneously from different users. It is also
lacking in reference to support for software applications and
SQL Server 2000 is a complete Relational Database Management
System (RDBMS) that also includes integrated analysis
functionality for OLAP and data mining. SQL Server 2000 meets
the data and analysis storage requirements of the largest
data processing systems and commercial Web sites, yet at the
same time can provide easy-to-use data storage services to an
individual or small business.
The architecture of Microsoft SQL Server supports advanced
server features, such as row-level locking, advanced query
optimization, data replication, distributed database
management, and Analysis Services. Transact-SQL (T-SQL) is
the SQL dialect supported by SQL Server 2000.
I don't know whether the consultant wrote this himself, or if it came from somewhere. It
could be Microsoft advertizement, for all I know. Most of the terms aren't familiar to me,
like "sub-queries" or "referential integrity". I feel out of my depth evaluating this
My questions are:
1. Is this a fair comparison of MySQL and MS SQL Server 2000?
2. Is this up to date with the current status of MySQL?
3. Would the deficiencies pointed out in MySQL, if true, apply to the type of work we
envision? Granted, I haven't given you all much information about what we hope to do with
an SQL engine, but I don't think it will be very sophisticated.
Thank you for all your thoughts and comments.
E. Kevin Zembower
Johns Hopkins University/Center for Communications Programs
111 Market Place, Suite 310
Baltimore, MD 21202