#DeltaLake

Albert DavidAlbertDavid
2025-11-22

🎉 Excited to Share a Milestone!

I’m thrilled to announce that I’ve successfully earned the Databricks Academy Platform Administrator accreditation! This achievement validates my ability to manage and administer the Databricks Lakehouse Platform effectively.

Looking forward to continuing to explore advanced analytics, AI/ML integration, and generative AI workflows within Databricks.

credentials.databricks.com/bb9

2025-11-10

^ Less then a day to sign up and get our take on #SAP Business Data Cloud and the Delta Sharing ecosystem

#databricks #businessdatacloud #deltalake #deltasharing #dremio #webinar

R Tyler Croy 🦀rtyler@hacky.town
2025-10-30

kafka-delta-ingest was the project that spawned the development of #deltalake for #rustlang, also known as delta-rs.

Last week I decommissioned the last of those processes. I have since made our
ingestion even cheaper but kafka-delta-ingest will always hold a spot in our history

brokenco.de/2025/10/30/kafka-d

R Tyler Croy 🦀rtyler@hacky.town
2025-08-19

Tomorrow at 7am PT (14:00 UTC) I'll be doing some #deltalake hacking with some other 🦀 folks on #deltalive!

twitch.tv/agentdero/schedule

Banner with the date for the hacking and twitch.tv/agentdero linked
Salar Rahmanian :verified: :scala: :swift: :nix:softinio@social.softinio.com
2025-05-05

📣I wrote a blog 🚀📰:

The Data Surrender Trap: How Enterprises Are Losing Control in the AI Gold Rush—and the Simple Fix 👇

https://www.softinio.com/post/the-data-surrender-trap/

#AI #Deltalake #DataEngineering #DataGovernance #ArtificialIntelligence

R Tyler Croy 🦀rtyler@hacky.town
2025-04-20

@Schneems I don't know about best practices, but once upon a while ago I wrote why we re-export some symbols in #deltalake brokenco.de/2023/07/26/rust-re

R Tyler Croy 🦀rtyler@hacky.town
2025-03-08

Did you know you can purchase #deltalake the definitive guide from reputable non-monopolistic book sellers?

bookshop.org/p/books/delta-lak

You can also pester some of the other authors and I next week in Mountain View, CA: lu.ma/okxq0bt1

Knowledge Zonekzoneind@mstdn.social
2025-03-01

#ITByte: #DeltaLake is an open-source #Storage framework that enables building a #Lakehouse #Architecture with different compute engines.

Delta Lake preserves the integrity of the original data without sacrificing the performance and agility required for real-time analytics, artificial intelligence (AI), and machine learning (ML) applications.

knowledgezone.co.in/trends/exp

2025-01-30

Just caught up with the recent Delta Lake webinar,

> Revolutionizing Delta Lake workflows on AWS Lambda with Polars, DuckDB, Daft & Rust

Some interesting hints there regarding lightweight processing of big-ish data. Easy to relate to any other framework instead of Lambda, e.g. #ApacheAirflow tasks

youtu.be/BR9oFD0QMAs

#dataengineering #datascience #duckdb #daft #polars #pandas #python #spark #deltalake #databricks #airflow #bigdata #smalldata

2025-01-09

Delta Lakeの楽観的排他制御:ACID特性の詳細と実現方法

仕事で、Microsoft Fabric絡みのところを調べていました。

基本、Fabricの中ではApache Sparkなどが動いていることは判っていたので、Delta LakeでACID特性が実現されているというのもなんとなくわかっていました。では、どのようにしてACID特性が実現されているのかというところには関心がありました。この辺に関して触れられているのは以下のQiita上の記事です。

https://qiita.com/toshimitsuk/items/5dac76dddfe921cb8a47

そして、上記記事の次のところに着目しました。

Delta Lakeのソースコード (github.com/delta-io/delta) から、Delta Lakeの楽観的排他制御の仕組みを見ていきます。なお、ここではUpsertを対象に楽観的排他制御の仕組みを見ていきます。(再掲)

なるほど、楽観的排他制御かと。 では、楽観的排他制御とはなにかということです。

悲観的排他制御

これと対照的な概念が悲観的排他制御です。 悲観的排他制御とは所謂ロックによって排他制御を実現します。

こちらの方がよく知られているでしょう。いわゆるUpsertの場合において考えます。Upsertは排他制御がよくわかるところです、Upsertを仮に選択と条件分岐と更新と追加の組み合わせで考えます。

  1. 対象キーでレコードが存在するかどうかを確認する
  2. もし、レコードが存在すれば更新する
  3. レコードが存在しなければ追加する

これをそのまま実装してしまうと、1.と2.の間に割り込まれてしまうと、その間に重複するレコードが作成されてしまうリスクが発生します。結果的に、3.は正しく、Primary Keyなどの処理が実装されていればエラーになります。

Upsertであれば、悲観的排他制御であれば、1.のタイミングで対象となる表などにはロックが作られ、割り込み処理は一般的には待たされます。結果として、Upsertは完遂できます。仮に、待たされた方が自動連番などでキーを発生させていれば、その後により後のキーが発行されて正常に終了するでしょう。

楽観的排他制御

では、これが楽観的排他制御ではどうなるでしょうか? 楽観的排他制御ではロックではなく、更新の検出により処理します。つまり、処理する前に、割り込まれたことを検出して処理をします。 つまり、なぜ楽観的なのかというと、滅多に抵触する処理は行われないはずという仮定があります。 このあたりの詳しい話については以下の記事も参考にできます。

https://qiita.com/NagaokaKenichi/items/73040df85b7bd4e9ecfc

  1. 検証: 最初にレコードの現在の状態を取得し、その状態を記録します
  2. 更新の準備: データを更新する準備をします
  3. 更新の試行: 更新を試みますが、その際に他のトランザクションが同じレコードを変更していないかを確認します
  4. 競合の対処: 他のトランザクションが変更していた場合は、更新を再試行するか、エラーを返します

パフォーマンスと課題

さて、悲観的排他制御と楽観的排他制御の差はどこにあるのか? 一つのポイントはパフォーマンスです。悲観的排他制御はロックを行うため、そこがパフォーマンス上のボトルネックになります。では、楽観的排他制御は銀の弾丸か? そんなことはありません。銀の弾丸はどこにも存在しないのです。

楽観的排他制御の弱点は、更新の検出にあります。これが崩れればすべてがお釈迦です。そして、楽観的排他制御のポイントは、楽観的、競合することはそうそう起きないだろうにあります。競合がかなりの頻度で起きるとすればどうでしょうか? ほとんどの場合で、何らかの回避動作が必要になります。更に、その回避動作は正しいのかの検証も極めて重要です。

結論から言うと、楽観的排他制御は難易度が高いです。その意味ではロックして、競合処理を起こさないようにする悲観的排他制御の方がシステム的な難易度は低いです。パフォーマンスの劣化は大きな課題ですが。

#DeltaLake #排他制御

R Tyler Croy 🦀rtyler@hacky.town
2024-11-26

I hope you'll be able to join the #deltalake AMA today at 9am PST with the authors of Delta Lake The Definitive Guide 🤗

linkedin.com/events/asktheauth

"Ask the Authors" graphic with the smiling faces of Denny, Prashanth, Tristen, Scott, and myself. Next to a picture of the book itself.

Starts today at 9am PST
R Tyler Croy 🦀rtyler@hacky.town
2024-11-14

I am so so excited to have a physical copy of #deltalake "The Definitive Guide"

An Oreilly book sitting on a desk
R Tyler Croy 🦀rtyler@hacky.town
2024-10-19

I had some talks earlier this year about #deltalake and #rustlang

I also did so with one hand...because I broke my wrist at the beginning of the conference 🤦

brokenco.de/2024/10/17/data-ai

R Tyler Croy 🦀rtyler@hacky.town
2024-09-23

If you use #deltalake from Python or Rust, I sure would appreciate it if your company sponsored my work!

github.com/sponsors/rtyler

R Tyler Croy 🦀rtyler@hacky.town
2024-09-06

If you use #deltalake for #python, you can now sponsor one of it's main contributors Ion!

github.com/ion-elgreco

2024-08-15

We are excited to announce the release of python-v0.19.0! 🎉

Highlights include:
🌟 CDF support in write_deltalake, delete, and merge operation
🌟 Expired logs cleanup during post-commit. Can be disabled with 𝚍𝚎𝚕𝚝𝚊.𝚎𝚗𝚊𝚋𝚕𝚎𝙴𝚡𝚙𝚒𝚛𝚎𝚍𝙻𝚘𝚐𝙲𝚕𝚎𝚊𝚗𝚞𝚙 = 𝚏𝚊𝚕𝚜𝚎
🌟 Improved MERGE performance by using predicate non-partition columns min/max for prefiltering
🌟 𝙰𝙳𝙳 𝚌𝚘𝚕𝚞𝚖𝚗 option
🌟 Speed up log parsing

🔗 View the release notes: github.com/delta-io/delta-rs/r

#deltalake #rust #linuxfoundation #opensource

Alex Merced - 🥑 @ Dremioalexmerced@data-folks.masto.host
2024-06-04

With all the interest in Apache Iceberg this week, here is a great place to learn the concepts and find hands-on exercises on Apache Iceberg if you are just joining the party.

dremio.com/blog/apache-iceberg

#ApacheIceberg #Snowflake #Databricks #DeltaLake #DataEngineering

R Tyler Croy 🦀rtyler@hacky.town
2024-05-07

The #deltalake Python and Rust bindings have change data capture (CDC) read and write support in the works right now.

*Very* exciting stuff happening between now and Data and AI Summit in June!

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst