Skip to content

Certify Antalya against AWS Glue catalog with Iceberg #900

Description

@svb-alt

REST Catalog vs Glue Catalog — ClickHouse Feature Comparison

Inspired by https://github.com/apache/iceberg-go

Feature REST Glue PR Notes
Read Operations
Load Table X X REST: ClickHouse#71542; Glue: ClickHouse#77257
List Tables X X REST: ClickHouse#71542; Glue: ClickHouse#77257
Check Table Exists X X REST: ClickHouse#71542; Glue: ClickHouse#77257
Check If Empty X X REST: ClickHouse#71542; Glue: ClickHouse#77257; reworked in ClickHouse#94690; REST fix ClickHouse#106301; Altinity: #2124 (skip empty namespaces)
Write Operations
Create Table X X REST: ClickHouse#84684; Glue: ClickHouse#84136
Create Namespace X X REST: ClickHouse#84684; Glue: ClickHouse#84136
Update Metadata (new snapshot) X X REST: ClickHouse#84684; Glue: ClickHouse#84136 REST is transactional; Glue is pointer-overwrite
Update Schema (ALTER TABLE) X X ClickHouse#85769 (schema evolution); ClickHouse#106102 (assert-current-schema-id); Altinity fixes: #2157, #2272 (Glue metadata refresh after ALTER) REST uses assert-current-schema-id; Glue does not
Drop Table X X ClickHouse#85395
Register Table - - - Neither implemented
Rename Table - - - Neither implemented
Set Table Properties (standalone) - - - Neither implemented
Drop Namespace - - - Neither implemented
Update Namespace Properties - - - Neither implemented
Transactional Safety
Optimistic Concurrency X - ClickHouse#84684; concurrent checks in ClickHouse#106102 REST uses compare-and-swap commits; Glue overwrites
Credentials
Vended Credentials X X REST: ClickHouse#71542; Glue: ClickHouse#77257; Azure fix ClickHouse#93477 Both support temporary credential vending
Credentials Refresh Callback X X REST: ClickHouse#95069; Glue: ClickHouse#105381 Re-vend on ExpiredToken
Credentials Cache with TTL X - ClickHouse#107960; Altinity 26.6 port: #2156 REST has per-table caching with configurable TTL
Auth / Identity
OAuth2 / Bearer Token X - ClickHouse#71542
Static Auth Header X - ClickHouse#71542
AWS IAM / STS - X ClickHouse#90825
OneLake (Azure AD) X - ClickHouse#89366 Via OneLakeCatalog subclass
BigLake (GCP) X - ClickHouse#97104 Via BigLakeCatalog subclass
Administration
ALTER DATABASE MODIFY SETTING X - ClickHouse#110019 (backported to 26.6) REST supports runtime credential rotation
Namespace Filtering X X Altinity: #1337 (original, 25.8); 26.6: #2146 Both support namespaces setting
Storage
S3 X X REST: ClickHouse#71542; Glue: ClickHouse#77257
Azure (ABFSS) X - ClickHouse#80013; ClickHouse#93477 REST parses ABFSS URLs; Glue hardcodes StorageType::S3
Local (file://) X - ClickHouse#71542
HDFS X - ClickHouse#71542
GCS (gs://) X - ClickHouse#97104 REST maps gs:// to S3; Glue does not
Views - - - Neither implemented
Legend: X = supported, - = not implemented, ~ = partial/implicit

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

antalyaroadmapKey features and improvements for Antalya project

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions