ITTIA, a global provider of embedded data management software, releases database comparison facts about ITTIA DB SQL and SQLite for developers of applications on intelligent devices, embedded systems, and mobile devices.
As many embedded systems rely on database software to store information, manufacturers recognize the consequences of data becoming unavailable. In addition, key factors such as reliability, concurrency and customer service are important for mission critical applications.
Organizations considering a data management solution for embedded systems recognize the High Availability (HA) capabilities of the database as one of the most critical assets of a system. As systems grow and need to handle more sophisticated queries in multithreaded applications, manufacturers of mission critical embedded systems and devices show interest in an out-of-the-box database solution that follows standards and offers ease of maintainability and interoperability. Key factors for embedded systems??? data management are compared as follows:
Performance: Whether database access is limited to one connection at a time or divided between several concurrent tasks, ITTIA DB SQL significantly outperforms SQLite in write throughput, boasting high insert and update performance both on flash media and hard disk. ITTIA provides public access to a feature comparison and benchmark results at: http://www.ittia.com/resources/white-paper-comparison-ittia-db-and-sqlite
True In-Memory Storage: While SQLite supports in-memory databases, they cannot be shared directly between different tasks and use the same storage format as disk tables. ITTIA DB SQL in-memory tables and databases fully support concurrent shared access. For best performance, these tables are stored in a special format that is optimized for RAM, using algorithms such as T-tree indexes.
Concurrency: SQLite is designed and developed for isolated systems that are single user and single-threaded. When an SQLite transaction begins to modify the database, it must obtain exclusive access to the entire database file until the transaction is finished. ITTIA DB SQL is built and designed for multi-threaded, multi-user application development. Applications embedded with ITTIA DB SQL can run transactions in parallel, allowing long-running tasks such as synchronization to run without blocking normal operations. ITTIA DB SQL uses row-level locking with isolation levels, locking rows automatically as they are read or modified in a transaction.
Replication: ITTIA DB SQL supports built-in database replication, for both disk and memory storage. Replication is used to share information between redundant resources to improve reliability, fault-tolerance, or accessibility. The replication facilities in ITTIA DB SQL make it easy to keep devices up-to-date with each other, even when connectivity is intermittent. SQLite provides no replication functionality.
High Availability: ITTIA DB SQL comes with integrated High Availability capabilities that allow devices to minimize the various kinds of downtime that can affect an embedded system. SQLite only provides basic recovery logging and limited online backup, important tools for self-stabilization, but not a complete solution. Applications can protect mission-critical data with ITTIA DB SQL replication, which automatically distributes data so that failure of one component does not threaten the entire system. The combination of built-in replication, client/server communications, online backup, and high-performance recovery in ITTIA DB SQL gives developers a complete set of tools to achieve fault tolerance through both self-stabilization and duplication.
Synchronization: Data stored in a back-end RDBMS product must often be distributed both to and from embedded systems and portable devices. Since SQLite provides no facilities for tracking modified rows, any data transfer with a back-end RDBMS must be implemented in the application, with extra overhead to identify new information. ITTIA DB SQL provides both built-in change tracking and the ITTIA DB Sync utility to efficiently send and receive data in a back-end RDBS. Applications can access these features to greatly improve availability, reliability, modularity, mobility, and interoperability.
Comparison of ITTIA DB and SQLite White Paper
A white paper that compares the performance and feature set of ITTIA DB SQL to SQLite is available at:
ITTIA is the database that runs mission critical, highly available embedded applications and devices for well-known global companies such as Freescale Semiconductor, Panasonic, Puget Sound Energy, Fresenius, and Boeing. ITTIA DB SQL is a complete data management framework for building powerful applications, offering standards, ease of use, and flexibility to our customers. Benefits of selecting ITTIA’s technologies include leading-edge software, comprehensive documentation, scalability, efficiency, exceptional performance, and low total cost of ownership. Learn how ITTIA brings value to its customers by visiting: www.ittia.com