Top Downloads News Highlights

ViaSat Selects eXtremeDB from McObject to Optimize Metrics Data from its Satellite Ground Network. Read the press release.

McObject’s new eXtremeDB® v.7.1 offers better speed, enhanced security and greater flexibility. Learn more.

Read "Industrial Internet of Things (IIoT) Database Usage in Rail Systems" Insight.Tech.com eXtremeDB
 goes Rolling into the Fog

"2016 TOP STORIES: Gartner's 19 In Memory Databases for Big Data Analytics" Find 
eXtremeDB on Gartner's independent list.

Read the ODBMS.org article, "On the Challenges and Opportunities of the IoT, Interview with Steve Graves".
 

Listen to the free "Scaling IoT Applications Panel Discussion Part II - Industry Examples and Architecture" Webcast.

e
XtremeDB Financial Edition DBMS sweeps records in Big Data benchmark. Get details.

Printable Version

eXtremeDB native C# interface delivers the fastest database in C#/.NET

Download the eXtremeDB C# Native Interface data sheet (PDF)

McObject provides a native C# application programming interface (API) for the eXtremeDB database system, offering the fastest possible DBMS solution in C#/.NET. The C# API reduces development time and accelerates run-time performance in both embedded applications and real-time enterprise systems such as finance, e-commerce, and social networks.

For organizations already using C# and .NET, eXtremeDB and its C# API deliver the speed of compiled C/C++ for performance-intensive data sorting, storage and retrieval tasks, with the convenience of using a familiar language. eXtremeDB's breakthrough performance stems from a streamlined architecture that manages data entirely in main memory, eliminating file I/O, cache management and other overhead found in database systems that incorporate disk storage.

Native C# Interface Adds LINQ Support


As an added benefit, eXtremeDB's native C# API includes support for Language Integrated Query (LINQ), a Microsoft .NET Framework component that adds SQL-like data querying capabilities to .NET languages. In LINQ, developers using the eXtremeDB C# interface have a succinct, extensible and increasingly popular approach to database querying, with additional benefits including protection against software bugs caused by data-typing errors.

C# Objects and Simplified Programming


With the eXtremeDB native C# interface, developers work with the real-time database entirely from within the C# programming language. There is no external database definition, and no requirement to compile a database schema.

Instead, the interface uses C#'s reflection capability to discover database classes and their fields that are defined in the application, via class definition syntax (see Figures 1 and 2). This streamlines coding, and the developer's experience is one of working with "plain old" C# objects.

Optionally, the C# class definitions can be used to generate a schema that, in turn, can be processed by McObject’s schema compiler, so that C/C++ and C# programs can use the same database.


Figure 1.



Figure 2. eXtremeDB's native C# API uses C# reflection to discover classes, their fields and other characteristics at run-time.

C# Databases & Performance


What are the database options in C# when an application calls for the highest possible responsiveness? While not an exhaustive list of options, consider:

SQL relational database management systems - SQL RDBMSs' biggest drawback with C# is the "impedance mismatch" that occurs when going between relational structures and SQL (a set-oriented database access language), on one end, and the object-oriented C# language, on the other. The need to "map" between object and relational technologies consumes CPU cycles and hurts performance.

"Pure" C# databases systems -- Embedded object-oriented databases written in C# deliver improved performance by eliminating impedance mismatch. However, as a language that is interpreted at run-time, C#'s performance can't compete with compiled C and C++, and this limitation binds all-C# databases.

eXtremeDB w/ native C# API - eXtremeDB's native C# interface uses the C# class definitions to define the database schema. Since it relies on the programming language’s own syntax, there is (by definition) no impedance mismatch. Database sorting, retrieval and storage take place in fast, compiled C code rather than C#.

Importantly, eXtremeDB with its native C# interface also offers the many performance-enhancing features of the eXtremeDB embedded database, including its core in-memory architecture, support for multiple indexes and data types, direct data access, and more.

Availability


The Native C# interface is included in the eXtremeDB In-Memory Database System and eXtremeDB Fusion download packages for Windows. Contact McObject to learn about availability with other eXtremeDB editions.