Connectors → AlloyDB
About AlloyDB
AlloyDB is a fully-managed, distributed, PostgreSQL-compatible database powered by Google for demanding transactional and analytical workloads. It provides enterprise-grade performance and availability while maintaining 100% compatibility with open-source PostgreSQL. AlloyDB uses and extends the PostgreSQL language, while also combining performance, safety, availability, and scalability features.
Currently, Google is availing AlloyDB for preview only. For more information, refer to Google Product Launch Stages.
AlloyDB Connector
Incorta loads data from an AlloyDB database using the AlloyDB connector. The AlloyDB connector uses the 42.2.1 PostgreSQL driver.
The Incorta AlloyDB connector is available for preview only.
The AlloyDB connector supports the following Incorta-specific functionality:
Feature | Supported |
---|---|
Chunking | |
Data Agent | ✔ |
Encryption at Ingest | |
Incremental Load | ✔ |
Multi-Source | ✔ |
OAuth | |
Performance Optimized | ✔ |
Remote | |
Single-Source | ✔ |
Spark Extraction | |
Webhook Callbacks | ✔ |
Steps to connect AlloyDB and Incorta
To connect AlloyDB and Incorta, here are the high-level steps, tools, and procedures:
- Create an external data source
- Create a schema with the Schema Wizard
- or, Create a schema with the Schema Designer
- Load the schema
- Explore the schema
Create an external data source
Here are the steps to create an external data source with the AlloyDB connector:
- Sign in to the Incorta Direct Data Platform.
- In the Navigation bar, select Data.
- In the Action bar, select + New → Add Data Source.
- In the Choose a Data Source dialog, in Database, select AlloyDB.
- In the New Data Source dialog, specify the applicable connector properties
- To test, select Test Connection.
- Select Ok to save your changes.
AlloyDB connector properties
Here are the properties for the AlloyDB connector:
Property | Control | Description |
---|---|---|
Data Source Name | text box | Enter the name of the data source |
Username | text box | Enter the database username |
Password | text box | Enter the database password |
Connection Pool | text box | Enter the connection pool. The default is 30. |
Connection String | text box | Enter the connection string for the PostgreSQL JDBC driver. The format is: jdbc:postgresql://<HOST>:<PORT>/<DATABASE_NAME> The default JDBC port for a PostgreSQL Database is: 5432 . Verify port numbers with your datasource configurations. |
Connection Properties | text box | Customized string input of key/value pair properties. See below for details on connection properties. |
Extra Options | text box | Enter supported extra options in the form of key=value . |
Use Data Agent | toggle | Enable using a data agent to securely ingest data from an external data source that is behind a firewall. For more information, please review Tools → Data Agent and Tools → Data Manager. |
Data Agent | drop down list | Enable Use Data Agent to configure this property. Select from the data agents created in the tenant, if any. |
A data agent is a service that runs on a remote host. It is also a data agent object in the Data Manager for a given tenant. An authentication file shared between the data agent object and the data agent service enables an authorized connection without using a VPN or SSH tunnel. With a data agent, you can securely extract data from one or more databases behind a firewall to an Incorta cluster. Your Incorta cluster can reside on-premises or in the cloud.
You must have the Incorta cluster enabled and configured to support the use of Data Agents. To learn more, see Concepts → Data Agent and Tools → Data Agent.
Connection Properties
The connection properties allow for customized connection to your AlloyDB database. The properties are accepted in a key/value format(example: key=value
). The 42.2.1 PostgreSQL driver determines the available connection properties. For a list of connection properties available with Incorta and an AlloyDB database refer to Configure connectivity to AlloyDB.
Create a schema with the Schema Wizard
Here are the steps to create an AlloyDB schema with the Schema Wizard:
- Sign in to the Incorta Direct Data Platform.
- In the Navigation bar, select Schema.
- In the Action bar, select + New → Schema Wizard.
- In (1) Choose a Source, specify the following:
- For Enter a name, enter the schema name.
- For Select a Datasource, select the AlloyDB external data source.
- Optionally create a description.
- In the Schema Wizard footer, select Next.
- In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
- In the Schema Wizard footer, select Next.
- In (3) Finalize, in the Schema Wizard footer, select Create Schema.
Create a schema with the Schema Designer
Here are the steps to create an AlloyDB schema using the Schema Designer:
- Sign in to the Incorta Direct Data Platform.
- In the Navigation bar, select Schema.
- In the Action bar, select + New → Create Schema.
- In Name, specify the schema name and select Save.
- In Start adding tables to your schema, select SQL Database.
- In the Data Source dialog, specify the AlloyDB table data source properties.
- Select Add.
- In the Table Editor, in the Table Summary section, enter the table name.
- To save your changes, select Done in the Action bar.
AlloyDB table data source properties
For a schema table in Incorta, you can define the following AlloyDB-specific data source properties as follows:
Property | Control | Description |
---|---|---|
Type | drop down list | Default is SQL Database |
Data Source | drop down list | Select the AlloyDB external data source |
Incremental | toggle | Enable the incremental load configuration for the schema table. See incremental load. |
Fetch Size | text box | Used for performance improvement, fetch size defines the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000. |
Query | text box | Enter the SQL query to retrieve data from the AlloyDB database |
Update Query | text box | Define the SQL update query to use during an incremental load. (Visible when Incremental is enabled) |
Incremental Field Type | drop down list | Select what the format of the incremental field type is: Timestamp, Unix Epoch (seconds), or Unix Epoch (milliseconds). (Visible when Incremental is enabled) |
Callback | toggle | Turn this option on to enable the Callback URL field |
Callback URL | text box | This property appears when the Callback toggle is turned on. Specify the URL. (Visible when Callback is enabled) |
View the schema diagram with the Schema Diagram Viewer
Here are the steps to view the schema diagram using the Schema Diagram Viewer:
- Sign in to the Incorta Direct Data Platform.
- In the Navigation bar, select Schema.
- In the list of schemas, select the AlloyDB schema.
- In the Schema Designer, in the Action bar, select Diagram.
Load the schema
Here are the steps to perform a Full Load of the AlloyDB schema using the Schema Designer:
- Sign in to the Incorta Direct Data Platform.
- In the Navigation bar, select Schema.
- In the list of schemas, select the AlloyDB schema.
- In the Schema Designer, in the Action bar, select Load → Full Load.
- To review the load status, in Last Load Status, select the date.
Explore the schema
With the full load of the AlloyDB schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.
To open the Analyzer from the schema, follow these steps:
- In the Navigation bar, select Schema.
- In the Schema Manager, in the List view, select the AlloyDB schema.
- In the Schema Designer, in the Action bar, select Explore Data.
Additional Considerations
Incremental Load
You can enable one type of incremental load for an AlloyDB table data source.
Last Successful Extract Time: Fetch updates since the last time the tables were loaded. Determined by the difference between the current time and the database timestamp.
Changing to or from the incremental load strategy requires a full load to ensure data integrity.
Incremental Load Example
In this example, the invoices
table must contain a column of the type Date or Timestamp in order to load the table incrementally with a last successful extract time strategy. In this case, the name of the date column is ModifiedDate and the format of the column is Timestamp.
Here are the data source property values for this scenario:
- Incremental is enabled
- Query contains
SELECT * FROM invoices
- Update Query contains
SELECT * FROM invoices WHERE ModifiedDate > ?
?
is a variable in the update query that contains the last schema refresh date.
- Incremental Field Type = Timestamp
Incorta replaces the ?
reference character with a value.
Valid Query Types
When creating a query for your AlloyDB Connector only SELECT
statements are valid.