Gain Big by Scaling Small

In the database industry, scalability almost always means big systems. When Microsoft and other vendors point to their latest benchmark scores as proof of scalability, they're talking about high-end scalability—the ability to handle large applications and huge transaction volumes. But scalability really describes the ability to adapt to a wide range of operating conditions—those that require big systems as well as those that require small systems.

All the benchmark hoopla focuses our attention on high-end scalability, where Microsoft has a lock on the clustered-systems results but is still in a battle to match the single-system scores that Oracle and IBM DB2 have posted. (This situation is largely due to the fact that the UNIX-based systems that posted these scores are bigger and faster than any single-system Intel-based hardware platform that supports SQL Server.) However, the low end of the scalability spectrum can be just as important. While Microsoft and SQL Server are making a lot of noise at the high end of the scalability yardstick, they've quietly—almost stealthily—captured the low end of the database market with SQL Server 2000 Windows CE Edition.

SQL Server CE is a fully SQL-syntax-compatible database that runs in a tiny 4MB footprint, which fits nicely on ultramobile handheld devices such as Compaq's iPAQ Pocket PC and Hewlett-Packard's HP Jornada. Unlike the Windows 9x­compatible SQL Server 2000 Personal Edition, which is based on the same source code as SQL Server 2000 Standard Edition, SQL Server CE uses a different code base that lets it run on Intel StrongARM processor-based Pocket PC handheld devices. Developing applications for the SQL Server CE platform is a surprisingly familiar process. You use eMbedded Visual Basic (eVB) or eMbedded Visual C++ (eVC++) from the Microsoft eMbedded Visual Tools (eVT) development environment for handheld devices. These languages look and feel like their full-sized cousins, VB and VC++. The Compact Framework also extends managed .NET applications that you write in Visual Basic .NET, C#, or VC++ to the device level.

SQL Server CE applications can run as standalone database applications at the device level. But more important for the enterprise, the applications can also run as part of a distributed database application in which you use merge replication to synchronize changes made on the distributed mobile devices with a centralized database server. You can then let each mobile device function autonomously in the field and periodically synchronize any new data with the central server when the mobile device is docked back at the office.

Using SQL Server CE to scale down to the Pocket PC lets you mobilize your applications and deployments in ways that aren't possible with server-centric database products. For example, your sales force can run device-based applications such as order entry, estimating, and quotations—providing customer sales and service in the field without having to lug around a laptop computer. Scalability is a two-way street. Although scaling big is important for many companies, scaling small can open the door to new enterprise opportunities. And with SQL Server CE, SQL Server scales to small databases in a big way.