AutoRun
My test copy of Pervasive.SQL came on one distribution CD-ROM and one license-count disk. Overall, installation was rather painless, but I did encounter some unexpected problems.
For installation and testing, I used a Digital Prioris HX590 dual-processor Pentium system with 4GB of stripped disk storage and 96MB of RAM, running Windows NT 4.0 Server and the latest service packs. I also installed SQL Server 6.5 with the latest service packs on this machine set for manual start.
I used a different Windows client machine to properly test the database product. Although I could have tested the software from the host system, I felt this configuration would have been an unfair test because SQL Server would consume more memory and affect system performance. For my second test machine, I used an American MegaTrends-based dual-Pentium II system running NT Workstation 4.0, the complete Office 97 suite, and Visual Studio 97. I connected the client and server systems using a thin-net TCP/IP link.
I installed Pervasive.SQL in two phases. In the first phase, I set up my NT server with the Pervasive.SQL database engine. In the second phase, I installed the client software on my NT workstation.
The server-side installation proceeded smoothly (so I thought). After launching the setup program, I chose to perform a custom installation. I went through several screens of prompts asking me which components to install, after which the installation process ran unattended. When the installation finished, a series of stress tests ran indicating the database engine was online and operating correctly. I rebooted my system and began installing the software on my workstation.
On my workstation, I chose to perform a typical installation, and the install program ran uninterrupted for 5 minutes. However, after completing the installation, I was unable to establish a connection to my Pervasive.SQL server. Upon further investigation, I found the Pervasive.SQL database engine had failed to start when I rebooted my NT server. I couldn't start the server by manually starting the task, and I couldn't find the specific failure code in the online documentation. I uninstalled the software and started the installation from scratch, but this time I chose to perform a typical installation on the server. After I reinstalled the software and rebooted the server, I was able to access the Pervasive.SQL database engine from my client system.
Success Rates
To test Pervasive.SQL’s performance against SQL Server, I established a test customer database using both database engines. The database consisted of eight fields that totaled 113 bytes in length. Table 1 shows the test database structure. The database contained several index values: The customer number was the primary key, whereas the remaining values were not unique indices.
Using VB, I created a program to import 10,000 records into both a SQL Server and a Pervasive.SQL database. I configured two ODBC data sources on my client machine and built a table of data values in memory. Then, using a standard data control’s record set in a for/next loop, I performed a series of .AddNew/.Update loops to populate each record. I repeated this process twice—once for the SQL Server table and once for the Pervasive.SQL table.
The results were surprising and disappointing. To load the 10,000 records into my SQL Server database took 2 minutes and 31 seconds; with Persuasive.SQL, the same process took 35 minutes and 15 seconds. Considerable disk thrashing occurred while Pervasive.SQL dynamically allocated the space it needed to store the database information. Of course, it's important to note that SQL Server performs the database space allocation process up front.
Unfortunately, this poor write performance continued throughout my testing. I used Microsoft Access to attach the customer table from both Pervasive.SQL and SQL Server. Next, I created a query to update the balances for all customers in Rhode Island (532 records) by $100. Running this query against the SQL Server table took only 7 seconds; running it against the Pervasive.SQL table took 26 seconds. To select records, I used the State field, which was an indexed field in both databases.
Pervasive.SQL and SQL Server had no appreciable performance difference in SELECT queries. Both simple and complex JOIN and UNION queries from both databases completed within seconds of one another.
Persuasive.SQL—Is it Right for You?
Although the product claims that it needs no DBA to run it, the software definitely needs a database-savvy person, especially if you intend to do any new development. Database administration involves more than monitoring and tuning the database (i.e., only a database-savvy person will be familiar with problems associated with proper creation of database tables, constraints, stored procedures, triggers, and more).
One area where Pervasive.SQL outshines SQL Server is its price. The base price for Pervasive.SQL, which includes a 10-user license, is half the base price of SQL Server and 10 licenses. Pervasive.SQL is a real bargain, especially for small and medium-sized business markets where the staff is not necessarily in place to support a large database installation. You can download a trial version of the software from Pervasive Software's Web site at http://www.pervasive.com.
End of Article
Prev. page
1
[2]
next page -->