Select Page

SQL Interface

eXtremeSQL database interface is a high-performance implementation of the SQL database programming language for eXtremeDB.

Evaluate free trial software

The eXtremeDB SQL Database Interface

McObject’s eXtremeSQL database interface is a high-performance implementation of the SQL language for eXtremeDB.  eXtremeDB combined with eXtremeSQL is an ideal solution for application development in fields where reliable responsiveness is a must and SQL is the dominant database language.

eXtremeDB with eXtremeSQL can be used as a persistent SQL database, an in-memory SQL database, and as a client/server or embedded database system. 

xSQL

eXtremeSQL can also be used with the provided xSQL program, as a powerful and highly flexible database server and client that can manage local, remote, and distributed eXtremeDB databases.  xSQL is fully configurable through a simple text-based (JSON) configuration file, and can execute SQL statements interactively or via batch scripts. In addition, xSQL supports a variety of commands that exercise eXtremeDB features such as online/incremental backup and restore, performance monitoring and diagnostics, and more. Because xSQL can operate as both a database server and as a client, it provides access to the full breadth of eXtremeDB’s capabilities, without coding.

U

Learn more about xSQL in our online documentation

U
Incremental backup automatically detects the changes in a database, and only backs those up, speeding up that process.
Z

eXtremeDB is a flexible database for embedded and client/server

screen shot of the eXtremeDB xPanel xSQL configuration

The benefits of using eXtremeSQL

eXtremeDB High Availability offers 99.999% uptime for systems that can’t afford to fail

$

Pipeline data with a eXtremeDB’s rich library of vector-based statistical functions.

eXtremeSQL and time series data

eXtremeDB Active Replication Fabric offers reliable data management for IoT by solving 5 challenges for IoT system developers

eXtremeSQL Embedded

The image below depicts eXtremeSQL used as an embedded SQL engine. The libraries are linked with the application; there is no separation between database server and database client. Inter-process communication and associated latency are eliminated.

U

Learn more eXtremeDB SQL APIs

Z

eXtremeDB features to maximize reliability

The in-memory database solution for resource-constrained embedded systems

eXtremeDB offers support on all platforms from edge to cloud.  Get started with free trial software.

eXtremeSQL in-memory SQL database

Embedded

eXtremeSQL in-memory SQL database

Embedded

U

Learn more eXtremeDB SQL APIs

Z

eXtremeDB features to maximize reliability

The in-memory database solution for resource-constrained embedded systems

eXtremeDB offers support on all platforms from edge to cloud.  Get started with free trial software.

eXtremeSQL Client/Server

The image below depicts eXtremeSQL used in client/server mode.  The provided xSQL operates as the database server and as one of the clients. Other clients are created in C/C++/C#, Java, Python, etc., either with direct access to the server or through JDBC or ODBC.

eXtremeSQL in-memory SQL database used in client/server mode

Client/Server

Row and columnar data layout can be combined in hybrid data designs (so called HTAP, “Hybrid Transactional and Analytical”) to optimize performance managing mixed data.

$

Pipeline data with a eXtremeDB’s rich library of vector-based statistical functions.

Learn about eXtremeDB for Big Data and Analytics

eXtremeSQL and time series data

eXtremeSQL offers a graphical dashboard for real-time database configuration.

h

Read the TabbFORUM article Is SQL Fast Enough for Tick Data? by McObject CEO and co-founder Steve Graves

eXtremeSQL as a distributed database system

The image below illustrates eXtremeSQL used as a distributed database system. The database is partitioned horizontally (a subset of each tables’ rows are stored in each shard). Each shard has two replicas maintained by eXtremeDB High Availability. Shard 1 and Shard 2 are presented as a single logical database to the client application. Queries are distributed by eXtremeSQL to one node in each shard (which may be the master or one of the two replicas), which are executed in parallel at each shard.

The Distributed SQL Engine collects the partial result set from each shard, merges them, and presents a single result set to the client application. Shards/nodes can exist all on one system (to take advantage of the processing power of multiple cores) and/or distributed to many servers to also take advantage of parallel I/O (i.e. if each shard has its own storage system).

eXtremeDB offers elastic scalability via sharding

A combination of row-based and column-based layouts allows eXtremeDB to leverage the CPU cache speed.

Many database systems include one or two of the features mentioned so far, but you’d be hard-pressed to find all of them in one database system, and solutions offering some of these features may also lack “real” database capabilities such as ACID transactions. eXtremeDB offers all of them plus a rich assortment of additional development and run-time features (our key features list is a good place to see the breadth of eXtremeDB’s capabilities).