DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Data Engineering
  3. Databases
  4. New .NET Interface for In-Memory Database System Leverages C# Language's Reflection and Attributes

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

Ted Kenney user avatar by
Ted Kenney
·
Apr. 27, 11 · News
Like (0)
Save
Tweet
Share
4.58K Views

Join the DZone community and get the full member experience.

Join For Free

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.

Database In-memory database Interface (computing) Attribute (computing) application Leverage (statistics) Java Native Interface API Schema

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How to Secure Your CI/CD Pipeline
  • Top 5 Java REST API Frameworks
  • Stream Processing vs. Batch Processing: What to Know
  • What Was the Question Again, ChatGPT?

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: