</> Morad :)
Home Medium Series Articles & Code Journey Quizzes About
LinkedIn Medium
Home Medium Series Articles & Code Journey Quizzes About
LinkedIn Medium
Medium Channel

Medium Stories & Technical Series

Here you will find all my articles published on Medium. I write regularly about Semantic Layers, Postgres, LLM Evaluation, CDC Pipelines, and Stream Processing.

Follow @moradabaz on Medium
Medium data-engineeringsemantic-layer
Sep 27, 2026

Semantic Layer Routing: Giving the Model Only What the Question Needs

To build reliable Text-to-SQL agents, your semantic layer needs a Schema Routing Engine . Here is how it works, what we learned testing it in real benchmarks, and the best practices for implementin...

Read story on Medium →
Medium streaming-databasesrocksdb
Sep 23, 2026

LSM-Trees vs. B+ Trees: The Computer Science Behind DB Performance

A deep dive into the disk architectures of RocksDB/Flink and PostgreSQL, how memory access patterns shape I/O trade-offs, and when to use each. As software engineers or Data Engineers, we often tre...

Read story on Medium →
Medium data-governancedbt
Sep 20, 2026

Building a Semantic Layer from Zero: Giving the Model the right Governance

Read a real routing config, run it against a live agent, then deliberately revert one function to its old, buggy version and watch a real misrouting bug come back on your own machine. My previous p...

Read story on Medium →
Medium apache-sparkapache-iceberg
Sep 15, 2026

Another Spark Issue: 204 Gigabytes of Spilled Memory and Zero Skewed Tasks

A weekly merge job kept getting slower, week after week. Every signal pointed at the usual suspect. It wasn’t. Here’s how we told the difference, and what was actually eating the extra time. A few ...

Read story on Medium →
Medium semantic-layeranalytics-engineering
Aug 26, 2026

Building a Semantic Layer from Zero (Part 2): Can Column Descriptions Alone Stop an LLM From…

Building a Semantic Layer from Zero (Part 2): Can Column Descriptions Alone Stop an LLM From Hallucinating SQL? Same 6 questions, same database — but this time the model gets the schema. 6/6 correc...

Read story on Medium →
Medium data-analyticsdbt-semantic-layer
Aug 24, 2026

Building a Semantic Layer from Zero (Part 1): When You Give an LLM a Database and Zero Context

6 questions, 12 attempts, 1 silent fabrication that would have gone straight into a report This is part 1 of a 6-post series that answers one question: How much context does a model actually need t...

Read story on Medium →
Medium apache-flinkdata-engineering
Aug 7, 2026

I Built a CDC-to-Flink Pipeline and Documented Every Decision That Had to Change

8 architecture decisions, 5 Debezium incidents, 3 corrections — and what a streaming pricing engine looks like after all of them The entire project was built with spec-driven development — every ph...

Read story on Medium →
Medium distributed-systemsbig-o-notation
Aug 5, 2026

The Computer Science Behind Spark Joins

Hash tables, sorting algorithms, and Big-O explain joins and shuffle issues better than any tuning guide Apache Spark didn’t invent any new data structure or algorithm , it just the reused the clas...

Read story on Medium →
Medium apache-flinkstreaming
Jul 28, 2026

Most Flink Decisions Have Nothing to Do With Flink

I was building a streaming pricing engine for vacation rental apartments. The system ingests operational costs via CDC from PostgreSQL through Debezium into Kafka, market reference prices through K...

Read story on Medium →
Medium data-engineeringapache-flink
Jul 17, 2026

Why Serverless Fails at Stream Processing

There’s a pattern that works really well for building data lakes on AWS: Kinesis captures events, Lambda processes them, S3 stores them, Glue transforms them, Athena queries them. It’s cheap, it sc...

Read story on Medium →

Morad Abaz

Data Engineer working with Spark, Iceberg, dbt, and AWS Glue Lakehouses.

Navigation

Home Medium Series Articles & Code Quizzes About Me

Connect

LinkedIn (Morad Abbou Azaz) Medium (@moradabaz) GitHub (@moradisten)

© 2026 Morad Abaz. Hosted on GitHub Pages.