#255 Die DB skaliert nicht! OLTP vs. OLAP, Row vs. Column Stores, Parquet, CSV, Iceberg, DuckDB
1 Stunde 16 Minuten
Podcast
Podcaster
Beschreibung
vor 5 Tagen
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:
(top) (geht
so)
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
Weitere Episoden
1 Stunde 6 Minuten
vor 1 Woche
1 Stunde 14 Minuten
vor 2 Wochen
59 Minuten
vor 3 Wochen
56 Minuten
vor 1 Monat
1 Stunde 13 Minuten
vor 1 Monat
In Podcasts werben
Kommentare (0)