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.
- 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.
- 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.
- 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.