McObject Provides eXtremeDB Embedded DBMS for iOS Developers
September 9, 2013 — McObject®, developer of the eXtremeDB® In-Memory Database System (IMDS) and related product family, announced eXtremeDB’s immediate availability on Apple’s iOS mobile platform. In eXtremeDB, developers of applications for Apple’s fast-growing iOS software ecosystem gain a high performance database with specialized features – such as support for highly efficient location-based lookups – and a tiny “footprint” that avoids monopolizing on-device hardware resources.
“Adoption of iPhones, iPads and related Apple devices has soared past the half billion mark, driven to a large extent by consumers’ delight with the increasingly sophisticated available software. The eXtremeDB embedded database system meets the need for fast, highly efficient data management to support advanced features in iOS mobile apps,” McObject CEO Steve Graves said.
eXtremeDB for iOS evaluation software is available on McObject’s Web site for free download.
While iOS developers write their code in Objective-C – a super-set of the versatile and widely-used C programming language – most data management in iOS apps is accomplished in SQL, a database programming language with inherent performance limitations. With roots in real-time embedded software ranging from avionics to telecom/networking infrastructure devices and consumer electronics, McObject’s eXtremeDB enables iOS developers to move beyond SQL and fully leverage the potential of their development environment and of Apple’s hardware.
For example, eXtremeDB is used in millions of media players and set-top boxes worldwide to index, sort and retrieve stored content. Consumer electronics manufacturers choose eXtremeDB in part for its fast, native C/C++ API. This interface is navigational – that is, it consists of C functions embedded in the code work on the database one record at a time, navigating from record-to-record and between related record types through application logic.
In contrast, SQL provides a higher level of abstraction to programmers by separating the database access language from the physical database implementation. SQL’s abstraction is convenient, but comes at the cost of more processing overhead, plus reliance on an optimizer that will consider different ways to carry out a given command. eXtremeDB’s native API stores data in exactly the form used by the application – C/C++ data structures – eliminating conversion to SQL format for storage in SQL tables.
Mobile location-based software – a popular iOS app category – gets a boost from eXtremeDB’s support for the R-tree, a specialized database index created to handle geospatial data. McObject customers rely on the R-tree for uses ranging from mapping to tracking users’ travel via GPS, as well as discovering the number of potential friends in a given area, in a popular social networking application.
eXtremeDB is based on a core in-memory database system (IMDS) architecture that delivers performance measured in microseconds. If greater data durability is required, eXtremeDB Fusion technology enables the developer to specify persistent (on-disk) storage for selected record types. eXtremeDB’s small footprint – code size is approximately 150K – and frugal use of CPU cycles make it a “device-friendly” DBMS that avoids monopolizing hardware resources.
Additional eXtremeDB features that will appeal to iOS developers include:
- Custom collations that enable an application to provide search and other text-processing features in multiple languages
- Transaction logging and ACID (Atomic, Consistent, Isolated and Durable) transactions
- Event Notifications that enable eXtremeDB to notify the application when something “of interest” in the database changes (available in synchronous and asynchronous modes)
- Cyclic Redundancy Check (CRC), which detects unauthorized changes, and RC4 encryption to prevent tampering. Page-level CRC can be used in devices to help enforce digital rights management
- Multiple APIs – a native, navigational C/C++ API (as discussed above) and also SQL/ODBC/JDBC
- Multiple database indexes including B-trees, hash tables, KD-trees, Patricia tries and more
- Wide range of supported data types including structures, arrays, vectors and BLOBs
- Native C/C++ API is type-safe: errors in data-typing are caught at compile time, to eliminate database corruption
- Advanced debugging, including many verification traps and consistency checks in the database run-time; after debugging, the optimized version of the eXtremeDB runtime can be used, removing traps and internal checks, and restoring valuable clock cycles
- Highly portable, with support for the widest range of hardware platforms
- Available source code
A final, key eXtremeDB “feature” is its track record. McObject launched the database system more than a decade ago to meet the speed and efficiency demands of embedded and device-based applications. Today, eXtremeDB is used in millions of deployed systems from companies including DIRECTV (set-top boxes), F5 Networks (BIG-IP product family), BAE Systems (Panavia Tornado GR4 combat jet avionics), Compass-IOS (core routers), Airspan Networks (wireless broadband networking), Loewe Opta (digital TV), Kapsch Group (traffic control systems), Tradestation (securities trading) and many others.
Founded by embedded database and real-time systems experts, McObject offers proven data management technology that makes applications and devices smarter, more reliable and more cost-effective to develop and maintain. McObject counts among its customers industry leaders such as BAE Systems, Siemens, Philips, EADS, JVC, Pentair, F5 Networks, CA, Motorola and Boeing. McObject, based in Issaquah, WA, is committed to providing innovative technology and first-rate services to customers and partners. The company can be reached at +1-425-888-8505.
McObject and eXtremeDB are registered trademarks of McObject LLC. All other company or product names mentioned herein are trademarks or registered trademarks of their respective owners.