Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 105
  1. Table of Contents Write Support Query Evaluation: Bloom Filters and Dictionary-Based Row-Group Pruning Performance Improvements Hardwood CLI Closing Thoughts "When is write support gonna land in Hardwood?"

  2. Table of Contents Parquet’s Dremel Encoding Reading Effectively-Fixed-Length Lists Faster Performance Gains Summary In its current form Apache Parquet isn’t a great fit for storing fixed-length lists, such as coordinates, RGB(A) colors, or—an increasingly…

  3. Table of Contents Why Hardwood What’s in Hardwood 1.0 Performance The Hardwood CLI Building Open-Source With AI A Big Thank You What’s Ahead Hardwood is a new Parquet library for the JVM, written from scratch to do one thing well: read (and soon, write) A…

  4. Table of Contents Reworked ColumnReader API Geospatial Support Documentation Overhaul Further Fixes and Improvements I am happy to announce the release of Hardwood 1.0.0.CR1!

  5. Podcasts and Interviews

    I had the pleasure to do a few podcasts and interviews, e.g. talking about Debezium, change data capture, stream processing, my career, and software engineering in general.

  6. Conferences

    Table of Contents 2026 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2013 This page gives an overview over some talks I have done over the last years.

  7. Table of Contents VARIANT Support Hardwood CLI TUI Unified Reader API Performance Improvements Wrapping Up I am happy to announce the release of Hardwood 1.0.0.Beta2!

  8. Table of Contents S3 Backend Predicate Push-Down Avro Bindings hardwood-cli Wrapping Up I am pleased to announce the release of Hardwood 1.0.0.Beta1!

  9. Projects

    I have contributed to a wide range of open-source projects over the last years.

  10. Table of Contents Why Hardwood?

  11. Table of Contents Materialized Views Embracing Data Duplication Streams for machines, tables for humans Historically, data management systems have been built around the notion of pull queries: users query data which, for instance, is stored in tables in an

  12. On Idempotency Keys

    Table of Contents UUIDs Monotonically Increasing Sequences Deriving Idempotency Keys From the Transaction Log Discussion In distributed systems, there’s a common understanding that it is not possible to guarantee exactly-once delivery of messages.

  13. Table of Contents Hello Persistasaurus!

  14. Looking to make it to the front page of HackerNews?

  15. Table of Contents ZGC Allocation Stalls Summary In the "Let’s Take a Look at…!"

  16. Table of Contents confirmed_flush_sn: Tracking Consumer Progress restart_lsn: Handling Concurrent Transactions Mid-Transaction Recovery Looking Forward: Streaming In-Progress Transactions Replication slots in Postgres keep track of how far consumers have…

  17. This post explores how virtual threads in Java 21+ provide an elegant solution for converting legacy Future objects into CompletableFuture instances.

  18. Table of Contents Use the pgoutput Logical Decoding Output Plug-in Define a Maximum Replication Slot Size Enable Heartbeats Use Table-level Publications Use Column and Row Filters Enable Fail-Over Slots Consider Using Replica Identity FULL Monitor, Monito…

  19. How I Use (and Don't Use) AI

    Table of Contents What I Use AI For What I Do Not Use AI For When you read a post on this site, you can be sure it is an original article, written by a human: me.

  20. Table of Contents Agents Need to Interact With LLMs Agents Should Be Event-Driven Agents Need Context Agents Require Memory When SQL Is Not Enough Parting Thoughts AI Agents have improved in leaps and bounds in recent times, moving beyond simple chatbots…

  21. Table of Contents Debezium Reselect Postprocessor Flink DataStream API Flink SQL With OVER Aggregation Flink Process Table Functions Summary and Discussion Postgres logical replication, while powerful for capturing real-time data changes, presents challen…

  22. Often times, "Stream vs.

  23. About Me

    Table of Contents Speaker Information 🇬🇧 English 🇩🇪 Deutsch I am an open-source software engineer in the Java and data streaming space.

  24. The last few days I spent some time digging into the recently announced KIP-1150 ("Diskless Kafka"), as well AutoMQ’s Kafka fork, tightly integrating Apache Kafka and object storage, such as S3.

  25. Table of Contents Flink SQL Connectors for Apache Kafka The Apache Kafka SQL Connector in Append-Only Mode The Apache Kafka SQL Connector As a Changelog Source The Upsert Kafka SQL Connector Summary Over the years, I’ve spoken quite a bit about the use ca…

  26. Table of Contents KIP-974: Docker Image for GraalVM based Native Kafka Broker With help of the GraalVM configuration developed for KIP-974 (Docker Image for GraalVM based Native Kafka Broker), you can easily build a self-contained native binary for Apache…

  27. Table of Contents Building an AOT Cache for Apache Kafka AOT Caching With Apache Flink Summary In the "Let’s Take a Look at…!"

  28. The Synchrony Budget

    For building a system of distributed services, one concept I think is very valuable to keep in mind is what I call the synchrony budget: as much as possible, a service should minimize the number of synchronous requests which it makes to other services.

  29. Table of Contents Towards Queue Support in Kafka—Introducing Share Groups Share Groups in Action Retry Behavior and State Management Share Group State Persistence Summary and Outlook In the "Let’s Take a Look at…!"

  30. Table of Contents Fault Tolerance and High Availability Manually Triggering Savepoints Observability Bonus: Managing Flink Jobs With the Heimdall UI Summary and Discussion This post originally appeared on the Decodable blog.

  31. Table of Contents Installation and Setup Deployment Types Deploying Your First Flink Job on Kubernetes Building Custom Job Images This post originally appeared on the Decodable blog.

  32. Table of Contents Hello, Failover Slots!

  33. If you are following the news around Debezium—an open-source platform for Change Data Capture (CDC) for a variety of databases—you may have seen the announcement that the project is in the process of moving to the Commonhaus Foundation.

  34. Every now and then, it can come in very handy to build OpenJDK from source yourself, for instance if you want to explore a feature which is under development on a branch for which no builds are published.

  35. Table of Contents Recap: What’s The Outbox Pattern?

  36. During and after my time as the lead of Debezium, a widely used open-source platform for Change Data Capture (CDC) for a variety of database, I got repeatedly asked whether I’d be interested in creating a company around CDC.

  37. Table of Contents Creating Instances Configuring SSH Provisioning Software Try It Out Yourself Whenever I’ve need a Linux box for some testing or experimentation, or projects like the One Billion Row Challenge a few months back, my go-to solution is Hetzn…

  38. Table of Contents The Algorithm Obtaining the Lock Expiring a Lock Lock Validity Fencing Off Zombies In distributed systems, for instance when scaling out some workload to multiple compute nodes, it is a common requirement to select a leader for performing

  39. In my day job at Decodable, I am currently working with Terraform to provision some cloud infrastructure for an upcoming hands-on lab.

  40. A Zipping Gatherer

    The other day, I was looking for means of zipping two Java streams: connecting them element by element—essentially a join based on stream offset position—and emitting an output stream with the results.

  41. Table of Contents Full Events Delta Events Id-only Events Change Event Metadata Comparison This post originally appeared on the Decodable blog.

  42. In many applications it’s a requirement to keep track of when a record was created and updated the last time.

  43. Recently I ran into a situation where it was necessary to capture the output of a Java process on the stdout stream, and at the same time a filtered subset of the output in a log file.

  44. 1BRC—The Results Are In!

    Table of Contents Results Bonus Result: 32 Cores, 64 Threads Bonus Result: 10K Key Set Thank You!

  45. Update Jan 4: Wow, this thing really took off!

  46. Table of Contents What is Postgres Logical Replication?

  47. Table of Contents Stand-By Logical Replication With Debezium Towards Fail-Over Slots Wrap-Up This post originally appeared on the Decodable blog.

  48. Table of Contents An Example Tracking RSS As regular readers of this blog will now, JDK Flight Recorder (JFR) is one of my favorite tools of the Java platform.

  49. Table of Contents What Is PyFlink and Why Should You Care?

  50. Table of Contents CDC—A Quick Primer Does CDC Break Encapsulation?