·E255
#255 Die DB skaliert nicht! OLTP vs. OLAP, Row vs. Column Stores, Parquet, CSV, Iceberg, DuckDB
Episode Description
Kennst du diese Situation im Team: Jemand sagt "das skaliert nicht", und plötzlich steht der Datenbankwechsel schneller im Raum als die eigentliche Frage nach dem Warum? Genau da packen wir an. Denn in vielen Systemen entscheidet nicht das nächste hippe Tool von Hacker News, sondern etwas viel Grundsätzlicheres: Datenlayout und Zugriffsmuster.
In dieser Episode gehen wir einmal tief runter in den Storage-Stack. Wir schauen uns an, warum Row-Oriented-Datastores der Standard für klassische OLTP-Workloads sind und warum "SELECT id" trotzdem oft fast genauso teuer ist wie "SELECT *". Danach drehen wir die Tabelle um 90 Grad: Column Stores für OLAP, Aggregationen über viele Zeilen, Spalten-Pruning, Kompression, SIMD und warum ClickHouse, BigQuery, Snowflake oder Redshift bei Analytics so absurd schnell werden können.
Und dann wird es file-basiert: CSV bekommt sein verdientes Fett weg, Apache Parquet seinen Hype, inklusive Row Groups, Metadaten im Footer und warum das für Streaming und Object Storage so gut passt. Mit Apache Iceberg setzen wir noch eine Management-Schicht oben drauf: Snapshots, Time Travel, paralleles Schreiben und das ganze Data-Lake-Feeling. Zum Schluss landen wir da, wo es richtig weh tut, beziehungsweise richtig Geld spart: Storage und Compute trennen, Tiered Storage, Kafka Connect bis Prometheus und Observability-Kosten.
Wenn du beim nächsten "das skaliert nicht" nicht direkt die Datenbank tauschen willst, sondern erst mal die richtigen Fragen stellen möchtest, ist das deine Folge.
Bonus: DuckDB als kleines Taschenmesser für CSV, JSON und SQL kann dein nächstes Wochenend-Experiment werden.
Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode:
Anregungen, Gedanken, Themen und Wünsche
Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …
- EngKiosk Community: https://engineeringkiosk.dev/join-discord
- LinkedIn: https://www.linkedin.com/company/engineering-kiosk/
- Email: stehtisch@engineeringkiosk.dev
- Mastodon: https://podcasts.social/@engkiosk
- Bluesky: https://bsky.app/profile/engineeringkiosk.bsky.social
- Instagram: https://www.instagram.com/engineeringkiosk/
Unterstütze den Engineering Kiosk
Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer
- Buy us a coffee: https://engineeringkiosk.dev/kaffee
Links
- Engineering Kiosk Episode #28 O(1), O(log n), O(n^2) - Ist die Komplexität von Algorithmen im Entwickler-Alltag relevant?: https://engineeringkiosk.dev/podcast/episode/28-o1-olog-n-on2-ist-die-komplexit%C3%A4t-von-algorithmen-im-entwickler-alltag-relevant/
- Datenbanken Normalformen: https://www.tinohempel.de/info/info/datenbank/normalisierung.htm
- Engineering Kiosk Episode #182 Happy Birthday SQL: 50 Jahre Abfragesprache: https://engineeringkiosk.dev/podcast/episode/182-happy-birthday-sql-50-jahre-abfragesprache/
- Engineering Kiosk Episode #129 Simplify Your Stack: Files statt Datenbanken!: https://engineeringkiosk.dev/podcast/episode/129-simplify-your-stack-files-statt-datenbanken/
- Apache Parquet: https://parquet.apache.org/
- Dremel: Interactive Analysis of Web-Scale Datasets: https://research.google/pubs/dremel-interactive-analysis-of-web-scale-datasets-2/
- Working with Parquet in ClickHouse: https://clickhouse.com/docs/integrations/data-formats/parquet
- DuckDB: https://duckdb.org/
- parquet-go: https://github.com/parquet-go/parquet-go
- RemoteStorageManager for Apache Kafka® Tiered Storage: https://github.com/Aiven-Open/tiered-storage-for-apache-kafka/
Sprungmarken
(00:00:00) Wie böse kann "das skaliert nicht" enden?
(00:05:18) Normalformen, Denormalisierung und typische Skalierungsreflexe
(00:06:30) Info/Werbung
(00:07:30) Normalformen, Denormalisierung und typische Skalierungsreflexe
(00:11:52) Row-Oriented Datastores verstehen
(00:27:01) Column-Oriented Datastores: OLAP, Kompression, Spalten-Pruning und SIMD
(00:36:53) Trade-offs: Warum Column-Stores nicht für jede Produktion passen
(00:41:52) CSV als Dateiformat: simpel, verbreitet, aber messy
(00:44:13) Apache Parquet: Columnar File Format, Row Groups und Metadaten
(00:51:44) Apache Iceberg: Tabellen-Management, Snapshots und Time Travel
(00:56:54) Storage vs. Compute trennen: Cloud-Kosten, Object Storage, Tiering
(01:04:12) Wo es heute genutzt wird: Kafka Tiered Storage, ClickHouse, Prometheus
(01:13:33) Takeaways: pragmatisch starten, DuckDB testen, Hype reflektieren
Hosts
- Wolfgang Gassler (https://gassler.dev)
- Andy Grunwald (https://andygrunwald.com/)
Community
Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord