Full SQL transformations vs SMTs. Native Iceberg support vs connector configuration. See why teams are switching to Laminar.
Joins, aggregations, windowing. SMTs only support simple transforms.
Built-in Iceberg writer with compaction. No connector configuration.
Automatic schema handling. No Schema Registry required.
SQL pipelines vs JSON connector configs. Easier to read and maintain.
Compare how you define a Kafka to Iceberg pipeline in each system.
{
"name": "iceberg-sink",
"config": {
"connector.class": "io.tabular.iceberg.connect.IcebergSinkConnector",
"tasks.max": "2",
"topics": "orders",
"iceberg.tables": "db.orders",
"iceberg.catalog.type": "glue",
"iceberg.catalog.warehouse": "s3://bucket/warehouse",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "io.confluent.connect.avro.AvroConverter",
"value.converter.schema.registry.url": "http://schema-registry:8081",
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value"
}
}+ Schema Registry + Connect cluster + Connector JAR
1-- CDC Pipeline: PostgreSQL to Iceberg2CREATE SOURCE postgres_cdc FROM POSTGRES3 WITH (4 host = 'db.example.com',5 port = 5432,6 database = 'orders',7 slot_name = 'laminar_slot'8 );9 10CREATE SINK iceberg_orders INTO ICEBERG11 WITH (12 catalog = 'glue',13 database = 'analytics',14 table = 'orders'15 )16 AS SELECT17 id,18 customer_id,19 total_amount,20 status,21 created_at,22 updated_at23 FROM postgres_cdc;Just SQL. No additional infrastructure.
Get started with Laminar in under 5 minutes
Trusted by data teams for mission-critical streaming workloads