Sign in

Dipankar Mazumdar

@dipankartnt.bsky.social
791 followers 140 following 53 posts

Director (Data/AI) @Cloudera Contributor: Apache Iceberg | Apache Hudi Distributed Computing | Technical Author (O’Reilly, Packt) Prev📍: DevRel @Onehouse.ai, Dremio, Engineering @Qlik, @OTIS Elevators Book 📕: a.co/d/fUDs7G6

PostsRepliesMedia
Dipankar Mazumdar @dipankartnt.bsky.social · 18/03/2025
[NEW BLOG]: What is Apache Arrow Flight / Flight SQL / ADBC? 🎉 We need to ask, Why don’t ODBC & JDBC fit in today’s analytical world? These protocols were designed particularly for row-based workloads. What about columnar “Arrow” based data? dipankar-tnt.medium.com/what-is-apac...
dipankar-tnt.medium.com
What is Apache Arrow Flight, Flight SQL & ADBC?
ODBC (Open Database Connectivity) and JDBC (Java Database Connectivity) have long been the industry standard for connecting databases with…
050
Dipankar Mazumdar @dipankartnt.bsky.social · 22/02/2025
Blogged: ACID in Lakehouse - How Apache Hudi, Iceberg & Delta Lake implements it? www.onehouse.ai/blog/acid-tr...
onehouse.ai
ACID Transactions in an Open Data Lakehouse
Ensuring Atomicity, Consistency, Isolation, and Durability (ACID) in data systems is crucial for maintaining data integrity, especially in environments with concurrent operations. By the end of this b...
051
Reposted by Dipankar Mazumdar
Apache Software Foundation (The ASF) @apache.org · 10/02/2025
📅 Save the Date 📅 Community Over Code North America 2025 has been announced! Where: Minneapolis, MN (USA) When: September 11-14, 2025 Read more about #CommunityOverCode --> buff.ly/4jQx36S
058
Dipankar Mazumdar @dipankartnt.bsky.social · 30/01/2025
Blogged: Concurrency control methods in a Lakehouse with Apache Hudi, Iceberg & Delta Lake. In this blog I go into the fundamentals of concurrency control, explore why it is essential for lakehouses with OCC, MVCC & Non blocking control. hudi.apache.org/blog/2025/01...
hudi.apache.org
Concurrency Control in Open Data Lakehouse | Apache Hudi
Introduction
010
Dipankar Mazumdar @dipankartnt.bsky.social · 24/01/2025
Blogged: Clustering Algorithms in Open Lakehouse formats such as Apache Hudi, Apache Iceberg & Delta Lake. Querying huge volumes of data from storage demands optimized query speed Your queries are fast today, but they might not be over time! Read: www.onehouse.ai/blog/what-is...
121
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
Some of the highlight items from Hudi 1.0: - Intro of the LSM trees (log-structured merge-trees) - Expression, Secondary indexes - Non-blocking concurrency control - Partial Merges Blog: hudi.apache.org/blog/2024/12...
hudi.apache.org
Announcing Apache Hudi 1.0 and the Next Generation of Data Lakehouses | Apache Hudi
Overview
000
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
✅ Similar to database access methods, Hudi features a multi-modal index with asynchronous MVCC, enhancing write efficiency & data consistency. It aims to apply various index types for both writes & reads, improving efficiency with new schemes, supported by engines like Presto, Spark, and Trino
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
✅ Like a lock manager in a database, Hudi uses external lock managers & plans to centralize this via a metaserver. It implements Optimistic Concurrency Control (OCC) for concurrent writers and Multi-Version Concurrency Control (MVCC) to ensure non-blocking interactions.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
✅ Like a database's log manager, Hudi organizes logs for recovery, structures data into file groups and slices, tracks changes via timelines, manages rollbacks with marker files, & generates compressible metadata for enhanced data tracking and operations such as CDC.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
✅ Hudi has many building blocks (Log manager, Lock manager, Access methods, etc.) that make up a DBMS. ✅ If we compare Hudi's architecture to the seminal "Architecture of a Database System" paper, we can see how Hudi serves as the foundational half of a database optimized for data lakes.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
This is the main "design difference" to understand when comparing/evaluating Hudi especially against other lakehouse table formats. With the new 1.0 release of Apache Hudi, we are now closer to the vision of building the first transactional database for the data lake. Let’s explore:
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
Right from its inception back at Uber, Apache Hudi has been approached as a database problem for data lakes rather than just being a standalone metadata format. Hudi brings a core transactional layer (via its Storage Engine) to cloud data lakes, typically seen in any database management system.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 13/01/2025
“Bringing the database kernel to data lakes” - this is what Apache Hudi started with before the world heard of something called “Lakehouse”. Lakehouse means only one thing- data lakes needed the “transactional layer” on top of Parquet for running db-style workloads (both transactional & analytical)
100
Reposted by Dipankar Mazumdar
arynndoesdata @arynn.bsky.social · 07/01/2025
Now seems like a good time to remind people of my starter pack. go.bsky.app/T1SxhAe
107813
Reposted by Dipankar Mazumdar
Ananth Packkildurai @ananthdurai.bsky.social · 09/12/2024
The 200th edition of Data Engineering Weekly is out. Thank you all for your kind support www.dataengineeringw...
dataengineeringweekly.com
Data Engineering Weekly #200
The Weekly Data Engineering Newsletter
1111
Dipankar Mazumdar @dipankartnt.bsky.social · 05/12/2024
Wrote a lil bit about openness and interoperability here: www.onehouse.ai/blog/open-ta... The question we should ask- Can I seamlessly switch between specific components or the overall platform—whether it's a vendor-managed or self-managed open source solution—as new requirements emerge?
onehouse.ai
Open Table Formats and the Open Data Lakehouse, In Perspective
The open data lakehouse is much more than a data table format, such as Apache Hudi, Apache Iceberg, and Delta Lake. It works seamlessly with all three table formats and serves as a transactional datab...
031
Reposted by Dipankar Mazumdar
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
Apache XTable at Scale in Production! This is a solid example to show the metadata translation capability for open table formats like Iceberg, Hudi & Delta. Fabric users can work with Iceberg tables written by Snowflake without any rewrites/stuff. Link: blog.fabric.microsoft.com/en-us/blog/s...
101
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
With this feature, users can use OneLake shortcuts to point to an Iceberg table written using Snowflake (or another engine), and it will present that table as a Delta Lake table, which works well within Fabric ecosystem. This is powered by XTable xtable.apache.org
xtable.apache.org
Apache XTable™ (Incubating)
Apache XTable™ (Incubating) is a cross-table interop of lakehouse table formats Apache Hudi, Apache Iceberg, and Delta Lake. Apache XTable™ is NOT a new or separate format, Apache XTable™ provides abs...
000
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
✅ Customers using multiple formats adding XTable to their existing data pipelines (say Apache Airflow operator or a lambda fn) The announcement on Fabric OneLake-Snowflake interoperability is a critical example that solidifies point (1).
100
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
And even if they do work with multiple formats, it is practically tough to build optimization capabilities for each of these formats. So, to summarize, I see XTable having 2 major applications: ✅ On the compute-side with vendors using XTable as the interoperability layer
100
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
On the query engine-side (warehouse, lake compute), more & more vendors are now looking at integrating with these open formats. In reality, it is tough to have robust support for every single format. By robust I mean - full write support, schema evolution, compaction.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
Each of these formats shines in specific use cases depending on its unique features! And so based on your use case & technical fit (in your data architecture), you should be free to use anything without being married to just one.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
XTable started with the core idea around “interoperability”. That you should be able to write data in any format of your choice irrespective of whether it’s Iceberg, Hudi or Delta. Then you can bring any compute engine of your choice that works well with a particular format & run analytics on top.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 21/11/2024
Apache XTable at Scale in Production! This is a solid example to show the metadata translation capability for open table formats like Iceberg, Hudi & Delta. Fabric users can work with Iceberg tables written by Snowflake without any rewrites/stuff. Link: blog.fabric.microsoft.com/en-us/blog/s...
101
Reposted by Dipankar Mazumdar
Alex Miller @alexmillerdb.bsky.social · 20/11/2024
New blog post on the fun new hardware advancements which databases can leverage for great gains, and why the cloud means it doesn't matter that they exist. 🫠 transactional.blog/b...
35418
Reposted by Dipankar Mazumdar
Jay 🦋 @jay.bsky.team · 13/11/2024
This might be the first time an open source app is at the top of the app store. Definitely the first open source social app.
623007398
Dipankar Mazumdar @dipankartnt.bsky.social · 14/11/2024
Congrats Alison & good to see you here!
110
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
5. Cleaning: As data is continuously written, updated, & deleted, older file versions & metadata will accumulate over time. This can lead to significant storage bloat & long file listing time, which negatively impact query perf. You need a cleaner service like this: hudi.apache.org/docs/hoodie_...
hudi.apache.org
Cleaning | Apache Hudi
Background
010
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
4. Data Skipping: This is a technique used to enhance query perf by eliminating the need to scan irrelevant files. This includes Parquet min/max stats & Bloom Filters. Bloom filter is a probabilistic data structure that allows you to quickly determine whether a value might be present in a dataset
110
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
Clustering algorithms include linear sorting & multi dimensional clustering (Z-ordering, Hilbert Curves). Multi-dimensional clustering reorganizes data across multiple columns simultaneously, optimizing queries that filter on more than one dimension.
110
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
3. Clustering: this is a technique used to reorganize & group data within files. The core problem that clustering addresses is the misalignment between how data is written & how it is queried. Often, data is written based on arrival time, which doesn’t necessarily align with the event time.
120
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
2. Compaction: as data is ingested into storage, numerous small files are generated, leading to what is known as the "small file problem." These small files cause query engines to process many files, increasing I/O overhead & slowing down query performance. You need to compact these files.
110
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
1. Partitioning: A known method of course - dividing your data into smaller, more manageable chunks, or partitions, based on specific columns. Be aware of the partitioning vices though - www.onehouse.ai/blog/knowing...
110
Dipankar Mazumdar @dipankartnt.bsky.social · 09/11/2024
5 techniques to optimize performance for your Open Lakehouse. No matter how performant your compute engine is, your storage needs data to be optimally organized. Here’s a new blog I published! www.onehouse.ai/blog/how-to-...
onehouse.ai
How to Optimize Performance for Your Open Data Lakehouse
How can you speed up queries, and deal with new workloads and shifting query patterns? Learn about the tools you have to optimize your lakehouse for performance.
121
Dipankar Mazumdar @dipankartnt.bsky.social · 06/11/2024
Nice to see you here Robert!
120
Dipankar Mazumdar @dipankartnt.bsky.social · 04/11/2024
www.uber.com/en-CA/blog/f...
uber.com
Fast Copy-On-Write within Apache Parquet for Data Lakehouse ACID Upserts
With the evolution of storage table formats Apache Hudi®, Apache Iceberg®, and Delta Lake™, more and more companies are building up their lakehouse on top of these formats for many use cases, like incremental ingestion. But the speed of upserts sometimes is still a problem when the data volumes go up. In storage tables, Apache Parquet is used as the main file format. In this article, we will discuss how we built a row-level secondary index and the innovations we introduced in Apache Parquet to speed up the upsert data inside a Parquet file. We will also demonstrate benchmarking results that show 3x to 20x faster speeds than traditional copy-on-write in Delta Lake and Hudi.
000
Dipankar Mazumdar @dipankartnt.bsky.social · 04/11/2024
Their Benchmarks (TPC-DS sales) reveal significant speed boosts with this approach. Uber also aims to integrate it into Apache Hudi, their lakehouse foundation, to enhance scalable upserts—an exciting step forward for efficient data lake performance!
100
Dipankar Mazumdar @dipankartnt.bsky.social · 04/11/2024
Their row-level index allows quick file & data page location for updates. Each index points to rows inside pages, so only relevant data is modified. Skipping non-relevant pages saves compute resources, speeding up CoW significantly while maintaining data efficiency.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 04/11/2024
Uber found updates impacted ~90% of their files, causing ~100TB data rewrites in large tables. To solve this, they introduced a partial CoW with row-level indexes in Parquet, allowing them to skip irrelevant data pages (smallest Parquet unit) for faster, more efficient read/write.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 04/11/2024
Fast "Copy-On-Write" on Apache Parquet. Upserts are crucial for use cases like CDC. There are two ways for record-level updates in data lakes: Copy-On-Write (CoW) Merge-On-Read (MoR) A 🧵on Uber's new CoW optimization for Parquet.
110
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
Yes absolutely! That’s one of the focus as well. Especially showing how to combine these set of OSS tools to cater to different analytical use cases. Thanks!
010
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
Thanks a lot Simon. Would love for your feedback when we get to that point.
010
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
We have drafted the first few chapters, but there's still work to do. We’d love to take this opportunity to learn more from the community about any additional topics of interest for the book. Preorder: www.amazon.com/Engineering-...
amazon.com
Amazon.com: Engineering Lakehouses with Open Table Formats: Build scalable and efficient lakehouses with Apache Iceberg, Apache Hudi, and Delta Lake eBook : Mazumdar, Dipankar, Govindarajan, Vinoth: Kindle Store
Amazon.com: Engineering Lakehouses with Open Table Formats: Build scalable and efficient lakehouses with Apache Iceberg, Apache Hudi, and Delta Lake eBook : Mazumdar, Dipankar, Govindarajan, Vinoth: Kindle Store
100
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
I’ve been fortunate to have first-hand experience working with open table formats like Apache Iceberg & Apache Hudi, & in some capacity with Delta Lake. I intent to bring those experiences and touch upon the intricacies along with some of the pain points of getting started.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
🌟 Decisions on selecting a format- factors to consider from a technical standpoint, ecosystem, features 🌟 How to implement - streaming/batch, CDC, integration with MLFlow 🌟 What's next - Interoperability (Apache XTable, UniForm), Catalogs (Hive to newer ones- Unity Catalog, Polaris)
100
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
But, also to elaborate on some of the less talked about 'core' stuff (beyond marketing jargons). Specifically, the book will target 4 angles: 🌟 Table format Internals - e.g. How ACID transactions works, What is a Storage Engine, Performance optimization methods, etc.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
Questions around choosing the right table formats, understanding use cases, & designing the overall lakehouse architecture. So, the goal with this book is to provide a comprehensive resource for data/software engineers, architects, & decision-makers to understand these formats.
100
Dipankar Mazumdar @dipankartnt.bsky.social · 01/11/2024
Announcing my new book - "Engineering Lakehouses with Open Table Formats" 🎉 TBH, I have been thinking about this for quite some time. Most of the times, in conversations with engineers exploring these formats, so many questions have come up.
3111
Reposted by Dipankar Mazumdar
Dipankar Mazumdar @dipankartnt.bsky.social · 29/10/2024
I started this new repo to serve as a central hub for content that I create & insights that I share from different sources about the Lakehouse architecture. Here’s what you will find in the repo: ⭐️ Blogs ⭐️ Research Papers summary ⭐️ Code ⭐️ Crisp Social posts Link: github.com/dipankarmazu...
111
Dipankar Mazumdar @dipankartnt.bsky.social · 29/10/2024
Here are some early adopters - github.com/dipankarmazu... (not just conference talks). This is from a year ago & things have changed a bit (some have started using multiple table formats or migrated to another). A Common use case is migrating from proprietary storage to more of an ‘open’ one.
github.com
GitHub - dipankarmazumdar/iceberg-in-production: A repository of blogs/videos that presents how Apache Iceberg is being used in Production by various orgs
A repository of blogs/videos that presents how Apache Iceberg is being used in Production by various orgs - dipankarmazumdar/iceberg-in-production
150