Skip to content Skip to navigation

How Can the Right Database Save Development Time and Cost?

We are entering an era of ubiquitous computing, in which billions of devices will be able to record vital information and communicate both with the Internet and each other. To manage the data stored on these devices, application developers must find a way to organize information efficiently, protect valuable data from failure, and accurately communicate with other systems. Embedded database software has proven to be the most effective technology for storing, managing and distributing data to other connected systems.

Developers must plan for data management from the earliest stages of product development. Without the right database, developers risk incurring hidden costs as the complexity and scale of the application grows, including: data loss, inconsistency, poor performance, undetected conflicts, and boundless resource consumption. A database expert is an important resource to help answer common questions, such as:

  1. How to identify the hidden costs before starting development?
  2. What is a reasonable cost for an embedded database product?
  3. What database features will be important during development?
  4. How to prepare for firmware updates without losing valuable data?

Embedded Database Software

An embedded database is used to manage data stored in embedded applications and devices. Designed to be hidden from the end-user, an embedded database links into the application or firmware as a self-contained software library. At minimum, a database provides a way to store and query data, such as SQL, and uses transactions to protect data.

But a database is capable of much more. Other important factors include:

  • portability, both of the storage format and application code;
  • self-administration, requiring no database administrator;
  • predictable resource allocation, especially run time memory overhead;
  • and data distribution capability.

To take advantage of optimization and unique features, developers need the support of knowledgeable experts. Backed by a dedicated database company that communicates with each individual developer to decide on current requirements as well as future update releases, the right embedded database provides a robust, scalable, and cross-platform solution for various development projects.

Technical support and assistance during development is much more involved for embedded database than in other fields of software. Database technology is complex, and requires deep technical insight to use effectively. There will be times that you need in-depth familiarity and support for a feature in the database and cannot wait for public opinion to form a consensus or figure things on your own. If you need an answer immediately, it may cost more than you expect.

Important Embedded Database Features and Characteristics

When selecting an embedded database, it is important to consider both features that are exposed to the application and how the database itself is implemented. The choice of algorithms in a particular database product has a profound impact on performance and reliability in areas such as:

Embedded Database Examples
  • Frequency of costly disk or flash media I/O operations;
  • Time required to recover from a crash or power loss;
  • Query efficiency for high capacity storage;
  • Performance impact of sharing data between tasks and other applications;
  • Relative performance of read and write operations;
  • Portability of the storage format and application code;
  • Effort required to integrate database technology into the application.

An application must also be able to tune the database behavior to meet its specific requirements. For example, in some cases every change must be persisted immediately to protect vital information from unexpected power loss. Meanwhile, maximizing overall write throughput is more important in other cases. A database that supports transaction completion modes can handle both scenarios safely and efficiently.

Key features that an embedded database can provide include:

  • Atomic transactions with configurable completion modes;
  • Concurrent shared access with multiple isolation levels;
  • Encryption, authentication, and other security capabilities;
  • Disk, memory, and hybrid storage models;
  • High availability features such as asynchronous and synchronous replication;
  • Synchronization with back-end RDBMS products.

The ITTIA Solution

ITTIA provides both the technology to store, manage, and distribute data efficiently from a device application, and the know-how to optimize queries and tune an application for best performance. Our assistance begins with a clear specification for the data access layer of an application and continues through the development process and into product deployment.

ITTIA experts have spent years to discover and design the right database features for embedded systems and devices. The ultimate goal of ITTIA is to share our accumulated experience and create database software that enables developers to anticipate the actual cost of development through all phases, define required database functionality and settings, and integrate dependable technology into deployed applications.

Selecting the best technology in the early stages of application development avoids costly design changes later. Replacing a free solution only when its limitations become apparent can significantly delay a project and increase cost unexpectedly.

Our flagship embedded database product, ITTIA DB SQL, supports all the key features that an application needs to successfully manage and distribute data. With high-throughput transaction logging, concurrency provided by row-level locking, peer-to-peer replication available both on demand and on commit, standards-compliant SQL, and AES encryption, ITTIA DB SQL is ready to meet the demands of new data-driven, connected applications.

Conclusion

ITTIA DB SQL delivers capabilities accumulated from decades of database evolution in a compact, self-managing package. Used in applications such as medical devices, industrial automation, portable data terminals, consumer electronics, network appliances, and automotive, our technology enables developers to leverage enterprise data management features on embedded systems and devices across their product lines, whatever operating systems and architectures are used.

At ITTIA, we also assist our customers to plan, design, and build applications. While they focus on unique business logic, we take the responsibility and assist in building the data management framework. Our initial involvement is to support requirements such as database behavior on specific hardware and interaction with the operating system, compiler, file system, and other tools. In this way, our customers gain a competitive edge by concentrating on their particular field of expertise.