Are All Database Engines Just Flavors of the Same Thing?

Databases can be so useful, nowadays even smallWork that requires a separate compiled software
organizations use them. Everywhere you look, there isprogram in SQL Server can sometimes be done with
a database: mailing lists, customer profiles, organizing amere scripting in Oracle. Oracle's dialect of SQL is
wedding, routing toll free telephone calls all over thecalled PL/SQL, and has capabilities T-SQL lacks.
country... Some are small and simple. Some areDB2
immense and complex.Some organizations prefer mainframes instead of
Each database runs in a database managementWindows or UNIX servers. For these, DB2 is a
system (DBMS). If you have dealt with computers longfrequent choice. It is not meant to run on everything
enough, you remember some of the earliest desktopfrom small PCs to big servers. It is intended for heavy
DBMSs. Most of the early desktop DBMSs wereduty use with large amounts of data and high
shoved aside long ago by Microsoft Access(TM),availability--extremely serious databases.
although several are still available such asThe more commonly used a DBMS is, the easier it is
Paradox(TM), dBase(TM) and Alpha Five(TM). Forto find people who have experience working with it.
larger databases, you are probably aware ofBecause DB2 is so focused on very large databases,
MySQL(TM), IBM DB2(TM), Oracle(TM), Microsoft SQLfewer people know how to work with it. Part of the
Server(TM).price of using DB2 is needing to look harder for the
In my consulting practice, I often encounter people whoright people to help you set it up and use it.
think those are the only DBMSs worth considering, andFor some organizations, that is almost as important a
they are all just different flavors of the same thing. Forfactor as the technical merits of a DBMS. When you
more than a decade, I have been helping them pasthave demanding requirements, you may need a DBMS
their confusion so they can choose a DBMSthat is not commonplace. If so, the experts who work
intelligently before they build a database. This shortwith it are likely to be harder to find and may cost
primer will give you a basic grounding. You may stillmore because of their rare skills.
need help to choose the right DBMS for yourNot All Databases Live on Disks
purposes, but at least you will be able to ask smartThe DBMSs mentioned so far keep their information
questions and get the answers you need.primarily in disk files. The more sophisticated DBMSs
Low-Priced Desktop Databasesmay allow you to configure them so the most
Your dictionary may say a spreadsheet qualifies as afrequently used data is in computer memory, where
database. In the computing world, a spreadsheet doesperformance is much faster, but the data in memory is
not even come close. Through special interfaces, yousent to disk as soon as possible so it will not be lost if
can use a spreadsheet as a handy, familiar way tothe system crashes.
look at a portion of the data in a database. But onlyThat trick speeds up database performance, but not
one person at a time can open and make dataenough for some purposes. Telephony, spacecraft
changes in a spreadsheet.telemetry, manufacturing automation, and many other
If the data needs to be usable for a group of peopleapplications need to keep up with equipment instead of
and it is in a spreadsheet, eventually somebody will getwith comparatively slow human beings. The next
frustrated about not being able to make changes.move up in performance is a database that lives
They will make a private copy of the file, put theirentirely in memory, which is much faster than disk
changes into it, and replace the group spreadsheetstorage.
with their version whenever they have a chance. ThatMemory resident databases, if well architected and
wipes out any changes made by someone else whilewell built, can be blazingly fast. Of course, speed
the frustrated person was working in a private version.comes with a trade-off. Memory resident databases
Valuable information is lost this way.disappear if the system crashes. As a fallback, this
If more than one person needs to work withtype of database saves a copy of itself to disk
information, it does not belong in a spreadsheet. Itoccasionally, like a snapshot of its condition at an
belongs in a database. Even the cheapest, leastinstant in time. When restarted, the database uses the
capable DBMS will allow everyone to look at the datacopy on disk to repopulate itself. If it is gracefully shut
at the same time. When someone makes a change,down and restarted, the disk copy is up to date and
only that small portion of the data-the equivalent of anothing is lost. But if the system crashes, everything
row on a spreadsheet-is "locked" during the change tothat occurs between the last pre-crash snapshot and
make sure two people do not make different changesthe restart is lost.
to it at the same time. As soon as the change isNotice that I said these databases are very fast when
finished, that "row" is "unlocked" and made available forwell built. I have seen highly proprietary memory
other changes by anyone in the team.resident databases in telecommunications with
However, the adage "you get what you pay for" ismind-boggling speed. I have seen another that is
frequently just as true in computing as it is anywherecommercially available, runs on multiple operating
else. Desktop DBMSs do enough to satisfy modestsystems, and is so reliable that it is used by nuclear
goals. You may be able to start out with one of these.power stations. But I have also seen one that is
As your database grows larger or your needscommercially available, sold for automation purposes,
become more sophisticated, expect to need toand unable to meet the performance of leading disk
migrate to a more substantial DBMS.resident database engines. The fact that a database is
As an example, let's say you run a small business withmemory resident does not guarantee it will run like
5 employees. You have a few hundred customers.greased lightning.
Their orders, your order fulfillment, and yourNot All Data is Relational and Sorted Into Lists
administrative procedures are straightforward. AUp to now, all the DBMSs mentioned have been
database in Microsoft Access can handle that with norelational. They organize data into tables, which you
problem.can think of as being similar to spreadsheets. Each
Now let's say your business grows. By the time youtable has fields similar to the columns in a spreadsheet,
hire employee number 50, you will probably either beand records similar to the rows in a spreadsheet.
migrating to another DBMS, or already be usingTables can connect with each other through keys. If
another DBMS. Most desktop DBMSs in the low endyou have a table of customer contact information and
of the price range are designed to work well with aanother table of orders placed by customers, the
few simultaneous users. They struggle as both thecustomer identification code that appears in both
number of users and the amount of data grow. Youtables will relate each customer's contact information
might buy yourself a little time by putting your databasewith all the orders that customer has placed.
on a more powerful computer, but ultimately a seriousNot all data can be readily organized that way.
database needs a serious engine, just like a racecarSometimes you need a spaghetti bowl of
needs a more serious engine than a commuter's car.interconnections. I see this most often in memory
MySQL as a Step Upresident databases with a profound need for speed.
MySQL has become a popular next step up. It is oftenSome of them use a maze of interconnections. A
available free with website hosting services. It runs onrelational database may have to trace several
several flavors of UNIX as well as on Windows(TM).relationships to pull together the same data, where a
Many free or cheap web applications (and some moremaze of interconnections allows a database to grab
costly ones) run on it. It can handle more data andrelated data more directly.
more users with better, more tunable security thanSuperfast databases also use a variety of methods to
typical desktop engines.locate desired pieces of data more rapidly. Sorting in
You can do a lot with this, handling a substantialalphabetical, numerical or date order is natural for
amount of data and many more simultaneous userspeople, but looking up data in that type of list is not the
than a desktop database can handle.most efficient way for a computer to do it. As
However, the adage about what you pay for will biteexamples of faster methods, some databases use
you again when you reach the next threshold. Exactlyhash tables or balanced binary searches for lookups.
which threshold you reach is not the same for everyHowever, the rise of web applications has accelerated
database. You may need better security or disasterother needs for less rigidity in the structure of data that
redundancy because your data is sensitive. You maygoes into databases. Non-relational databases are
need faster performance. You may need to run on anuseful where data structure is in flux. Although you
operating system that is not UNIX or Windows. Youmight expect this to be needed mostly for exotic
may be dissatisfied with the tools available to help youpurposes, I know of systems at a major airport and in
work with your database. Any of these is a gooda large property management operation where
reason not to choose MySQL.non-relational databases are in use.
For most people, the best known alternatives are DB2,Some Databases Cast Data in Stone
SQL Server and Oracle. They are designed to be ableA variety of other features can make one database
to cope with large, sophisticated, enterprise classstand out from others for a specific purpose. Most
databases and loads.people think of information in databases as easy to
Microsoft SQL Serverfind and update. But for an example of a special
SQL Server is often mistakenly called SQL. SQLpurpose where the data is not updatable, you need not
stands for Structured Query Language. This is alook any farther than your medicine cabinet.
scripting language that can be used to pull data fromPharmaceutical manufacturers are required to keep
and put data into a database. Each SQL-compatiblevast amounts of information on file about every batch
DBMS has its own dialect of the SQL language. SQLof medicine they make. If drug regulators notice an
Server is a DBMS, and its dialect of SQL is calledalarming pattern and want to check whether
Transact-SQL or T-SQL. The database administrationsomething went wrong in a batch, the manufacturer
toolset for SQL Server is heavily oriented towardneeds to be able to produce that data
graphical usage instead of scripts.immediately-and that data must be pristine. It must
As a Microsoft(TM) product, SQL Server is only atnever have been changed since the batch of medicine
home on Windows. Each version is released withwas made and the data was captured. For this
several editions ranging from small (oriented towardreason, some database engines can be set so that
the desktop and developer) to enterprise (very largethey will not allow any information in the database to
and complex with heavy usage). The bigger the edition,be changed. New data can be inserted, but from that
the greater the capabilities and the bigger the price.moment on, the data is cast in stone.
This is often the next step up from Microsoft AccessA few DBMSs can keep track of the source of
because it runs on the same operating system, andeverything done to their data. Most databases require
because it is easy to use Access as just an interfacethat type of tracking to be done by writing special
between the user and the new database. By usingsoftware that users must go through to touch the
Access to present the user with screens for SQLdata, but it is possible to get a DBMS which has that
Server data, a business can migrate upward withoutcapability built in. This is not necessarily practical in a
needing to retrain database users. The users still getdatabase that has to keep up with machinery. But in a
the same look and feel they had in the small Accesshospital, it may be crucial to know which person made
database.each change or addition in a patient's records.
This is the right solution for some databases, but notAbundant Choices
for others. Some of my clients run large databases onThe DBMSs mentioned by name in this article are not
operating systems other than Windows or UNIX.the only ones available in their categories, let alone in
Some want to move their database to anotherthe entire world of databases. Before you build a
operating system in the future without needing todatabase, it is worth your while to think about what
change to a new database engine at the same time.you need. You will put a lot of effort and expense into
Some find that T-SQL does not offer all the scriptingcreating your database, so it should be in a DBMS that
capabilities they need for the applications that must runsuits what it has to do.
on their databases. Each of those is a viable reason toAs an example of good versus bad choices, consider
choose Oracle.two large companies in regulated industries that need
Oracleto keep specific data for years and be ready to show
Oracle and SQL Server constantly compete forit to government auditors on a moment's notice. Both
benchmark test results that outdo each other forchose a memory resident DBMS because their
performance. Either can be fast, manage largesystems need to collect data from machinery. As
amounts of complex data, and handle substantialmentioned earlier, if the system crashes, all data
usage loads. But Oracle runs on a wide variety ofbetween the last "snapshot" and the crash is
operating systems. If you want the flexibility to movepermanently lost. One of these companies copies the
to another operating system, this is obviously desirable.regulated data into a disk resident DBMS right away.
Oracle is especially entwined with the OpenVMS(TM)The other does not, leaving it exposed to fines from
operating system to deliver as much performance asregulatory agencies for losing data whenever the
possible on that platform. If you cannot toleratesystem crashes.
frequent reboots for security patches and turn pale atIf you are not sure which engine to use, ask a
the very thought of a system crash, you know it isprofessional. By now, you know just saying you want
common for OpenVMS to run for years betweena new database is not enough. Use this article to help
reboots. You also know OpenVMS can make multipleyou explain what you need. When you tell an expert
computers behave as though they are a singlethat you want a database to run on your favorite
computer when they are up to 500 miles apart,operating system, with minimal data loss in the event
offering great protection against disasters. A setup likeof a crash, moderate speed, high security and 200
that is certainly not cheap, but it is easy to see whysimultaneous users... that is a great start.
some organizations demand it.