Top Downloads News Highlights
McObject wins IoT Vendor of the Year Learn more

Aurea uses McObject’s eXtremeDB® for ultra-fast analysis. Processing time cut from days to seconds.  Learn more.

McObject Shortlisted in a Second Computing Award in Just Five Months Learn more


What is a Distributed Database System?  Read the Internet of Things Agenda, Tech Target article by McObject CEO Steve Graves. 

McObject’s eXtremeDB named Outstanding Structured Database by Computing’s highly-respected Big Data Excellence Awards. Learn more

e
XtremeDB running on E8 Storage sets multiple records in STAC benchmark tests.  Read the press release

New eXtremeDB v.8.0 Financial Edition for HPC offers excellent performance and a host of new features. Read the press release

On Time Series Analysis and Big Data. Read the interview with Andrei Gorine

McObject shortlisted in Outstanding Structured Database category in Computing Big Data Excellence Awards. Read the press release.

IoT Global Awards Shortlists McObject in Two Categories. Read the press release.

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.