About the HCL OneDB JSON compatibility

You can access and combine relational and JSON data into a single application by using the HCL OneDB™ JSON compatibility features.

Applications that rely on JSON data can interact with the relational and non-relational data that is stored in HCL OneDB databases by using the wire listener or the REST API. The HCL OneDB database server also provides built-in JSON and BSON (binary JSON) data types.

The JSON document format provides a way to transfer object information in a way that is language neutral, similar to XML. Language-neutral data transmission is a requirement for working in a web application environment, where data comes from various sources and software is written in various languages. With HCL OneDB, you can choose which parts of your application data are better suited to unstructured, non-relational storage, and which parts are better suited in a traditional relational framework.

You have the following options for accessing relational tables, including time series tables, and JSON collections:

SQL API
You can insert, update, and query data relational tables through the SQL language and standard ODBC, JDBC, .NET, OData, and other clients.
You can access JSON collections through direct SQL access and the JDBC driver. You can use the SQL BSON processing functions to convert JSON collections to relational data types for use with ODBC, .NET, OData, and other clients.

For more information about accessing JSON data through SQL statements, see BSON and JSON built-in opaque data types and Manipulate BSON data with SQL statements.

MongoDB API
You can insert, update, and query data in relational tables and JSON collections through MongoDB APIs for Java™, JavaScript™, C++, C#, Python, and other clients.
For more information, see MongoDB API.
REST API
You can insert, update, and query data relational tables and JSON collections through the driverless REST API. You can run command documents that include MongoDB API commands or SQL queries. You can use the REST API to load time series data from sensor devices.
For more information, see the HCL OneDB REST API Guide.
You can enable dynamic scaling and high-availability for data-intensive applications by taking the following steps:
  • Define a sharded cluster to easily add or remove servers as your requirements change.
  • Use shard keys to distribute subsets of data across multiple servers in a sharded cluster.
  • Query servers in a sharded cluster and return the consolidated results to the client application.
  • Use secondary servers (similar to subordinates in MongoDB) in the sharded cluster to maximize availability and throughput. Secondary servers also have update capability.

You can choose to authenticate users through the wire listener or in the database server.

The following illustration shows the architecture of the wire listener and the database server.


Graphic shows the flow of data between HCL OneDB BSON storage and the MongoDB API.