Presto 0.288+
Distributed SQL query engine with REST/Nessie catalogs, row-level DELETE, time travel, and configurable MoR/CoW modes for interactive analytics
Key Features
Comprehensive Catalog Support
Hive Metastore, AWS Glue, REST/Nessie (0.277+ with OAuth2), Hadoop (file-based); JDBC possible via same properties
Dual Engine Architecture
Java: full read/write with INSERT, CTAS, DELETE. C++ (Velox): high-performance read-only execution with same read path capabilities
Evolving DML Capabilities
INSERT, CTAS, DELETE (row-level, partition) available; UPDATE experimental; MERGE not yet supported. C++ engine has no DML
Configurable Storage Strategy
Table props write.delete.mode/write.update.mode choose COPY_ON_WRITE or MERGE_ON_READ; readers honor MoR with enable-merge-on-read-mode=true
No Streaming Support
No streaming capabilities - batch queries only; external engines handle CDC and streaming ingestion
Format V3 Roadmap
Roadmap: read Deletion Vectors & Row Lineage after Iceberg 1.8 libraries land; write DV planned post-0.295. Currently supports v1/v2 only
Advanced Time Travel
AS OF TIMESTAMP / @snapshot_id=... syntax (0.282+). Snapshot procedures: rollback, expire, remove orphan files
Rich Metadata Ecosystem
Add/drop/rename/widen columns; $snapshots, $history, $manifests, $partitions, $files, $entries, $refs, $properties, $changelog metadata tables
Enterprise Security
Relies on Hive/Glue/Nessie ACLs; Presto logs for audit; iceberg.security configuration for authorization
Performance Optimizations
In-memory manifest cache (0.282+); Parquet/ORC footer cache; dynamic filtering; split-thread tuning; optional Alluxio/file-stripe cache
Presto Iceberg Feature Matrix
Comprehensive breakdown of Iceberg capabilities in Presto 0.288+
Dimension | Support Level | Implementation Details | Since Version |
---|---|---|---|
Catalog Types | FullREST/Nessie + OAuth2 | Hive Metastore, AWS Glue, REST/Nessie (OAuth2), Hadoop file-based, JDBC via properties | 0.277+ |
SQL Analytics | PartialJava Full, C++ Read | Java: full read/write (INSERT, CTAS, DELETE); C++ (Velox): read-only high performance | 0.277+ |
DML Operations | PartialDELETE ✓ UPDATE ⚠️ MERGE ✗ | INSERT, CTAS, DELETE available; UPDATE experimental; MERGE not yet supported | 0.277+ |
Storage Strategy | FullConfigurable | Table-level write.delete.mode/write.update.mode control; MoR reader optimization | 0.277+ |
Streaming Support | NoneBatch Only | No streaming capabilities; batch queries only; external engines handle CDC | N/A |
Format Support | Limitedv1/v2 Only | v1/v2 support; v3 roadmap: read DV/lineage post-1.8, write DV post-0.295 | 0.277+ |
Time Travel | FullAS OF Syntax | AS OF TIMESTAMP/@snapshot_id syntax; snapshot procedures (rollback, expire, cleanup) | 0.282+ |
Schema Evolution | FullRich Metadata | Add/drop/rename/widen columns; $snapshots, $history, $manifests, $changelog tables | 0.277+ |
Security & Governance | FullCatalog ACLs | Hive/Glue/Nessie ACLs integration; Presto audit logs; iceberg.security config | 0.277+ |
Performance Features | FullMulti-layer Cache | Manifest cache (0.282+), footer cache, dynamic filtering, optional Alluxio/stripe cache | 0.282+ |
Engine Variants | DualJava + C++ (Velox) | Java: full capabilities; C++ (Velox): high-performance reads with same optimizations | 0.277+ |
Known Limitations | MinorMERGE Missing | No MERGE; UPDATE experimental; C++ read-only; limited cost-based optimization | 0.277+ |
Showing 12 entries
Use Cases
Interactive Data Analytics
High-performance interactive queries on Iceberg data lakes
- Business intelligence and dashboard queries
- Ad-hoc data exploration and analysis
- Interactive reporting with time travel
- Complex analytical queries with joins
Multi-Catalog Data Federation
Unified access across diverse catalog systems
- Cross-catalog analytical queries
- REST/Nessie catalog integration
- Hybrid cloud data lake access
- Legacy Hive to modern catalog migration
Data Modification Workflows
Row-level data corrections and maintenance
- Data quality correction workflows
- GDPR compliance data deletion
- Partition-level data maintenance
- Append-heavy workloads with corrections
Performance-Critical Analytics
High-performance deployments with advanced optimization
- Large-scale analytical workloads requiring caching
- C++ (Velox) deployments for read-heavy workloads
- Performance-tuned environments with Alluxio
- Complex queries requiring advanced optimization
Resources & Documentation
Official Documentation
Complete API reference and guides
Getting Started Guide
Quick start tutorials and examples
Iceberg Connector Documentation
Documentation
Presto 0.288 Release
Documentation
Time Travel Guide
Documentation
MERGE INTO Support Tracking
Documentation
Performance Newsletter
Documentation
Metadata Cache Discussion
Documentation
Caching Performance Demo
Documentation
Presto C++ Limitations
Documentation