Datenbanken

Durch den Forschungstätigkeit von Wolfi im Datenbankbereich und der praktischen Datenbankerfahrung von Andy tauchen wir in den folgenden Episoden in die Datenbankwelt ein. Von SQL bis NoSQL aber auch DataScience und Big-Data stehen am Themenplan. Vor allem ist uns aber auch immer der praktische Aspekt wichtig und manchmal ist die beste Lösung auch gar keine Datenbank, sondern eine einfache Datei...

Podcast

Datenbanken im Engineering Kiosk Podcast

Details zur Podcast Episode #165 Pessimistisches und Optimistisches Sperren in Datenbanken: Eine Geschichte Software Engineering Datenbanken

#165 Pessimistisches und Optimistisches Sperren in Datenbanken: Eine Geschichte

Pessimistisches und Optimistisches Sperren in Datenbanken. Im Engineering Kiosk Adventskalender 2024 sprechen befreundete Podcaster⋅innen und wir selbst, Andy und Wolfi, jeden Tag kurz & knackig innerhalb von wenigen Minuten über ein interessantes Tech-Thema. Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners Das schnelle Feedback zur Episode: 👍 (top)  👎 (geht so) LinksSperrverfahren in Datenbanksystemen: https://de.wikipedia.org/wiki/Sperrverfahren Sprungmarken(00:00:00) Pessimistisches und Optimistisches Sperren in Datenbanken HostsWolfgang Gassler (https://mastodon.social/@woolf)Andy Grunwald (https://andygrunwald.com/) FeedbackEngKiosk Community: https://engineeringkiosk.dev/join-discord Buy us a coffee: https://engineeringkiosk.dev/kaffeeEmail: stehtisch@engineeringkiosk.devLinkedIn: https://www.linkedin.com/company/engineering-kiosk/Mastodon:...

Details zur Podcast Episode #164 Suchalgorithmen: Lineare- und Binäre Suche & Indizes mit Stefan Macke vom IT Berufe Podcast Software Engineering Datenbanken

#164 Suchalgorithmen: Lineare- und Binäre Suche & Indizes mit Stefan Macke vom IT Berufe Podcast

Suchalgorithmen: Lineare- und Binäre Suche mit Stefan Macke vom IT Berufe Podcast. Im Engineering Kiosk Adventskalender 2024 sprechen befreundete Podcaster⋅innen und wir selbst, Andy und Wolfi, jeden Tag kurz & knackig innerhalb von wenigen Minuten über ein interessantes Tech-Thema. Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so) LinksStefan Macke auf LinkedIn: https://www.linkedin.com/in/stefan-macke/IT Berufe Podcast: https://it-berufe-podcast.de/Engineering Kiosk Episode #92 Technologie trifft Deutsche Ausbildungskultur: Die moderne IT-Berufsausbildung mit Stefan Macke: https://engineeringkiosk.dev/podcast/episode/92-technologie-trifft-deutsche-ausbildungskultur-die-moderne-it-berufsausbildung-mit-stefan-macke/Datenbankindex: https://de.wikipedia.org/wiki/DatenbankindexEngineering Kiosk...

Details zur Podcast Episode #162 Event Sourcing & Märchen mit Golo Roden von the native web Backend Datenbanken

#162 Event Sourcing & Märchen mit Golo Roden von the native web

Event Sourcing mit Golo Roden von the native web. Im Engineering Kiosk Adventskalender 2024 sprechen befreundete Podcaster⋅innen und wir selbst, Andy und Wolfi, jeden Tag kurz & knackig innerhalb von wenigen Minuten über ein interessantes Tech-Thema. Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so) LinksEvent Sourcing: https://de.wikipedia.org/wiki/Event_Sourcingthe native web GmbH: https://thenativeweb.io/YouTube-Kanal von Golo Roden: https://www.youtube.com/@thenativeweb#117 Vanilla Web: Niedrige Kopplung & hohe Kohäsion mit Golo Roden von the native web https://engineeringkiosk.dev/ep117  Sprungmarken(00:00:00) Event Sourcing HostsWolfgang Gassler (https://mastodon.social/@woolf)Andy Grunwald (https://andygrunwald.com/) FeedbackEngKiosk Community:...

Details zur Podcast Episode #151 Räumliche Indexstrukturen: Grundpfeiler in Geo-Systemen, Games und Machine Learning Software Engineering Datenbanken Backend

#151 Räumliche Indexstrukturen: Grundpfeiler in Geo-Systemen, Games und Machine Learning

Mit Hilfe von Spatial Index-Strukturen einen schnellen Zugriff auf Geodaten gewährleisten Die Welt ist groß und wird weiter digitalisiert. Um alles Auffindbar und durchsuchbar zu machen, werden Geodaten von alles und jedem festgehalten: Nicht nur Längen- und Breitengrade (wenn es sich um die Erde handelt), sondern auch Höhe bzw. Tiefe, Zeit und etliche andere Metadaten. Diese Art von Daten nennen sich Spatial-Data oder auch Geospatial-Data. Um in großen Datenmengen einen schnellen Zugriff zu gewährleisten, verwenden Softwaresysteme, wie zB Datenbanken, Indexstrukturen, auch Indizes, genannt. Eine zusätzliche Form der Speicherung durch die Nutzung hoch optimierter Datenstrukturen.  Welche Indexstrukturen werden eigentlich bei Geospatial-Daten genutzt? Das ist das Thema dieser Episode. Wir sprechen über die Anwendungsfälle von Geospatial-Data, warum eine klassische Struktur wie ein B-Baum...

Details zur Podcast Episode #129 Simplify Your Stack: Files statt Datenbanken! Backend Software Engineering Datenbanken

#129 Simplify Your Stack: Files statt Datenbanken!

Vergiss Datenbanken - Benutze mehr Files! Warum denkst du eigentlich, dass du eine Datenbank brauchst? Würde deine Applikationskomplexität nicht deutlich niedriger sein, wenn du alles in einer Datei abspeichern würdest? Hast du wirklich so dynamische Daten? Liest du deine Daten nicht deutlich öfter, als dass du diese schreibst? Und macht die Datenbank deine Applikation nicht langsamer? Mit dieser steilen These kommt Wolfgang um die Ecke. Obwohl dies gegen alles geht, was wir sonst normalerweise so lernen und beigebracht bekommen. Und das von jemandem, der in dem Bereich Datenbanken studiert hat. Darum geht es in dieser Episode. Bonus: 1 Jahr Engineering Kiosk Alps Meetup. **** Diese Episode wird gesponsert von WeAreDevelopers World Congress  Nimm am WeAreDevelopers World Congress teil, der weltweit führenden Veranstaltung für Entwickler*innen vom 17. bis 19. Juli 2024 in Berlin....

Details zur Podcast Episode #118 Wie funktioniert eine moderne Suche? Von Indexierung bis Ranking Software Engineering Backend Datenbanken

#118 Wie funktioniert eine moderne Suche? Von Indexierung bis Ranking

Explain my like i am five: Die Grundlagen moderner Suchen Wir, als User, erwarten heutzutage ziemlich viel von einer Suchmaschine. Es soll “magisch” verstehen, was wir eigentlich finden möchten. Egal ob wir das richtige Wort dafür nutzen (aka Synonym-Suche) oder ob der Begriff einen Tippfehler hat (aka “Meinten Sie …?”). Oft werden Tools wie Elastic- oder OpenSearch, Solr, Algolia und Co. für sowas eingesetzt, denn eine einfache Volltext-Suche mittels eines Wildcard-SQL-SELECT Statement reicht dafür nicht mehr aus. Doch was steckt eigentlich dahinter? Wie funktionieren all diese modernen Suchen eigentlich im Inneren? In dieser Episode geht es um die Grundlagen moderner Suchmaschinen. Wir schmeißen mit Begriffen wie Stemming, Homonyme, BERT, Stopwords, Inverted Index, Suffixbäume, N-Grams, Term Frequency-Inverse Document Frequency, Vector Space Model und Co um uns und erklären das ganze...

Details zur Podcast Episode #99 Modernes SQL ist mehr als SELECT * FROM - mit Markus Winand Software Engineering Interview Datenbanken

#99 Modernes SQL ist mehr als SELECT * FROM - mit Markus Winand

SQL is Dead, Long Live SQL! Fast jede Applikation hat irgendeine Form von persistenter Datenhaltung. Oft in Form einer Datenbank. Der Platzhirsch bei Datenbanken sind Systeme, die sich mit der Structured Query Language (kurz SQL) abfragen lassen. MySQL, PostgreSQL, Oracle, MSSQL Server, sqlite, Google BigQuery und so weiter. Die coolen Kids haben vielleicht irgendeine Form von NoSQL-Datenbank im Einsatz. Aber auch da kommt man nicht um SQL herum. Für die meisten Entwickler*innen ist SQL ein alter Hut. SELECT * FROM Tabelle WHERE foo = bar GROUP BY id. Das haben wohl die meisten gelernt und damit kommt man schon sehr weit. Doch war es das mit den Möglichkeiten von SQL? Klare Antwort: Nein. Die Sprache wird weiterentwickelt, bekommt moderne Features und hat weitaus mehr zu bieten als manch einer denkt. Und darüber sprechen wir in dieser Episode mit dem SQL-Experten Markus Winand. Wir...

Details zur Podcast Episode #91 Konsistent, Verfügbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen Backend Software Engineering Datenbanken Cloud

#91 Konsistent, Verfügbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen

Konsistent, Verfügbar und Ausfalltolerant: Wähle zwei - Das CAP-Theorem Stellt euch vor, ein Handwerker könnte die Dienstleistung schnell, günstig und in hoher Qualität leisten. Wäre dies nicht ein Traum? Leider sind alle drei Eigenschaften in der Realität nicht möglich. Und genau so geht es uns mit dem CAP-Theorem in verteilten Systemen mit Datenhaltung. Speziell im aktuellen Zeitalter mit Cloud Computing, horizontaler Skalierung, weltweiter Verfügbarkeit spielt das CAP-Theorem eine essentielle Rolle. Wie soll sich dein System verhalten, wenn die Netzwerk-Verbindung zwischen deinen Compute-Knoten ausfällt? Muss die Datenhaltung konsistent bleiben? Oder sind Inkonsistenzen für eine gewisse Zeit OK, dafür hat die Verfügbarkeit eine höhere Priorität? Um diesen Konflikt geht es in dieser Episode. Bonus: Auf GCP kannst du deine Compute-Instanz auf maximal 12 TB SSD Disk (ohne...

Details zur Podcast Episode #69 MySQL vs. MariaDB Backend Software Engineering Datenbanken

#69 MySQL vs. MariaDB

Wie viel MySQL Drop In-Replacement steckt wirklich in MariaDB? MariaDB, ein Fork der populären Datenbank MySQL. Angetreten, um ein Drop-In-Replacement und eine direkte Alternative zu MySQL darzustellen. Doch wie viel ist da dran? Ist MariaDB MySQL kompatibel? Wo liegen die Gemeinsamkeiten und Unterschiede? Was war eigentlich der Grund für den Fork? In welchen Bereichen entwickeln sich beide Datenbanken vollkommen anders? Und was hat sich im Bereich der Storage-Engines alles so getan? In dieser Episode bringen wir etwas Licht in den direkten Vergleich zwischen MySQL und MariaDB. Bonus: Was ein Weber-Grill mit MySQL und MariaDB zu tun hat. Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners   Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #63 Spaß mit Zahlen: Under- und Overflows, Rückwärtslaufende Zeit, Negative Modulos und Währungsbeträge Software Engineering Backend Datenbanken

#63 Spaß mit Zahlen: Under- und Overflows, Rückwärtslaufende Zeit, Negative Modulos und Währungsbeträge

Herausforderungen mit Zahlen in der Programmierung: Hidden bugs, Effekte auf die Realität und der richtige Umgang. Der korrekte Umgang mit Zahlen in der Softwareentwicklung ist so wichtig wie die Reifen bei einem Auto, um es zu fahren. Obwohl viele Entwickler sagen, Mathematik ist ein täglicher Bestandteil des Tages, so kommt man um die Verarbeitung von Zahlen nicht drum herum. Doch wie schon früher in der Schule, kann der Umgang mit Zahlen sehr Herausfordernd sein. In dieser Episode sprechen wir über klassische Fehler, die beim Umgang mit Zahlen in Software gemacht werden, über skurriles Verhalten von Programmiersprachen aber auch über die Effekte dessen auf die reale Welt. Es geht um Datentypen in Programmiersprachen und deren Wertebereiche, Probleme mit großen Zahlen und JSON, Währungsumrechnung und die korrekte Speicherung, Integer-Under- und Overflow, negative Modulo-Berechnungen,...

Details zur Podcast Episode #54 Key Value Store Redis: Einsatzmöglichkeiten, Fallstricke, Datenstrukturen, HyperLogLog und (flüchtige) Persistenz DevOps Datenbanken Open Source

#54 Key Value Store Redis: Einsatzmöglichkeiten, Fallstricke, Datenstrukturen, HyperLogLog und (flüchtige) Persistenz

Redis - Der open source, in-memory data structure server Viele Software-Engineers haben bereits von Redis gelesen. Primär im Anwendungsfall eines Caches. Doch das ist bei weitem nicht alles, was Redis unter der Haube hat. In dieser Episode schauen wir uns den Data Structure Server mal genauer an. Was ist Redis? Welche Datentypen unterstützt dieser? Was ist Geospatial und HyperLogLog? Kann Redis meine Daten auch persistieren? Welche Use-Cases gibt es neben dem Caching? Wer ist eigentlich der Kopf hinter Redis? Und wie kann ich Redis erweitern, falls ich noch mehr Funktionalität brauche? All das und noch viel mehr Hintergrundwissen zu Redis in dieser Episode. Bonus: Wann unser Co-Host Andy und wann Andreas genannt wird und was Clippy von Word mit Redis zu tun hat.

Details zur Podcast Episode #49 Die Zukunft: Software Repository Mining Backend Software Engineering Datenbanken Produktivität

#49 Die Zukunft: Software Repository Mining

Die Analyse von Metadaten aus dem Software-Entwicklungsprozess: Yey or Ney? Die wenigsten kennen den Begriff des Software Repository Minings, doch die meisten benutzen Features, die darauf zurückzuführen sind. Zum Beispiel der automatische Vorschlag von den richtigen Pull Request Reviewern. Es geht darum, auf Basis der Daten aus dem Softwareentwicklungsprozess neue Erkenntnisse zu gewinnen, um diesen einfacher und produktiver zu gestalten. In dieser Episode klären wir, woher die Daten kommen, wie man an diese gelangt, welche Anwendungsfälle es gibt, was die Herausforderungen dabei sind und wie ihr damit starten könnt. Bonus: Ob Andy bereits 50 Jahre alt ist und warum gute Architektur auch als Selbstschutz dient.

Details zur Podcast Episode #41 SQL Injections - Ein unterschätztes Risiko Backend Datenbanken Sicherheit Software Engineering

#41 SQL Injections - Ein unterschätztes Risiko

SQL Injections: Eine der weitverbreitetsten Sicherheitslücken im Web, auch im Jahr 2022 Der Großteil aller Applikationen interagiert in irgendeiner Art und Weise mit einer Datenbank. Deswegen werden die meisten Entwicklerinnen und Entwickler bereits von der Sicherheitslücke "SQL Injection" gehört haben. Seit 24 Jahren ist dies eine der weitverbreitetsten Sicherheitslücken im Internet und es ist kein Ende in Sicht. Was ist eigentlich eine SQL-Injection im Detail? Welche verschiedenen Arten gibt es? Was ist der Grund, dass uns dieses Einfallstor so lange beschäftigt? Woher kommt diese und wer hat sie entdeckt? Wie kann man sich schützen und seine Anwendung ausreichend testen? All das und noch viel mehr in dieser Episode. Bonus: Der Kontrast zwischen Duisburg und Berlin und wie die SQL-Injektion als Nebenprodukt entdeckt wurde.

Details zur Podcast Episode #22 NoSQL: ACID, BASE, Ende einer Ära Teil 2 Datenbanken

#22 NoSQL: ACID, BASE, Ende einer Ära Teil 2

Neben relationalen Datenbanken gibt es noch eine ganz andere Welt: NoSQL. Doch wofür steht eigentlich NoSQL? Kein SQL? Not Only SQL? Was ist eigentlich die Geschichte hinter dem Hype? Warum wurde diese Art von Datenbanken erfunden? Wofür sind diese gut? Folgen NoSQL Datenbank auch dem ACID-Concept? Was ist Eventual Consistency? Und was sind Neo4J, M3, Cassandra, und Memcached für Datenbanken? Eine Episode voller Buzzwords … Hoffen wir auf ein Bingo. Bonus: Warum Wolfgang keinen Manta fährt und ob Andy bald mit einem Ferrari zum einkaufen fährt.

Details zur Podcast Episode #19 Datenbank-Deepdive (oder das Ende einer Ära): von Redis bis ClickHouse Datenbanken

#19 Datenbank-Deepdive (oder das Ende einer Ära): von Redis bis ClickHouse

Der zweite Datenbank-Deepdive im Engineering Kiosk. Indirekt knüpfen wir an Episode 8 mit dem Thema Datenbanken. Diesmal fangen wir aber ganz vorne an: Mit hierarchischen Datenbanken über Objektorientierte Datenbanken, anschließend zu SQL bis hin zur NoSQL und Spaltenorientierten Datenbank-Ära. Dabei klären wir Fragen was zum Beispiel der Unterschied zwischen Datenbanken und Dateien ist, ob OOP-Datenbank immer noch ein Hype ist, was Indexe sind und wie diese funktionieren, warum die Migration weg von Oracle schwierig sein kann, ob Lucene eine Datenbank ist und noch viel viel mehr. Bonus: Was Kürbiskerne mit Datenbanken zu tun haben und warum MySQL ein besseres Adressbuch mit SQL Interface ist.

Details zur Podcast Episode #08 Vergiss doch Datenbanken! Datenbanken

#08 Vergiss doch Datenbanken!

Datenbanken, besonders relationale Datenbanken und im Web ganz besonders MySQL. Jeder kennt sie, jeder nutzt sie, aber keiner gibt zu diese zu nutzen da sie uncool und alt sind und sowieso nicht skalieren. Wolfgang und Andy sprechen ein wenig über dieses Thema: Wie man seine eigene SQL Datenbank schreibt, was der Unterschied von Row-Based und Statement-Based Replication ist, warum simple Dateien oft besser sind als eine Datenbank, ob sqlite helfen kann und MongoDB die Lösung ist, wie Facebook, Booking und GitHub MySQL betreiben, ob PostgreSQL wirklich was kann und welche Schritte ihr unternehmen könnt, um eure Datenbank zu tunen. Bonus: Ob Wolfgang Mickey Krause kennt und ob er ein erfolgreicher MySQL Buchautor war.