Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

New .NET Interface for In-Memory Database System Leverages C# Language's Reflection and Attributes

DZone's Guide to

New .NET Interface for In-Memory Database System Leverages C# Language's Reflection and Attributes

· Database Zone
Free Resource

Read why times series is the fastest growing database category.

McObject has released a C#/.NET Framework application programming interface (API) for its eXtremeDB In-Memory Database System (IMDS) and related product family. The new API streamlines Windows software creation by enabling developers to work naturally with eXtremeDB entirely within C#’s object-oriented domain, while delivering the speed and efficiency of a database runtime that executes in compiled C code.

When using the C# API for eXtremeDB, there is no external database definition, and no requirement to compile a database schema. Instead, the API relies on C#’s reflection capability to discover database classes and their fields that are defined in the application, in the class definition syntax. 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. The C# interface is a port of a Java Native Interface (JNI) that was earlier released for eXtremeDB and described in detail on DZone JavaLobby in an article titled Java Annotations and Reflection: Powerful Building Blocks for a DBMS Interface.

For C# developers, eXtremeDB’s performance advantage stems from its streamlined architecture that manages data entirely in main memory and within the application’s address space, eliminating file I/O, cache management, inter-process communication and other overhead found in database systems that incorporate disk storage and/or a client-server architecture. The resulting minimal latency has driven eXtremeDB’s adoption in performance-intensive applications ranging from telecom call routing and combat jet avionics, to securities trading platforms and social network news feeds.

 

The reflection capability in C# is used to discover database classes and their fields that are defined in the application, via class definition syntax.

 

 

With the eXtremeDB C# API, C# class definitions use attributes (defined by brackets) to indicate a database characteristic.

Learn how to get 20x more performance than Elastic by moving to a Time Series database.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}