Okay, SQL vs Jet --
another favorite topic.
First, understand
that Microsoft likes to name their products using generic terms. For
example, calling a database "Access" and their OS "Windows" leads to sentences
such as:
"Microsoft SQL
Server" is an example of this. SQL Server is an database product from
Microsoft. It is similar to other "big iron" database engines like
Oracle.
SQL stands for
Structured Query Language. SQL is an ISO standard computer language used
to perform operations on a database. Jet, SQL Server, and Oracle, are all
"SQL compliant", meaning they use SQL to access their
database.
They are too
numerous to list :-). There is a white
paper on this topic on the MS site. Their summary
is:
Needless to say, MS would rather people use SQL Server. Jet is free; SQL Server is not. The white paper is somewhat amusing in that most of it says that SQL Server is superior to Jet, but then goes on to say that Jet is the default database for Office 2000. One would think that if SQL were so great, it would be the standard. The reason, quite
simply, is the "ease of use" point. Election administrators are not in
general known for their database administration prowess. This has so far
been paramount.
GEMS is
written in my office.
Also, GEMS is
written in C++ using the Microsoft Foundation Classes (MFC). MFC in turn
uses ODBC (mentioned last mail) to communicate with the database using
SQL.
GEMS requires a
database engine of some kind that can speak ODBC. Some of those engines,
like SQL Server, require a separate server process to run (sometimes on a
network). Others, like Jet, are just a library that is linked
with the application directly. In other words, it is a part of GEMS
(you might consider that embedded -- I don't know).
We had at one point
a long time ago (NEXTSTEP/Apogee days) considered writing our own database
engine. We dropped that idea when we moved to Window NT since Jet is
free.
That depends on your
definition of "better".
I think so, but that
is one man's opinion, and subject to change. We have recently demonstrated
that Jet can handle King County. Whether that means "any of the tasks we
[ever] throw at it" is a matter for debate.
There are
non-technical reasons (ie marketing reasons) to support SQL Server
however. I suspect we will have to add support eventually whether or not
it is a good idea.
The main reason for
not supporting SQL doesn't have to do with any particular difficulty in doing
it. The main reason is that keeping all accounts on one database platform
means everyone shares the same problems (and solutions). If only one
county runs SQL Server, they will almost certainly have problems our support
staff is not familiar with, or worse are not found until election night.
If we move everyone to SQL Server, then everyone must pay the "ease of use"
penalty, even though SQL offers nothing to our current
accounts.
Ken
|