McObject updates eXtremeDB database software

February 2, 2016 — McObject released eXtremeDB 7.0, an upgrade to its embedded database management system (DBMS) product family for the Internet of Things (IoT). Version 7 enables devices and servers within the IoT to function more efficiently, securely and autonomously, while giving developers and architects more flexibility in building the technology that comprises this vast network.

Among the improvements in eXtremeDB 7.0 is faster performance through a significant enhancement to its transaction logging capability, which provides a key tool for database recoverability on both field-based devices and server-based IoT data aggregation points. Previous eXtremeDB versions enabled just one application process at a time to obtain information about transactions, such as confirming their success or failure, and this could result in a bottleneck. The upgraded software allows multiple processes to read data from the transaction logging mechanism in parallel, which accelerates application speed.

eXtremeDB supports key tasks in both the embedded software of field-deployed devices, and on the servers that function as the IoT’s data aggregation and control points. It is used widely on devices – ranging from set-top boxes to communications gear, defense technology and industrial controllers – because of its minimal hardware demands, real-time responsiveness, fault-tolerance, zero-administration operation and support for heterogeneous platforms. For server-based analytics, eXtremeDB provides high scalability through features including distributed query processing and database clustering, and the speed of a proven in-memory database system (IMDS) design along with persistent storage capabilities.

With personal and business data increasingly stored on both IoT devices and servers, security has become a major concern. eXtremeDB 7.0 addresses this by incorporating Secure Sockets Layer (SSL), a standard security technology that creates an encrypted link between two end points. This supplements the DBMS’s existing security mechanisms, which include RC4 encryption to prevent access or tampering, and Cyclic Redundancy Check (CRC) on the database page level to detect unauthorized access.

Organizations can manage hundreds or even thousands of devices on the Internet of Things, making it critical that these nodes operate autonomously and reliably. New features in eXtremeDB 7.0 support this goal. For example, the upgrade extends the ability to modify database designs while the database system continues running, eliminating downtime. Another new capability enables developers to specify the maximum number of rows a table can contain, or the maximum amount of time a row is valid, so that when a new row is added, an older/expired one is removed. This helps prevent out-of-control growth in stored data that can overwhelm a device’s hardware resources, or retaining stale data. Usage examples on the Internet of Things include set-top box embedded software that sets a maximum time-to-live on rows. For example, a 14-day program guide would assign a time to live of 1,209,600 seconds (14 X 24 X 60 X 60).

The Internet of Things incorporates a highly diverse set of devices. Its builders (organizations and developers) have an easier job when they can choose from a wide variety of hardware and OS platforms, and bring together diverse existing applications and systems to share resources. In version 7.0, eXtremeDB meets these needs with support for heterogeneous platforms in distributed eXtremeDB deployments using the product’s clustering and high availability capabilities. The new release also broadens support for software on a mix of client platforms accessing a database that utilizes transaction logging.

Embedded systems (including those deployed on networked devices) tend to be developed in low-level programming languages such as C and C++. In contrast, the server-based applications that monitor and control the Internet of Things (including aggregating and analyzing data gathered from devices) are typically written in SQL, a database programming language that affords a high level of developer productivity. eXtremeDB’s roots are in C/C++ and embedded systems, but version 7.0 significantly improves its SQL implementation, with improvements including upgrades to its ODBC driver; better utilization of multi-core processors; and added support for many new SQL commands.