In today’s digital world, data is everywhere, and the demands to manage data at an unprecedented scale are driving new data models to store, manage, and access data. NoSQL databases are increasingly considered a viable alternative to relational databases and offer a flexible data model with fast access to data at scale. There are several different types of NoSQL databases designed for various use cases, each providing their own distinct advantages. Application developers now have many more choices for databases to fit their needs, and it’s not uncommon to combine NoSQL and relational databases.
From a mainframe perspective, what’s been missing is a NoSQL database available and stored directly on z/OS. With the introduction of VSAMDB, DFSMS provided a new type of data format, a key:value NoSQL database, which provided the capability to store JSON data directly on z/OS.
Let’s talk a bit more about IBM’s NoSQL solution and EzNoSQL!
What is EzNoSQL?
EzNoSQL for z/OS provides a comprehensive set of C and Java based APIs that allow applications the ability to store open standard JSON objects into VSAM Key Sequence Data Sets (KSDS) with RLS. You can now easily create and access JSON key:value databases directly on z/OS!
Additionally, EzNoSQL leverages the full data sharing capabilities of IBM’s Parallel Sysplex and z/OS. EzNoSQL on z/OS also inherits many of the desired functions provided by z/OS such as in-memory caching, system-managed storage, data encryption, and compression.
The APIs:
The EzNoSQL APIs allow JSON data to be accessed with non-recoverable or recoverable consistency across a sysplex. The APIs are classified into four tiers:
· Data Management – create, destroy, disable, and report on the EzNoSQL databases.
· Connection Management – establish a connection to the EzNoSQL database or disconnect when access is no longer required.
· Document Management – write, delete, update, read, commit, and abort documents in the EzNoSQL databases.
· Document Retrieval – position within the database and sequentially brows the documents via associated indexes.
The Benefits of IBM’s Parallel Sysplex Coupling Facility:
IBM’s Parallel Sysplex Coupling Facility (CF) technology enables separate processors to share a single instance of a database without the need for data sharding, replicating updates, or programming for eventual consistency. Exploiting the Coupling Facility will also allow for less physical I/O for data – we will go into more detail on this below!
RLS Storage Hierarchy and Minimizing Physical I/O:
EzNoSQL databases are accessed via the Record Level Sharing (RLS) function on z/OS providing a 3-tiered storage hierarchy that includes:
· Local real memory buffering
· Global Coupling Facility (CF) caching
· Physical Disk Storage
When a JSON document is read from the database, we start with the local buffer pool which is searched for an existing and valid buffer that contains the desired document. If the buffer is not found, or is invalid, we move on to search the Coupling Facility cache; if the buffer is located and valid, it will be loaded into the local buffer pool. If the buffer is not found in the coupling facility cache, a physical I/O is issued to disk and optionally loaded into the coupling facility cache and local buffer pool. Note that any other sharing LPARs can avoid a physical I/O by accessing the buffer in the coupling facility cache once it is loaded there.
Why should you care?
Data is one of the most important assets to any company and many companies are moving to NoSQL databases for flexibility and fast access to data at scale. We understand our customer’s interest in a NoSQL database solution that exists on the z/OS platform that combines the benefits of NoSQL with the qualities of service provided by z/OS.
EzNoSQL is a true NoSQL solution supporting JSON documents and using z/OS technology for transactional integrity. EzNoSQL is a single collection of documents with C and Java APIs that provide a multitude of benefits:
· Requires less code.
· No data sharding.
· No need to consider/plan for eventual consistency.
· Allows for scalability without rearchitecting.
· Allows an entire sysplex of servers to access the database collection.
· Quick access to the data with minimized I/O overhead.
Getting started with EzNoSQL:
To get started with EzNoSQL, check out the EzNoSQL Documentation here!
Additionally, check out the EzNoSQL Content Solution page for more information!
Keep an eye out for our EzNoSQL Demo coming out soon!
We would love to hear your thoughts on EzNoSQL, leave a comment on this blog post, start a discussion on the DFSMS Community Page, or join the Mainframe Data Management LinkedIn group to discuss in the comments there!
Authors: