How does Pervasive.SQL stack up as a SQL-based database server?

When you're considering a SQL database solution for your company, you have several options. In addition to Microsoft’s SQL Server, there are products such as Sybase SQL Server, Sybase SQL Anywhere, and Oracle Workgroup Server. However, to support these high-end database solutions, you'd have to add more hardware and more personnel.

Pervasive.SQL is the newest SQL-based, networkable database engine for Windows NT Server. Pervasive.SQL claims to offer all the features of a high-end database solution, without the need for an expensive database administrator (DBA) to install and support it.

Like its competitors, Pervasive.SQL offers all the features you expect to find in an enterprise-level database engine product. The software is fully Year 2000 (Y2K) compliant and offers standard database features such as stored procedure support, triggers, declarative referential integrity, automatic recovery and roll-forward capabilities, and support for binary large objects.

So how does Pervasive.SQL differ from other SQL products, and how does its performance compare to these other databases? To see how well Pervasive.SQL stacks up against the competition, I installed the software on a system running Windows NT Server and put it through its paces.

Low, Expandable Resources
Pervasive.SQL is, very simply, a client/server database engine. It is not an integrated development environment, such as Microsoft Visual FoxPro. Although you use the product to manage your information resources, you can't use it to develop programs; you still need some type of development environment (e.g., Microsoft Access, Visual Basic—VB, Visual FoxPro) to design the application that will manipulate information within the Pervasive.SQL database.

Unlike other SQL-based database engines for NT, Pervasive.SQL has very modest system requirements because of several unique technologies that Pervasive Software uses to deliver the product to you. These technologies include the company's MicroKernel Database Engine and dynamic file allocation.

Pervasive.SQL's microkernel database architecture uses a modular design to deliver a highly flexible database to you. The database engine requires as little as 5MB of RAM, although the published specifications call for a minimum of 16MB of RAM. As demands on your database environment increase, the product automatically tunes itself to meet the increased demand and allocates more resources as necessary. Furthermore, you can configure the software to release resources it no longer needs. This last feature is helpful in environments where you have short periods of heavy processing. For example, assume you are in a manufacturing environment where you run shop-floor and materials requirements planning (MRP) jobs at night, and process orders during the day. During the night, your database engine requires more RAM to accommodate the large bill-of-material jobs you must run before you can schedule your production environment the next day. In a traditional environment, you would allocate a set amount of memory to the server to accommodate this requirement, and you wouldn't be able to recoup the lost memory when it's not in use. Pervasive.SQL lets you do just that, so you can use scarce resources such as RAM where they are most needed.

Another useful, but potentially dangerous, feature of Pervasive.SQL is its dynamic file allocation capabilities. Products such as SQL Server require you to pre-allocate a set amount of disk space for your database. However, when you create a database with Pervasive.SQL, the product allocates the minimal amount of space it needs for its system tables and indexes. This minimalist approach lets you create a database with as little as 50KB. Then, as you add data to your database, Pervasive.SQL expands the database to accommodate the increased storage requirements. This capability lets you maximize your disk space, but it has a potentially dangerous side effect: If you have little available disk space, and Pervasive.SQL needs to expand its files to accommodate your data requirements, you might run out of disk space in a production setting.

Pervasive.SQL Features
The Pervasive.SQL software consists of the database engine and a half-dozen GUI applications to manage your database environment. These applications include Data Decryption Field (DDF) Ease, SQLScope, Rebuild, Monitor, User Count Administrator, and SmartScout. The two applications you'll probably use the most are DDF Ease and SQLScope.

DDF Ease is a database definition utility. The utility uses a Windows Explorer-like interface, with left and right panes within the program window. The left pane contains a list of your Pervasive.SQL databases. You can drill down through the databases to expose each table's field definitions and index definitions. The right pane contains information about the item you select in the left pane. Screen 1 shows statistics on one table in the Pervasive.SQL demonstration database.

SQLScope is an interactive SQL execution utility, similar to ISQL/W in SQL Server. After connecting to a database, you enter a SQL statement in the window and click Execute. The program sends the request to the Pervasive.SQL database engine, which returns the results and displays them below the request. Using this utility, I was able to create complex queries, including queries that used aggregate functions and different joins. Screen 2 shows a basic SELECT query from the student table in the sample database.

The other utilities accompanying the software perform basic administrative functions. The Rebuild utility is useful only if you are running a pre-7.0 version of Pervasive.SQL. This utility automatically rebuilds data files for use with the version 7.0 file format. This utility can enhance your system’s performance if you are upgrading from a prior release of the software. Monitor is similar to SQL Server’s Performance Monitor. Using this utility, you can monitor Pervasive.SQL’s performance in several categories. You can examine various microkernel parameters, specifically the current, peak, and maximum values in a range of parameters. The software monitors the number of files open, number of handles in use, clients connected to the system, worker threads currently in use by the database engine, locks in place, transactions executed, and the number of licenses in use. The User Count Administrator lets you increase your license count. When you purchase more licenses, Pervasive Software supplies you with either an electronic key code or a license disk. This utility either reads the disk or prompts you for the electronic code, validates it, and increases your license count appropriately. And finally, the SmartScout utility tests your system’s connectivity to the Pervasive.SQL database server.

   Prev. page   [1] 2     next page



You must log on before posting a comment.

If you don't have a username & password, please register now.

Reader Comments

I was interested to read your results of speed of P.SQL vs MS SQL because I have found just the opposite. I work with Accounting software that has both a MSSQL server version and a P.SQL version. By far the P.SQL outperforms the MSSQL version. In fact I have been whole unimpressed with the speed of MSSQL and the amount of hardware that you must throw at it to get decent performance.

Jim

I have found Pervasive to be incredibly slow.

Anonymous User

Article Rating 3 out of 5

If you use ADO or the like to connect to Pervasive it is very slow. If you use the old Btrieve calls (pervasive used to be called Btrieve) it is quite fast. The drawback is using the Btrieve calls is difficult at best.

Anonymous User

Article Rating 3 out of 5