Empress Embedded Database

From Wikipedia, the free encyclopedia
Empress Database
Developer(s)Empress Software Inc.
Stable release
v10.20-E / January 2010; 13 years ago (2010-01)
Operating systemCross-platform
LicenseCommercial license

Empress Embedded Database is a relational database management system that has been embedded into applications, including medical systems, network routers, nuclear power plant monitors, satellite management systems.[1] Empress is an ACID compliant relational database management system (RDBMS) with two-phase commit and several transaction isolation levels for real-time embedded applications.[2] It supports both persistent and in-memory storage of data and works with text, binary, multimedia, as well as traditional data.[3]


The first version of Empress was created by John Kornatowski and Ivor Ladd in 1979 and was originally named MISTRESS. It was based on research done on "MRS: A microcomputer database management system" at the University of Toronto, which was published by the Association for Computing Machinery in SIGSMALL SIGMOD 1981.[4] The commercial version was one of the first available relational database management systems (RDBMS) and was named Empress. Its first customer ship was in early 1981. Empress was the first commercial database to be available on Linux. Its Linux release dates back to early 1995.[5][6]

API and architecture[edit]

Empress supports many application programming interfaces in several programming languages. The C programming language has the most APIs including the low-level kernel MR Routines, Embedded SQL, MSCALL and ODBC. There are also APIs for C++ and JAVA. The layered architecture design provides levels of system optimization for application development. Applications developed using these APIs may be run in standalone and/or server modes.[7]

Product features[edit]

  • Kernel API
  • Fast Bulk Data Handling (BLOBs)
  • Bulk Chunks
  • Unlimited Attributes
  • File Indices
  • Persistent Stored Modules
  • Triggers
  • Stored Procedures
  • No Pre-Partitioning required
  • Referential Constraints
  • Range Checks
  • Micro-Second Time Stamps
  • Layered Architecture
  • Text Search Index
  • Spatial Search Index
  • Cancel Functionality
  • Hierarchical Query
  • JDBC Interface
  • C++ APIs
  • Database Encryption
  • 64 BIT Operating System Versions
  • UTF-8
  • UNICODE & National Language Support
  • Replication Server
  • Time-out Function

Supported platforms[edit]

Empress runs on all major Android,[8] Linux-, Real-Time- and Windows-supported platforms:[9]


  1. ^ Empress Offers an Effective Embedded Database Solution by Craig S. Mullins 2005. Retrieved on Jan 26, 2010.
  2. ^ Empress Product Profile p.11, 2009. Retrieved on Jun 1, 2010.
  3. ^ List of Supported Data Types Retrieved on Jun 1, 2010.
  4. ^ "MRS: A microcomputer database management system", 1981. Retrieved on Jan 26, 2010.
  5. ^ “EMPRESS RDBMS VERSION 6.6 FOR LINUX OS READY TO SHIP”, May 1, 1995. Retrieved on Jan 26, 2010.
  6. ^ “Linux Commercial HOWTO”, v5.38, March 7, 1999. Retrieved on Jan 26, 2010.
  7. ^ Empress APIs Retrieved on Jun 1, 2010.
  8. ^ "Empress SDK for Android" Archived 2011-07-15 at the Wayback Machine Retrieved on Feb 16, 2011.
  9. ^ Supported Platforms Retrieved on Jun 1, 2010.
  10. ^ "Empress SDK for Android" Archived 2011-07-15 at the Wayback Machine Retrieved on Feb 16, 2011.

External links[edit]