Pervasive PSQL

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Pervasive PSQL
Developer(s) Actian Corporation
Stable release PSQL v11 SP3 / January 2013
Development status Active
Operating system Cross-platform
Available in English, Japanese
Type DBMS, RDBMS, NotOnlySQL
License Proprietary software, trial editions available
Website www.actian.com

Pervasive PSQL is an ACID-compliant DBMS[1] developed by Pervasive Software. It is optimized for embedding in applications[2] and used in several different types of packaged software applications offered by independent software vendors (ISVs) and original equipment manufacturers (OEMs). It is also optimized for software as a service (SaaS) deployment[3] due to a file-based architecture enabling partitioning of data for multitenancy needs.

Applications can store the data and the relationships in tables in a relational model (RDBMS) or store the data in a schema-less way with no fixed data model (key-value store).

Pervasive PSQL runs on system platforms that include Microsoft Windows, Linux, and Mac OS X. Both 32-bit and 64-bit editions of Pervasive PSQL are available. Editions are also specifically designed for different computer networking deployment needs, such as workgroup, client-server, and highly virtualized environments, including Cloud computing.

The original name for Pervasive PSQL was Btrieve.[4] Pervasive Software was acquired by Actian Corporation in 2013.[5]

Uses and customers[edit]

Pervasive PSQL has a world-wide presence, but because Pervasive PSQL is an embedded database, its extensiveness is not well known. “Although Pervasive PSQL has been available for more than twenty five years, not many know of its existence. Competing products such as Oracle and Microsoft SQL Server are, without a doubt, better known and more noticeable. This obscurity is undeserved, because the number of installations worldwide is impressive. ...Organizations buy applications from the ISVs and VARs without knowing that Pervasive PSQL is the engine running all their applications.”[4] “The company has 3,500 partners worldwide, including roughly 200 OEMs and 45 distributors who provide some of the traditional services a value-added reseller does, such as training and consulting work.”[6]

Examples of Pervasive distributors include Goldstar Software for the US market,[7] SOS Software Service AG for the German, Swiss, and Austrian market,[8] DSCallands and Southdown House Software Ltd. for the United Kingdom and Irish market, Poly-Asia e-Technology for the Chinese and Southeast Asian market, AG-TECH for the Japanese market, and Stern Software for the South American market.[9]

Pervasive PSQL is embedded by OEMs like Sage,[10] ABACUS Research AG (Switzerland), and Unikum (Sweden) in packaged software applications that address the accounting, finance, retail, point-of-sale, entertainment, reservation system, and medical and pharmaceutical industry segments. “Users include Novell, Microsoft, PeachTree Software, Fair Isaac, Disney World, Radio Shack, Cardiff and others.”[11] The accounting industry forms a large part of the Pervasive PSQL market. “In the year ended June 30, 2007, approximately 20 percent of database revenues were from sales related to applications from such vendors as Sage, Intuit, Exact Software, Cyma Systems and Epicor.”[11] An example of the use of PSQL in the medical industry is WebMD.

Historically, Pervasive PSQL has served as a DBMS for the small- to medium-sized business (SMB) commercial section. “According to Wayne Kernochan, senior analyst for Illuminata, 'Pervasive takes a different direction from enterprise databases in several different areas, with positive results for low-IT users.'...'Pervasive PSQL is particularly useful and offers especially low TCO in mass-deployment architectures, wherein multiple workgroups or branch offices in multiple localities each use a local server which may be linked back to a central server,’ added Kernochan.”[12]

DBMS architecture[edit]

Pervasive PSQL supports stand-alone, client-server, peer-to-peer[13] and software-as-a-service (SaaS)[3] architecture.

The central architecture of Pervasive PSQL consists of two database engines: (1) the storage engine, known as MicroKernel Database Engine (MKDE) and described by Pervasive Software as a transactional database engine and (2) the relational database engine, known as SQL Relational Database Engine (SRDE). Both engines can access the same data, but the methods of data access differ. “On the one hand, you can program against the database using standard ANSI SQL. …But Pervasive also allows you to go under the hood and bypass SQL totally….With Pervasive you can use low-level operations to access the data directly.”[14]

MicroKernel Database Engine[edit]

Pervasive’s transactional database engine, the MicroKernel Database Engine, interacts directly with the data and does not require fixed data schema to access the data. It uses key-value store to store and access the data. Calls to the MKDE are made programmatically with Btrieve API[13] rather than through the use of a query language; therefore, Pervasive PSQL does not have to parse the request. This places the MicroKernel Database Engine in the category of NotOnlySQL databases.[15] Low-level API calls and memory caching of data reduce the time required to manipulate data.

The MKDE operates in complete database transactions and guarantees full ACID (Atomicity, Consistency, Isolation, Durability).[1] If a transaction does not fully run its course due to an external event such as a power interruption, the data remains in the state in which it existed before the transaction began to run.

In the MKDE, records are stored in files which are roughly equivalent to the tables of a relational database engine. It supports multiple keys on a record and therefore multiple indexes in the file. The MKDE caches data in memory to facilitate performance. When a call is made to the MKDE, cached data is searched first; physical storage is searched if there is no cache of the data. Configuration settings for caches can be pre-configured by ISVs to optimize Pervasive PSQL performance for their applications.

Relational Database Engine[edit]

The second database engine, the SQL Relational Database Engine or SRDE, operates in a manner similar to other relational database engines, that is, through the support of Structured Query Language queries. SRDE parses SQL queries and sends them to the MKDE to run.

The SRDE implements SQL-92.[16] Significant other features include relational integrity, database security, and temporary tables. SRDE extends its functionality by supporting stored procedures, user-defined functions, and triggers.[17]

In addition to its support for SQL-92, the SRDE supports several significant features of COBOL: COBOL data types and COBOL OCCURS and VARIANT records.[13]

Additional features[edit]

Pervasive PSQL provides the following additional features:

Interfaces[edit]

Interfaces for Pervasive PSQL

Pervasive PSQL interfaces fall into two categories: management interfaces and data manipulation interfaces.

Management interfaces[edit]

Pervasive Software provides the management interfaces Distributed Tuning Interface (DTI)[13] and Distributed Tuning Objects (DTO), a Component Object Model (COM) adapter pattern (wrapper) for the DTI.[13] These provide application programming interfaces for configuration, monitoring, and diagnostics of Pervasive components. COBOL can also provide component management through a COBOL connector that can talk to DTI.[23]

Application interfaces[edit]

All other interfaces[13] exist for data manipulation purposes.

Tools[edit]

Pervasive provides utility software designed to facilitate administration and use of Pervasive PSQL.[13] There are graphical and command line utilities in Windows, Linux, and Mac OS X environments.

Pervasive Control Center (PCC) is the main utility that enables the user to create and manipulate databases and tables, to access servers and clients, to set configuration, properties, and to edit data. Through PCC, the user can access a series of other utilities:

  • License Administrator utility handles license management activities.
  • Notification Viewer utility displays licensing-related messages logged by the PSQL engine.
  • Monitor utility checks and displays activities and attributes of both engines, including resource usage, session information, and communication statistics.
  • Pervasive System Analyzer utility tests the connections between the engines and within the network and displays information about system components.
  • Maintenance utility enables users to create and edit schema-less files.
  • Rebuild utility enables users to convert file formats and rebuild files in its MKDE file format.
  • DDF (data definition file) Builder utility enables SQL users to create and modify table schemas for data stored in the MKDE, thus providing relational access to the data.
  • Query Plan Viewer enables SQL users to analyze query plans for optimization.
  • Function Executor assists developers with development, testing, and debugging by simulating direct API operations into MKDE and providing a view into the schema-less data.

Versions[edit]

See Btrieve, beginning with Pervasive.SQL 7.

Editions and licensing[edit]

Editions[edit]

There are four editions of PSQL:[13] Pervasive PSQL Client, Pervasive PSQL Workgroup, Pervasive PSQL Server, and Pervasive PSQL Vx Server.

  • Pervasive PSQL Client is designed for use with Pervasive PSQL Server and Pervasive PSQL Vx Server in a client-server network.
  • Pervasive PSQL Workgroup edition is intended for single-user or small workgroup, peer-to-peer, installations.[13]
  • Pervasive PSQL Server edition is intended for configurations that have at minimum ten concurrent connections and it is scalable up to thousands of concurrent network users in client-server network and web-based applications on the enterprise level.[13]
  • PSQL Vx Server runs under hypervisors in a VM environment. It is designed for customers “who need support for highly virtualized environments enabling live migration, fault tolerance, high availability and cloud computing.”[24]

Licensing[edit]

Pervasive Software uses two different licensing models, user-count licensing and capacity-based licensing.[13]

  • In user-count licensing, each product key specifies a licensed user. At any given moment, that many users can be connected to the engine.
  • Capacity-based licensing is based on the amount of processing performed by the database engine. It measures data in use and sessions in use. This license model is designed to facilitate Cloud computing and highly virtualized environments.

Both PSQL Server and PSQL Workgroup use a user-count licensing model, while PSQL Vx Server uses capacity-based licensing.

Limitations[edit]

References[edit]

  1. ^ a b Wiejers, Ben (December, 2000 (updated October 2001)). "Transactions, Locking and DataFlex". Data Access Worldwide.  Check date values in: |date= (help)
  2. ^ Stanley, Nigel; Kaufman, Marcia (2007). "Delivering Embedded Database Solutions for Small and Medium-sized Businesses". Hurwitz and Associates. 
  3. ^ a b Bloor, Robin; Jozwiak, Rebecca (December 2011). "Moving to the Cloud with Pervasive PSQL". The Bloor Group. 
  4. ^ a b van der Lans, Rick F. (2009). The SQL Guide to Pervasive PSQL. Lulu. pp. 44–45. ISBN 978-0-557-10543-4. 
  5. ^ "Actian Corporation and Pervasive Software Unite to Take Action on Big Data". 
  6. ^ DeFelice, Alexandra (June 1, 2008). "Pervasive’s Tailor-made System". Accounting Today. 
  7. ^ "Goldstar Software Inc. Home Page". Goldstarsoftware.com. Retrieved 2012-05-12. 
  8. ^ "SOS Software Service". Sos-software.com. Retrieved 2012-05-12. 
  9. ^ "Stern Software". Stern.com.br. Retrieved 2012-05-12. 
  10. ^ "Manufacturing ERP Softwareâ€"Sage PFW ERP". Sagepfw.com. Retrieved 2012-05-12. 
  11. ^ a b Vaughan, Jack (October 16, 2002). "Pervasive on replication trail". Application Development Trends. 
  12. ^ "Software provides growth solution for organization databases". ThomasNet News. September 26, 2007. 
  13. ^ a b c d e f g h i j k l m n o p q r "Pervasive Documentation Library: Pervasive PSQL v11 SP2". Pervasive Software. April 2012. 
  14. ^ a b Lax, Joe (January 23, 2004). "Top-notch Auditing an Impressive Add-on for Pervasive.SQL". DevX.com. 
  15. ^ "LIST OF NOSQL DATABASES". NoSQL. Retrieved April 30, 2012. 
  16. ^ Brettski (January 4, 2009). "Methods for interacting with a Pervasive SQL database". stackoverflow. 
  17. ^ van der Lans, Rick F. (2009). The SQL Guide to Pervasive PSQL. Lulu. pp. 443–548. ISBN 978-0-557-10543-4. 
  18. ^ "What file versions does Row Level Locking (RLL) work with in Pervasive.SQL 2000?". Pervasive Software. June 2001. 
  19. ^ a b "Pervasive Software Delivers Pervasive PSQL Summit v10.10 Database". Pervasive Software. June 11, 2008. 
  20. ^ Durham, Dale (April 23, 2008). "Unicode support?". Pervasive Community Site. 
  21. ^ "Pervasive Documentation Library: Pervasive AuditMaster". Pervasive Software. April 2012. 
  22. ^ "Pervasive Documentation Library: Pervasive DataExchange". Pervasive Software. April 2012. 
  23. ^ "Pervasive Documentation Library: Pervasive PSQL v10". Pervasive Software. April 2008. 
  24. ^ Beal, Vangie (February 13, 2012). "Pervasive Software Announces Hypervisor-Friendly PSQl Vx Server 11". ServerWatch. 

See also[edit]