Support is also available for eT-Kernel/POSIX, eT-Kernel/Extended, and eT-Kernel/Compact, which were integrated at the same time.
High-speed database engine
Because it uses an in-process task engine, Empress is an embedded database type that operates in the same memory area as the application. Unlike a client-and-server type database, Empress does not need to communicate with a server, meaning top performance is structurally guaranteed. In addition to this high-speed engine, Empress has tuned up many other elements and has accumulated optimization expertise over many years, enabling them to provide the latest and fastest embedded database engine.
Small footprint
The database engine of the Empress Embedded Database provides functions for the high-speed processing of large amounts of data while maintaining just a small footprint. Supported functions include multiprocessing/multitasking, two-phase transaction and lock function (ACID), power shutoff recovery, non-fragmenting structure, C interface, embedded SQL, ODBC, and JDBC. At the same time, even when memory space is limited, the Empress Embedded Database finds the optimal algorithm with low CPU occupancy to process data at high speed.
Power shutoff recovery function
A major issue for embedded databases is how to quickly recover the database when the power is turned on again after a shutoff. The high-speed power shutoff recovery of Empress is not performed from backup files. Rather, transactions are released at high speed during restart, and even when there are no transactions, the data, index, headers, and dictionaries in the database are verified to recover the database, making recovery extremely fast and robust.
Embedded transaction and lock function
To maintain the consistency of device data, Empress supports the ACID two-phase transaction and lock function. Isolation levels such as dirty read, read commit, and serialization are used in multiple applications. In the event of a conflict, the application error can be resolved by changing the isolation level. The lock granularity can be selected from table lock, record lock, and page lock, according to the situation.
CRUD real-time and determinism capabilities
"CRUD" means the create, read, update, and delete operations. "Determinism" means that no matter how many times an operation is performed for a database, the result is returned in about the same time, and this is a very important characteristic in the embedded industry. In addition to guaranteeing the real-time capability of the database, Empress also has timeout and cancel functions to guarantee CRUD determinism at a high level.
Structure prevents fragmentation
As write and delete operations are executed repeatedly for the embedded database, continuous data in the database is divided and the speed of data reading and writing is usually reduced. This is called "fragmentation", and defragmentation is required to correct it. Defragmentation is required for the both the memory and the disk. However, the system cannot be used during defragmentation, and if a power shutoff occurs during defragmentation, the risk of data file corruption is extremely high. Therefore, in the embedded industry, an embedded database that does not need defragmentation is required. The structure of the Empress Embedded Database prevents continuous data from being easily divided, delivering a maintenance-free embedded database with minimal deterioration.
Multiprocessing, multitasking function
While Empress is an in-process task engine due to its advanced lock function, it also provides a full multitasking function for multiple users.
Predictable resource utilization
The memory consumed by the Empress database has an upper limit set in the profile. Because the overhead of the data to be used and the disk size of the index is low, the resources to be used can be predicted during design, which enables accurate system design.
Kernel layer
• High-speed, compact database engine
• Hybrid (in-memory/on-disk) structure engine
• Power shutoff recovery function/non-fragmenting structure
• Embedded transaction function
• Index (B-tree index, hash index, full-text search index, spatial index, tree data index, filtered index, etc.)
• Multiprocessing/multitasking support
Middleware layer
• GIS/GPS module
• Data replication
• Hierarchical data processing
• Data encryption, compression, user-defined index
Interface layer
• Data recovery API
• C/C++ API
• Embedded SQL
• Embedded network API
• ODBC/JDBC access
Empress eT-Kernel device replication
Empress provides eT-Kernel device replication to link devices
containing eT-Kernel to the data of other devices. Features of eT-Kernel replication include the capability to set
extremely short intervals for data synchronization, to use as a standalone
device in the event communication is disconnected, and to restart replication
when communication recovers. Additionally, eT-Kernel device replication has been optimized to an extremely light network load because only the latest
differential data is transferred. A wide variety of eT-Kernel replication
formats are available, including a function for multiple master setting (Master
1, Master 2) and sequence setting, a function for setting multiple replication
routes, and a function for setting differential replication using SQL
statements.
Empress eT-Kernel ODBC, JDBC connection
A function is provided that uses ODBC or JDBC to connect devices containing eT-Kernel with other devices or computers. This is an especially useful function in cases such as generating a graph on a computer in Microsoft Excel by referencing a database in an eT-Kernel device, or when changing the data of a master table in Access.
For more details on the Empress Embedded Database, please refer to the Empress website.
Professional services
eSOL and Empress offer comprehensive professional services based on our experience and know-how.
• Empress Embedded Database support, porting, customization, and tuning
• Consultation about the use of embedded databases
• Porting of other middleware
• Other subcontracted development, engineer dispatch, etc.