Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,19 @@ RFCs targeting v3.2.0 are tracked under [`tsc/rfcs/`](https://github.com/bitol-i
* New `exasol` server `type` describing data served from Exasol, an in-memory MPP analytics database, with required `host` plus optional `port` (defaults to `8563`) and `schema`.
* No `database` field: an Exasol cluster runs a single database and the schema is the namespace. `host` may be a cluster connection range, e.g. `n11..14.acme.com`.
* Non-breaking: adds a new optional server type.
* **Adds** Teradata server type ([RFC 0057](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0057-teradata-server-type.md)):
* New `teradata` server `type` describing data served from Teradata Vantage, with required `host` plus optional `port` (defaults to `1025`) and `database`.
* No `schema` field: in Teradata, the database is the namespace.
* Non-breaking: adds a new optional server type.
* **Adds** Actian server types ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)):
* New `ingres` server `type` (Actian Ingres, OLTP RDBMS) with required `database` and `host` plus optional `port` (defaults to `21064`).
* New `vectorwise` server `type` (Actian Analytics Engine, columnar analytical DBMS) with required `database` and `host` plus optional `port` (defaults to `21064`).
* New `versant` server `type` (Actian NoSQL Database, object DBMS) with required `database` plus optional `host` (defaults to `localhost`) and `port` (defaults to `5019`).
* New `poet` server `type` (Actian NoSQL FastObjects, object DBMS) with required `database` plus optional `host` (defaults to `LOCAL`, the in-process embedded engine) and `port` (defaults to `6001`).
* New synonyms: `fastobjects` for `poet` and `btrieve` for `zen` — same fields, same definitions, neither original value deprecated, as `postgresql` and `postgres` already share `PostgresServer`.
* Establishes the naming convention that a server `type` value uses the name the product carried when it was created, in lowercase, since enum values are permanent and marketing names are not.
* No `schema` field on any of the four: for `ingres` and `vectorwise` the namespace is the table owner resolved from the connecting user; the two object databases have no SQL schema namespace.
* Non-breaking: adds four optional server types and two synonyms. No existing value changes meaning.
* **Changes** to Servers:
* Add optional Athena Server `workgroup` field and fix `stagingDir` to be optional in schema.

Expand Down
84 changes: 84 additions & 0 deletions docs/examples/server/actian-servers.odcs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright 2026 The Bitol Contributors
# SPDX-License-Identifier: Apache-2.0

# Demonstrates RFC-0059: the Actian server types. `ingres` (Actian Ingres) and
# `vectorwise` (Actian Analytics Engine) are SQL engines whose namespace is the
# table owner, so neither carries a `schema` field. `versant` (Actian NoSQL
# Database) and `poet` (Actian NoSQL FastObjects) are object databases whose
# classes are scoped by the database. `fastobjects` is a synonym of `poet` and
# `btrieve` is a synonym of `zen`; both spellings are valid and neither original
# value is deprecated.

version: 1.0.0
apiVersion: v3.2.0
kind: DataContract
id: 8f2c4b16-3e57-4d90-a1c8-5b7e0d2f9a64
status: active
servers:
# Actian Ingres — order-entry OLTP system of record.
- server: ingres-prod
type: ingres
description: Order-entry OLTP system of record
environment: prod
host: ingres01.acme.com
port: 21064
database: orders
roles:
- role: acme_orders_ro
access: read
- role: acme_orders_rw
access: write

# Actian Analytics Engine — columnar serving layer, non-default installation.
- server: vector-preprod
type: vectorwise
description: Columnar serving layer for the sales data product
environment: preprod
host: vector02.acme.com
port: 21164
database: sales_mart

# Actian NoSQL Database — policy administration object store.
- server: versant-prod
type: versant
description: Policy administration OLTP object store
environment: prod
host: nosql01.acme.com
port: 5019
database: policies
roles:
- role: acme_policies_ro
access: read

# Actian NoSQL FastObjects, embedded: no host, so the in-process engine.
- server: fastobjects-device
type: poet
description: On-device telemetry store
environment: dev
database: telemetry

# The same engine addressed by its `fastobjects` synonym, client/server.
- server: fastobjects-prod
type: fastobjects
description: Parts catalog for the CAD workstations
environment: prod
host: fastobjects.acme.com
port: 6001
database: parts_catalog

# Actian Zen addressed by its `btrieve` synonym.
- server: zen-prod
type: btrieve
description: Embedded inventory store
environment: prod
host: zen.acme.com
database: inventory
schema:
- name: orders
physicalType: table
properties:
- name: order_id
logicalType: string
required: true
- name: order_total
logicalType: number
25 changes: 25 additions & 0 deletions docs/examples/server/teradata-server.odcs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2026 The Bitol Contributors
# SPDX-License-Identifier: Apache-2.0

# Demonstrates RFC-0057: the `teradata` server type for Teradata Vantage, an
# enterprise data warehouse. In Teradata the database is the namespace, so there
# is no `schema` field.

version: 1.0.0
apiVersion: v3.2.0
kind: DataContract
id: 3b7d1c58-2f94-4a06-8e1b-9c5a0d4f7e23
status: active
servers:
- server: prod
type: teradata
host: teradata.acme.com
port: 1025
database: SALES
schema:
- name: sales
physicalType: table
properties:
- name: sale_id
logicalType: string
required: true
70 changes: 69 additions & 1 deletion docs/infrastructure-servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ servers:
| id | string | ID | No | A unique identifier used to reduce the risk of collisions, such as a UUID. |
| roles | array | Roles | No | List of roles that have access to the server. Check [roles](./roles.md) section for more details. |
| server | string | Server | Yes | Identifier of the server. |
| type | string | Type | Yes | Type of the server. Can be one of: api, athena, azure, bigquery, clickhouse, cloudsql, custom, databricks, db2, denodo, dremio, duckdb, exasol, glue, hive, impala, informix, kafka, kinesis, local, mysql, oracle, postgres, postgresql, presto, pubsub, redshift, s3, sftp, snowflake, sqlserver, synapse, trino, vertica, zen. |
| type | string | Type | Yes | Type of the server. Can be one of: api, athena, azure, bigquery, btrieve, clickhouse, cloudsql, custom, databricks, db2, denodo, dremio, duckdb, exasol, fastobjects, glue, hive, impala, informix, ingres, kafka, kinesis, local, mysql, oracle, poet, postgres, postgresql, presto, pubsub, redshift, s3, sftp, snowflake, sqlserver, synapse, teradata, trino, vectorwise, versant, vertica, zen. |
| customProperties | array | Custom Properties | No | Custom properties that are not part of the standard. |

## Specific Server Properties
Expand Down Expand Up @@ -235,6 +235,18 @@ An Exasol cluster runs a single database and the schema is the namespace, so the
| host | string | Host | Yes | The host to the HCL Informix and IBM Informix server. |
| port | integer | Port | No | The port to the HCL Informix and IBM Informix server. Defaults to 9088. |

### Actian Ingres

[Actian Ingres](https://www.actian.com/databases/ingres/) is an enterprise relational database for transactional (OLTP) and hybrid workloads. Added in ODCS v3.2.0 ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)).

The namespace inside an Ingres database is the table owner, resolved from the connecting user, so there is no `schema` field. `port` is derived from the Ingres installation identifier and defaults to the `II7` installation; set it explicitly when a host runs more than one installation.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | -------------------------------------------------------------------------------------------------------- |
| database | string | Database | Yes | Database name to connect to on the Ingres instance. |
| host | string | Host | Yes | Hostname or IP address of the Ingres server. |
| port | integer | Port | No | Connection port for the Ingres Data Access Server (DAS) / SQL connections. Defaults to 21064. |

### Kafka Server

[Apache Kafka](https://kafka.apache.org/) is an open-source distributed event streaming platform used for high-performance data pipelines, streaming analytics, and event-driven applications.
Expand Down Expand Up @@ -286,6 +298,20 @@ A local server describes data stored as one or more files on the local file syst
| port | integer | Port | Yes | The port to the Oracle server. |
| serviceName | string | Service Name | Yes | The name of the service. |

### Actian NoSQL FastObjects

[Actian NoSQL FastObjects](https://www.actian.com/databases/nosql/) is an object database management system (ODBMS) for embedded and client/server applications. Created as POET, renamed FastObjects in 2001. Added in ODCS v3.2.0 ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)).

The `type` value is the creation name, `poet`. `fastobjects` is an accepted synonym: same fields, same validation, neither value deprecated.

An object database has no SQL schema namespace — classes are scoped by the database — so there is no `schema` field. `LOCAL` is a literal FastObjects sentinel rather than a hostname: it selects the in-process embedded engine, so one `host` field covers both the embedded and the client/server deployment.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | ------------------------------------------------------------------------------------------------- |
| database | string | Database | Yes | Database name to connect to on the FastObjects instance. |
| host | string | Host | No | Hostname or IP address of the FastObjects server. Defaults to `LOCAL`, the embedded engine. |
| port | integer | Port | No | Connection port for FastObjects connections. Defaults to 6001. |

### PostgreSQL

[PostgreSQL](https://www.postgresql.org/) is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
Expand Down Expand Up @@ -395,6 +421,18 @@ Secure File Transfer Protocol (SFTP) is a network protocol that enables secure a
| host | string | Host | Yes | The host of the Synapse server. |
| port | integer | Port | Yes | The port of the Synapse server. |

### Teradata

[Teradata Vantage](https://www.teradata.com/) is a widely used enterprise data warehouse for large-scale analytics. Added in ODCS v3.2.0 ([RFC 0057](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0057-teradata-server-type.md)).

In Teradata, the database is the namespace, so there is no `schema` field.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | ----------------------------------------------- |
| database | string | Database | No | Name of the database. |
| host | string | Host | Yes | Host of the Teradata server. |
| port | integer | Port | No | Port of the Teradata server. Defaults to 1025. |

### Trino Server

[Trino](https://trino.io/) is an open-source distributed SQL query engine designed to query large datasets across one or more heterogeneous data sources.
Expand All @@ -406,6 +444,34 @@ Secure File Transfer Protocol (SFTP) is a network protocol that enables secure a
| port | integer | Port | Yes | The Trino port. |
| schema | string | Schema | Yes | The name of the schema in the database. |

### Actian Analytics Engine

The [Actian Analytics Engine](https://www.actian.com/databases/analytics-engine/) is a columnar analytical DBMS for high-speed SQL and big data processing. Created as VectorWise, later named Actian Vector. Added in ODCS v3.2.0 ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)).

The `type` value is the creation name, `vectorwise`. Tooling should display the Actian Analytics Engine label and write the enum value.

The namespace inside a database is the table owner, resolved from the connecting user, so there is no `schema` field. `port` is derived from the Ingres installation identifier; set it explicitly when a host runs more than one installation.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | -------------------------------------------------------------------------------------- |
| database | string | Database | Yes | Database name to connect to on the Analytics Engine server. |
| host | string | Host | Yes | Hostname or IP address of the Analytics Engine server. |
| port | integer | Port | No | Connection port for the Data Access Server (DAS) / SQL connections. Defaults to 21064. |

### Actian NoSQL Database

[Actian NoSQL Database](https://www.actian.com/databases/nosql/) is an object database management system (ODBMS) for mission-critical OLTP. Created as the Versant Object Database. Added in ODCS v3.2.0 ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)).

The `type` value is the creation name, `versant`. Tooling should display the Actian NoSQL Database label and write the enum value.

An object database has no SQL schema namespace — classes are scoped by the database — so there is no `schema` field.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | ---------------------------------------------------------------------------- |
| database | string | Database | Yes | Database name to connect to on the NoSQL Database instance. |
| host | string | Host | No | Hostname or IP address of the NoSQL Database server. Defaults to `localhost`. |
| port | integer | Port | No | Connection port for Actian NoSQL Database connections. Defaults to 5019. |

### Vertica Server

[Vertica](https://docs.vertica.com/) is a column-oriented, massively parallel processing (MPP) analytical database for large-scale data warehousing.
Expand All @@ -421,6 +487,8 @@ Secure File Transfer Protocol (SFTP) is a network protocol that enables secure a

Actian Zen (formerly Btrieve, later named Pervasive PSQL until version 13) is an ACID-compliant, zero-DBA, embedded, nano-footprint, multi-model, Multi-Platform database management system (DBMS).

Since ODCS v3.2.0 ([RFC 0059](https://github.com/bitol-io/tsc/blob/main/rfcs/approved/odcs-v3.2.0/0059-actian-server-types.md)), `btrieve` is an accepted synonym of `zen`: same fields, same validation, neither value deprecated.

| Key | Type | UX Label | Required | Description |
| -------- | ------- | -------- | -------- | -------------------------------------------------- |
| database | string | Database | Yes | Database name to connect to on the Zen server. |
Expand Down
Loading
Loading