ODAS Overview

ODAS is a scalable, fault-tolerant distributed service for data consumers, such as analytics tools, to interact with. ODAS performs the I/O and provisions data to third-party tools after applying schema, fine-grained security, and other transformations (user-defined functions, tokenization, masking, and so forth). The data is provisioned in the form of familiar abstractions, which is either as tables or as files in formats the user may request.

Clients communicate with an ODAS cluster using the provided APIs and libraries, explained in the Planner Integration and Client Integration documentation.

Finally, the functionality provided by ODAS is extensible, as described in the Extending ODAS documentation.

ODAS Services

In order to perform its duty, ODAS is made up of the following sub-services. The more detailed Architecture Overview explains how all of the Okera Platform services work together.


This sub-service does the heavy lifting, that is, read, (optionally) transform, and deliver data from the pluggable storage layer to the clients.

The following diagram shows how a single, shared ODAS cluster is connecting the raw storage layer with the clients.

Example: Single ODAS instance

The Workers use the Okera Catalog services to apply schemas to registered datasets, as well as the role-based access control.

Deployment Options

An Okera installation can include multiple instances of ODAS running within your data environment. Some may be ephemeral, while others may be persistent. Some may be running as independent services whereas others may be co-located with the analytics framework. The deployment model depends on the performance and isolation requirements.

The following diagram shows a layout with multiple ODAS instances running, governed by a single set of Okera Catalog services.

Example: Multiple ODAS instances