Before we dive into specific native access patterns, let’s look at an overview of what native access patterns in Immuta are.
native access pattern (noun): a native integration that allows users to query data directly within the remote database with Immuta policies enforced.
Let’s break that definition down piece by piece.
Immuta does not require users to learn a new API or language to access data exposed there. Instead, Immuta plugs into existing tools and ongoing work while remaining completely invisible to downstream consumers by exposing the data through access patterns. In other words, access patterns are how a user interacts with and consumes data in Immuta. These methods of interacting with data can be divided into two broad categories: 1. the Query Engine access pattern and 2. native access patterns.
As discussed in the previous section, in the Query Engine access pattern, user queries, policies, and query results flow from the user, through the Query Engine, to the remote database, and back to the user through the Query Engine. In contrast, when Immuta is integrated with one of our native access patterns, user queries are executed directly in the remote database, circumventing the Query Engine.
No matter which access pattern a customer uses, however, Immuta policies are enforced on the data when queries are executed.
This section explores the most common native access patterns: Databricks, Snowflake, and Presto. As you explores these concepts, consider which access patterns apply to your POV.
The Data Sources section in your POV should look similar to this image.