Friday, August 29, 2008

What Does "Enterprise Database" Mean?

Back in February I answered this question in "SQL Anywhere vs ASE":

Q: Is SQL Anywhere an enterprise database?

A: For 90% of the world's enterprises the answer is "most definitely yes!" SQL Anywhere is much easier to administer and develop for than other products, and advances in computer technology mean that performance is no longer the serious concern it used to be: maintenance and development costs are. You can buy a 3Ghz computer with 2G of RAM and a 500G disk drive for less than U$1000, and that's enough power to run an enterprise database in many companies.

For the other 10% of the world's enterprises, performance problems still require huge sums of money to be spent on equipment, software and especially support. New features in SQL Anywhere are pushing the envelope, however; for example, version 10 introduces intra-query parallelism and hot failover using database mirroring.

SQL Anywhere is now being marketed as an enterprise database solution, as well as a solution for mid-level and embedded applications. Millions of rows, thousands of busy users, hundreds of gigabytes, no problem.
Here's the real question:
Exactly what is an "enterprise-level" database?
For OLTP systems, the answer might be a simple measurement:
The size of the workload that can be successfully handled by the database, expressed as the the number of simultaneous busy users, where databases handling workloads above that can be called "enterprise" and those below that are called something else, like department-level.
What do you think that threshold is? Here's my answer:
The threshold for "enterprise database" is a number in the range of 100 to 10,000 simultaneous busy users. Anything larger than 10,000 and you're excluding most of the world's enterprises. Anything smaller than 100 and you're not acknowledging that large systems really are qualitatively different.
Let's consider some government statistics... in paticular, let's look at the US Census Bureau figures for 2005 showing the number of companies with...
fewer than 20    20-99     100-499     500+
employees employees employees employees
------------- --------- --------- ---------
5,357,887 520,897 87,285 17,477
Let's leave out all the small companies, and only look at those with 100 or more employees:
83% of companies with 100 or more employees have fewer than 500 employees.
Let's have another look at those big companies, the ones that have 500 or more employees: they actually employ over 57 million people, but the average is only 3,300 employees per company.

Here's another list: Fortune 500 2006 Top Companies by Employees shows that the top 50 employee counts range from 1.9 million for first place (Walmart) down to 122,200 for 50th place (Northrop Grumman).

Now, "number of busy users" is not the same as "number of employees". Sometimes, a company's database will have more busy users than they have employees; e.g., an airline reservation system has many busy users outside the organization. On the other hand, many internal enterprise databases are used by a small minority of the company's employees, and an even smaller number are busy at the same time.

But the real problem is this: You're not going to find any public ranking of enterprises by numbers of database users.

So you're going to have to take a guess at the threshold for "enterprise database", and I'm going with the range of 100 to 10,000 busy users. For many systems, that corresponds to a range of 1,000 to 100,000 actual users since not all users are busy all the time.

No comments: