{"version":"1.0.0","segments":[{"speaker":"Christian","startTime":1.999,"endTime":5.92,"body":"Herzlich willkommen zu einer neuen Episode im Urlaubs-Kiost-Podcast."},{"speaker":"Christian","startTime":6.48,"endTime":10.18,"body":"W\u00e4hrend wir sonst h\u00e4ufig vor allem News besprechen, reden wir heute \u00fcber ein Thema,"},{"speaker":"Christian","startTime":10.39,"endTime":13.64,"body":"das du vielleicht nicht mehr auf dem Radar hast, das du vielleicht verdr\u00e4ngt hast."},{"speaker":"Christian","startTime":13.85,"endTime":15.54,"body":"Und hier kommen wir nat\u00fcrlich wieder ins Spiel."},{"speaker":"Christian","startTime":16.01,"endTime":20.56,"body":"Wir schubsen euch gerne in nischige Sidequests oder Themen, die euch vielleicht noch gar nicht interessieren."},{"speaker":"Christian","startTime":21.05,"endTime":24.62,"body":"In der heutigen Episode springen wir in ein nicht mehr ganz so h\u00e4ufig thematisiertes,"},{"speaker":"Christian","startTime":24.65,"endTime":25.82,"body":"aber nicht ganz unwichtiges Thema."},{"speaker":"Christian","startTime":26,"endTime":30.04,"body":"Es geht n\u00e4mlich um eine sehr ber\u00fchmte Datenbank, die ein 30-j\u00e4hriges Jubil\u00e4um feiert."},{"speaker":"Christian","startTime":30.42,"endTime":34.94,"body":"Und zusammen mit unserem Gast der Episode, Wolfgang Gassler, springen wir tief in den Tablespace."},{"speaker":"Christian","startTime":35.52,"endTime":37.7,"body":"Wir kl\u00e4ren, wie man die Datenbank eigentlich ausspricht."},{"speaker":"Christian","startTime":37.84,"endTime":42.46,"body":"Hei\u00dft es MySQL? Hei\u00dft es MySQL? MySQL oder MySQL?"},{"speaker":"Christian","startTime":43.66,"endTime":47.16,"body":"Wir besprechen die Historie, die die Datenbank zu dem machte, was sie ist."},{"speaker":"Christian","startTime":47.34,"endTime":48.82,"body":"Und auch die Grundlagen kommen nicht zu kurz."},{"speaker":"Christian","startTime":49.34,"endTime":52.94,"body":"Wir erkl\u00e4ren, was SQL, ACID, Storage Engines und Galera Cluster sind."},{"speaker":"Christian","startTime":53.34,"endTime":58.62,"body":"Und nat\u00fcrlich sprechen wir auch \u00fcber unsere pers\u00f6nlichen Highlights. Also wir springen direkt rein. Viel Spa\u00df!"},{"speaker":"Christian","startTime":60.8,"endTime":63.54,"body":"Sag mal Enrico, wie sprichst du eigentlich unsere Datenbank aus?"},{"speaker":"Enrico","startTime":63.76,"endTime":65.519,"body":"Also ich sage da MySQL zu."},{"speaker":"Christian","startTime":66.62,"endTime":72.08,"body":"Okay, und was macht er so mit dir, Wolfi, wenn du das so h\u00f6rst? Ist das richtig? Was sagst du als Datenbank-Experte?"},{"speaker":"Wolfgang","startTime":72.2,"endTime":75.12,"body":"Es bringt mein Herz zum Gl\u00fchen, w\u00fcrde ich fast sagen."},{"speaker":"Wolfgang","startTime":75.26,"endTime":77.62,"body":"Also genau so, wie ich das auch richtig ausspreche."},{"speaker":"Wolfgang","startTime":78.2,"endTime":78.4,"body":"MySQL."},{"speaker":"Enrico","startTime":79.86,"endTime":83.56,"body":"Aber ich finde, das ist deutlich einfacher geworden mit MariaDB."},{"speaker":"Enrico","startTime":85.02,"endTime":89.86,"body":"Da f\u00e4llt es mir, also da habe ich, wei\u00df ich nicht, f\u00e4llt mir leichter, glaube ich."},{"speaker":"Wolfgang","startTime":88.96,"endTime":96.26,"body":"Ja, bei MariaDB gibt es wenig M\u00f6glichkeiten, w\u00fcrde ich sagen."},{"speaker":"Enrico","startTime":89.98,"endTime":91.5,"body":"Vielleicht mach ich's da aber auch noch falscherer."},{"speaker":"Enrico","startTime":91.82,"endTime":92.72,"body":"Falscherer? Naja."},{"speaker":"Wolfgang","startTime":96.84,"endTime":98.36,"body":"Wobei, alles ist ja irgendwie richtig."},{"speaker":"Wolfgang","startTime":98.81,"endTime":102.3,"body":"Also, da so, ist ja nur ein Name."},{"speaker":"Christian","startTime":103.18,"endTime":118.5,"body":"Ja, und es kommt auch darauf an, mit wem man sich unterh\u00e4lt. Also ich k\u00f6nnte mir vorstellen, wenn du so im US-amerikanischen Kontext unterwegs bist, dass da auch gerne mal die MariahDB ist, genauso wie wenn du auf US-Konferenzen bist, Leute auch von Linux sprechen und ich denke mir so, ah, es hei\u00dft Linux, stop it, please."},{"speaker":"Wolfgang","startTime":105.66,"endTime":106.1,"body":"Ja."},{"speaker":"Wolfgang","startTime":120.02,"endTime":126.92,"body":"Ja, aber da w\u00fcrde ich ja schon sagen, es geht eigentlich immer darauf zur\u00fcck, wer es erfunden hat und der darf entscheiden, wie man das Ganze nennt."},{"speaker":"Wolfgang","startTime":127.24,"endTime":135.18,"body":"Insofern MySQL, zumindest ist das mein Wissensstand, Monty hat das MySQL genannt und insofern ist es eigentlich MySQL."},{"speaker":"Christian","startTime":135.68,"endTime":137.12,"body":"Da w\u00fcrde ich auch voll mitgehen."},{"speaker":"Christian","startTime":137.24,"endTime":139.62,"body":"Es gibt aber manchmal auch Ausnahmen, die die Regel best\u00e4tigen."},{"speaker":"Christian","startTime":139.68,"endTime":143.16,"body":"War das nicht so, dass der GIF-Erfinder es JIF ausspricht?"},{"speaker":"Christian","startTime":143.26,"endTime":145.34,"body":"Und das ist ja hinderlich bekannt, dass das falsch ist."},{"speaker":"Wolfgang","startTime":146.48,"endTime":148.98,"body":"Okay, du hast immer ein gutes Gegenbeispiel, ja?"},{"speaker":"Enrico","startTime":152.8,"endTime":154.16,"body":"mit euch den Podcast aufzeichnen."},{"speaker":"Wolfgang","startTime":155.1,"endTime":157.4,"body":"Okay, ich sage jetzt lieber nicht, was ich mache."},{"speaker":"Enrico","startTime":157.68,"endTime":158.28,"body":"Nein!"},{"speaker":"Christian","startTime":159.94,"endTime":168.06,"body":"Also eine geheime Kombi, die ich sehr, sehr geil finde, ist Croissant, Ofen warm, Nutella, aber dazwischen noch sch\u00f6n Frischk\u00e4se."},{"speaker":"Christian","startTime":168.65,"endTime":169.14,"body":"Dank mir sp\u00e4ter."},{"speaker":"Wolfgang","startTime":169.52,"endTime":171.48,"body":"Sagt dir eigentlich die Butter oder der Butter?"},{"speaker":"Christian","startTime":171.4,"endTime":172.2,"body":"Dem Buddha."},{"speaker":"Enrico","startTime":173.6,"endTime":174.94,"body":"Die Mutter."},{"speaker":"Wolfgang","startTime":176.14,"endTime":178.12,"body":"Also eher der eigentlich, oder?"},{"speaker":"Wolfgang","startTime":178.3,"endTime":178.96,"body":"Bei dir, Christian"},{"speaker":"Christian","startTime":179.22,"endTime":184.82,"body":"Also ich glaube, in Hessen sagt man die Buddha, der Schwabe w\u00fcrde sagen, kosch mir mal den Buddha-Gabbit."},{"speaker":"Wolfgang","startTime":186.64,"endTime":187.6,"body":"Eben, eben"},{"speaker":"Wolfgang","startTime":187.62,"endTime":188.7,"body":"Ja, ich bin auch bei die Butter."},{"speaker":"Wolfgang","startTime":188.86,"endTime":190.82,"body":"Aber in \u00d6sterreich gibt es ganz viele Bereiche,"},{"speaker":"Wolfgang","startTime":191.44,"endTime":192.46,"body":"die auch der Butter sind."},{"speaker":"Wolfgang","startTime":193.06,"endTime":196.46,"body":"Oder das Teller, der Teller, gibt es alles."},{"speaker":"Enrico","startTime":196.16,"endTime":197.56,"body":"Herrlich."},{"speaker":"Christian","startTime":198.46,"endTime":201.4,"body":"Wunderbar. Ja, das bringt uns direkt zur Vorstellungsrunde."},{"speaker":"Christian","startTime":201.48,"endTime":211.44,"body":"Wir haben heute einen tollen Gast, Wolfgang, wir haben jetzt deine Stimme schon geh\u00f6rt und einige erkennen vielleicht dich an der Stimme oder am Intro, dass du hier zu Gast sein k\u00f6nntest."},{"speaker":"Christian","startTime":211.82,"endTime":223.34,"body":"Aber f\u00fcr die Leute, die dich vielleicht noch nicht kennen, stell dich doch gerne mal vor und kl\u00e4r uns auf, womit besch\u00e4ftigst du dich, was machst du heute so und was ist so dein Bezug eigentlich zu der Datenbank, \u00fcber die wir heute sprechen?"},{"speaker":"Wolfgang","startTime":226.6,"endTime":231,"body":"Stimme kennen und heute habe ich gute Ausrede, dass ich mit halber Stimme leicht verk\u00fchlt,"},{"speaker":"Wolfgang","startTime":231.04,"endTime":235.94,"body":"wie man bei uns sagt, unterwegs bin. Aber wenn man meine Stimme kennt, dann am ehesten"},{"speaker":"Wolfgang","startTime":236.02,"endTime":242.56,"body":"vom Engineering Kiosk Podcast, wo ich ja mit meinem Co-Host Andi aus Duisburg mich so jede"},{"speaker":"Wolfgang","startTime":242.8,"endTime":247.8,"body":"Woche, ich w\u00fcrde nicht sagen streite, aber \u00fcber viele Themen diskutiere, unter anderem"},{"speaker":"Wolfgang","startTime":247.86,"endTime":253.1,"body":"auch Datenbanken, aber wir haben neben der Technik eigentlich, die f\u00fcr uns so ein gel\u00f6stes"},{"speaker":"Christian","startTime":252.84,"endTime":253.1,"body":"..."},{"speaker":"Wolfgang","startTime":253.12,"endTime":259.799,"body":"Problem eigentlich darstellt, ganz viele Themen au\u00dferhalb der Technik auch, also sei es psychologische"},{"speaker":"Wolfgang","startTime":259.98,"endTime":266.64,"body":"Themen, Team, Leadership, ganzen Prozesse rundherum, also wir bearbeiten da eigentlich alles auch"},{"speaker":"Wolfgang","startTime":266.7,"endTime":271.08,"body":"abseits der Technik und nat\u00fcrlich auch Technikthemen, ganz klar. Also wir haben auch ganz viele"},{"speaker":"Wolfgang","startTime":271.3,"endTime":277.06,"body":"Datenbank-Episoden schon gemacht. Jetzt wenn du fragst zu meiner Person selber, was mich so mit"},{"speaker":"Wolfgang","startTime":277.12,"endTime":282.48,"body":"Datenbanken verbindet, auch wenn ich jetzt eigentlich eher so im Consulting-Bereich unterwegs bin und"},{"speaker":"Wolfgang","startTime":282.5,"endTime":288.02,"body":"mehr im Leadership-Bereich, kommt mein Ursprung eigentlich schon aus der Datenbankwelt oder"},{"speaker":"Wolfgang","startTime":288.06,"endTime":289.52,"body":"mein Herz schl\u00e4gt f\u00fcr Datenbanken."},{"speaker":"Wolfgang","startTime":290.34,"endTime":296.36,"body":"Habe ganz fr\u00fcher lange an der Uni an einem Lehrstuhl f\u00fcr Datenbanken geforscht und gelehrt"},{"speaker":"Wolfgang","startTime":296.4,"endTime":303.5,"body":"und habe da auch mal so ein MySQL-Buch geschrieben, im Galileo Verlag damals, oder Rheinwerk hei\u00dft"},{"speaker":"Wolfgang","startTime":303.56,"endTime":303.96,"body":"er ja mittlerweile."},{"speaker":"Wolfgang","startTime":304.84,"endTime":308.76,"body":"Also es war so ein richtiger W\u00e4lzer, irgendwie so 800 Seiten, habe ich mit zwei Co-Autorinnen"},{"speaker":"Wolfgang","startTime":310.059,"endTime":311.7,"body":"geschrieben, so ein Standardwerk."},{"speaker":"Wolfgang","startTime":312.48,"endTime":315.58,"body":"Und seitdem brennt mein Herz nat\u00fcrlich schon irgendwie f\u00fcr Datenbanken,"},{"speaker":"Wolfgang","startTime":315.7,"endTime":318.84,"body":"auch wenn ich mittlerweile nat\u00fcrlich weniger mit Datenbanken zu tun habe,"},{"speaker":"Wolfgang","startTime":319.02,"endTime":321.78,"body":"wobei in allen Side-Projects, und das sind viele von mir,"},{"speaker":"Wolfgang","startTime":322.16,"endTime":324.28,"body":"kommen nat\u00fcrlich immer irgendwo Datenbanken vor."},{"speaker":"Wolfgang","startTime":324.46,"endTime":328.1,"body":"Und da bin dann ich, der sich gerne nat\u00fcrlich um die Datenbank k\u00fcmmert"},{"speaker":"Wolfgang","startTime":328.26,"endTime":329.58,"body":"oder k\u00fcmmern muss meistens."},{"speaker":"Wolfgang","startTime":329.84,"endTime":331.76,"body":"So SQL-Quals werden dann immer zu mir geschoben."},{"speaker":"Wolfgang","startTime":331.88,"endTime":334.62,"body":"Wolfi, fix mal dies langsam oder so, du kannst es besser."},{"speaker":"Christian","startTime":333.92,"endTime":336.64,"body":"Ja, spannend."},{"speaker":"Christian","startTime":336.86,"endTime":348.72,"body":"Also das ist auch so meine erste Assoziation, wenn ich deinen Namen immer lese. Wolfgang, der Meister der Sidequests, weil wie viele Lebenprojekte hast du? Ich glaube, das ist schon fast im zweistelligen Bereich, oder?"},{"speaker":"Wolfgang","startTime":349.1,"endTime":351.6,"body":"Na ja, wenn es nach den Domains geht, auf jeden Fall."},{"speaker":"Wolfgang","startTime":351.79,"endTime":354.32,"body":"Also Domains sind sicher um die 40 oder so, die ich habe."},{"speaker":"Wolfgang","startTime":355.12,"endTime":357.38,"body":"Jetzt Projekte, die wirklich live sind und Startups,"},{"speaker":"Wolfgang","startTime":358.18,"endTime":359.92,"body":"ich wei\u00df nicht, ob es zweistellig ist,"},{"speaker":"Wolfgang","startTime":360.13,"endTime":362.76,"body":"aber im h\u00f6heren einstelligen Bereich auf jeden Fall, ja."},{"speaker":"Christian","startTime":362.88,"endTime":369.9,"body":"Das w\u00e4re doch auch mal spannend, wer von euch mehr Domains hat, weil von Enrico wei\u00df ich, dass er Domains auch hortet, wie manche andere Leute Hardware horten."},{"speaker":"Wolfgang","startTime":369.819,"endTime":370.9,"body":"Wie viel hast du?"},{"speaker":"Enrico","startTime":370.78,"endTime":375.3,"body":"Das m\u00fcsste ich jetzt bei mehreren Providern einmal durchgucken."},{"speaker":"Christian","startTime":375.46,"endTime":381.8,"body":"Okay, das sagt halt schon viel \u00fcber dein Domain-Kaufverhalten aus, wenn es nicht ein Provider ist, sondern direkt mehr."},{"speaker":"Enrico","startTime":381.02,"endTime":400.08,"body":"Ja, aber man muss doch erstmal irgendwie den Namen sichern, gucken, wie man sich mit dieser Domain so f\u00fchlt. Da muss man so die ersten drei Jahre vergehen lassen, um zu gucken, ob man immer noch gen\u00fcgend Gef\u00fchle f\u00fcr den Namen hat oder ob es sich verschwendet anf\u00fchlt und dann kann man so langsam anfangen, das reifen zu lassen. So ist zumindest bei mir h\u00e4ufig der Prozess."},{"speaker":"Wolfgang","startTime":400.24,"endTime":404.76,"body":"Ich habe eine neue Regel: Solange es kein Produkt gibt, was wirklich funktioniert und"},{"speaker":"Wolfgang","startTime":405.02,"endTime":407.74,"body":"quasi online geschaltet werden kann, gibt es keine Domain."},{"speaker":"Enrico","startTime":408.58,"endTime":425.44,"body":"Ja, ich sollte dich mit meiner Frau verbinden. Die hat auch gesagt, ich darf keine neuen Power-Tools mehr kaufen, bevor ich ihr nicht mindestens sagen kann, was ich damit genau umsetzen m\u00f6chte. Dadurch ist der Schuppen etwas aufger\u00e4umter, aber diese Art der Beschr\u00e4nkung m\u00f6chte ich bei meinen Domain-Impuls-K\u00e4ufen noch nicht zulassen."},{"speaker":"Christian","startTime":417.42,"endTime":417.78,"body":"Ja."},{"speaker":"Christian","startTime":427.56,"endTime":430.06,"body":"Also ich mache das so, immer wenn ich eine neue Domain kaufe,"},{"speaker":"Christian","startTime":430.18,"endTime":432.28,"body":"habe ich mir jetzt angew\u00f6hnt bei den letzten 1, 2,"},{"speaker":"Christian","startTime":432.61,"endTime":435.96,"body":"mache ich Marie Kondo-Style-m\u00e4\u00dfig mal mein Admin-Panel auf"},{"speaker":"Christian","startTime":436.01,"endTime":437.54,"body":"und gucke, ob ich die anderen noch brauche."},{"speaker":"Christian","startTime":437.99,"endTime":440.12,"body":"Dann stelle ich dann traurig fest, dass es Domains gibt,"},{"speaker":"Christian","startTime":440.28,"endTime":444.48,"body":"die ich seit Jahren nicht verwende und dann entsorge ich eine, bevor ich die n\u00e4chste kaufe."},{"speaker":"Enrico","startTime":444.719,"endTime":456.9,"body":"Aber ist das bei Marie Kondo nicht so, dass sie sagt, hey, mach dir das noch Freude und ich gucke mir den Namen an und denke mir, was f\u00fcr eine geile Idee, was war das f\u00fcr, also wie konnte ich diesen coolen Gedanken haben und das macht mich dann gl\u00fccklich, auch wenn ich es nicht nutze."},{"speaker":"Christian","startTime":457.16,"endTime":461.8,"body":"Er ist bei mir anders. Ich sch\u00e4me mich dann und denke mir dann so, das ist verschenktes Potenzial"},{"speaker":"Christian","startTime":462.28,"endTime":465.58,"body":"und jetzt gehe ich mich duschen besonders lange, um das abzuwaschen."},{"speaker":"Enrico","startTime":468.02,"endTime":469.02,"body":"Oh Mann, oh Mann."},{"speaker":"Wolfgang","startTime":468.1,"endTime":468.46,"body":"Wie ist die Situation in der Welt?"},{"speaker":"Christian","startTime":469.92,"endTime":481.88,"body":"Ja, okay, also in deinen Site-Projects ist nat\u00fcrlich auch eine Datenbank bei dem einen oder anderen Projekt auch relevant, ist nat\u00fcrlich klar. Also du machst vor allem ja auch, glaube ich, viel Web-Anwendung, wenn ich es richtig wei\u00df. Und da ist nat\u00fcrlich auch, muss man irgendwo Daten persistieren."},{"speaker":"Wolfgang","startTime":498.1,"endTime":502.08,"body":"Obwohl ich das jetzt f\u00fcr eine schlechte Idee halte grunds\u00e4tzlich, aber macht man trotzdem oft."},{"speaker":"Wolfgang","startTime":502.71,"endTime":504.68,"body":"Und da kommen schon ordentliche Datenmengen zusammen."},{"speaker":"Wolfgang","startTime":505.03,"endTime":508.44,"body":"Also zeig mir ein Projekt, wo du eigentlich keine Datenbank mehr hast."},{"speaker":"Wolfgang","startTime":508.51,"endTime":516.2,"body":"Und sogar wenn du irgendwie eine Handy-App hast, hast du eine SQLite auf deinem Handy als kleine Embedded-Datenbank."},{"speaker":"Christian","startTime":514.419,"endTime":514.82,"body":"Ja."},{"speaker":"Wolfgang","startTime":516.419,"endTime":518.919,"body":"Also Datenbanken hast du heutzutage meiner Meinung nach \u00fcberall."},{"speaker":"Christian","startTime":519.24,"endTime":522.9,"body":"Ich wei\u00df, die Frage soll man nie stellen, aber hast du ein Lieblings-Side-Projekt?"},{"speaker":"Christian","startTime":523.62,"endTime":524.86,"body":"Also die Frage nach dem Lieblingskind."},{"speaker":"Wolfgang","startTime":526.04,"endTime":555.38,"body":"Ist sehr schwierig, aber ich w\u00fcrde mal sagen, eines der l\u00e4ngsten Side-Projects, die konstant jetzt wirklich durchgehen, ist wirklich das Engineering-Kiosk, weil der Andi mich einfach immer pusht scheinbar, muss man eben lassen. Und das machen wir jetzt, glaube ich, fast drei Jahre. Das hei\u00dft, konsistent jede Woche eine Episode raushauen und euch brauche ich wenig sagen, wie viel Arbeit das ist. Also das ist sicher ein Projekt, was auf jeden Fall sehr wichtig ist und sehr viel Zeit in Anspruch nimmt."},{"speaker":"Christian","startTime":555.74,"endTime":579.64,"body":"Absolut. Und da leistet ihr nat\u00fcrlich auch einen wertvollen Beitrag zur deutschsprachigen Podcast-Bubble, muss man mal ganz ehrlich sagen. Denn so haben wir uns auch eigentlich kennengelernt. Also ihr habt nicht nur selbst einen Podcast, sondern ihr kuratiert auch selbst eine Liste an deutschsprachigen Tech-Podcasts. Und da habt ihr einfach ein paar Leute angeschrieben und da ist echt viel gutes Zeug bei. Und davon profitiert man nat\u00fcrlich, wenn man auf der Seite ist und entdeckt da, was es sonst so Spannendes drau\u00dfen gibt."},{"speaker":"Wolfgang","startTime":578.36,"endTime":579.76,"body":"Genau."},{"speaker":"Wolfgang","startTime":580.52,"endTime":592.42,"body":"Also eigentlich war der Ursprung, dass wir uns \u00fcberlegt haben, wir machen einen Podcast, einen technischen Podcast, auch so ein bisschen Metademen, weil es gibt da drau\u00dfen noch keine anderen Podcasts."},{"speaker":"Wolfgang","startTime":592.84,"endTime":609.74,"body":"Dann haben wir gestartet und haben uns \u00fcberlegt, eigentlich schauen wir mal, was es sonst gibt und pl\u00f6tzlich haben wir einen Podcast nach dem anderen gefunden. Dann haben wir gedacht, okay, da braucht es eindeutig eine Liste und jetzt haben wir eine Liste gleich von 60 Podcasts auf der Liste, die wirklich deutschsprachig im Tech-Bereich unterwegs sind."},{"speaker":"Wolfgang","startTime":609.92,"endTime":631.84,"body":"Und ja, ist auch so eine Anlaufstelle geworden. Also wenn man langweilig ist, wer zu wenig Podcast noch hat, zu wenige Episoden zum H\u00f6ren, also hoffentlich haben alle da drau\u00dfen ja mindestens 60 weitere Episoden in der Playlist zum H\u00f6ren. Also wer da noch weniger als 60 hat, findet dort sicher noch ein paar Podcasts, die man h\u00f6ren kann aus allen Bereichen von Security bis zu Gaming haben wir alles drin."},{"speaker":"Christian","startTime":620.5,"endTime":621.9,"body":"..."},{"speaker":"Christian","startTime":633.019,"endTime":633.22,"body":"..."},{"speaker":"Christian","startTime":634.04,"endTime":635.86,"body":"packen wir nat\u00fcrlich auch f\u00fcr die geneigten Zuh\u00f6renden"},{"speaker":"Christian","startTime":635.97,"endTime":638.04,"body":"in die Shownotes. Ja, heute geht"},{"speaker":"Christian","startTime":638.07,"endTime":639.92,"body":"es um MySQL, wie wir"},{"speaker":"Christian","startTime":639.97,"endTime":641.9,"body":"jetzt festgelegt haben und"},{"speaker":"Christian","startTime":641.95,"endTime":643.66,"body":"ich glaube, da fangen wir einfach mal mit"},{"speaker":"Christian","startTime":643.89,"endTime":645.84,"body":"einem Einstieg ein, um wirklich alle abzuh\u00f6ren, denn ich k\u00f6nnte mir"},{"speaker":"Christian","startTime":645.9,"endTime":647.92,"body":"vorstellen, dass unter unseren Zuh\u00f6renden"},{"speaker":"Christian","startTime":647.98,"endTime":649.76,"body":"es Leute gibt, die das alles schon l\u00e4ngst wissen, die"},{"speaker":"Christian","startTime":649.77,"endTime":651.84,"body":"jetzt vermutlich schon skippen und sagen, jetzt kommt doch mal zum Punkt."},{"speaker":"Christian","startTime":652.42,"endTime":653.28,"body":"Mancher anderer sagt vielleicht,"},{"speaker":"Christian","startTime":653.88,"endTime":655.64,"body":"was ist eigentlich dieses relationale"},{"speaker":"Christian","startTime":656.5,"endTime":657.76,"body":"Datenbankverwaltungssystem und was bedeutet das?"},{"speaker":"Christian","startTime":658.24,"endTime":659.86,"body":"Vielleicht beginnen wir mal damit, damit wir"},{"speaker":"Christian","startTime":659.86,"endTime":664,"body":"alle dasselbe Verst\u00e4ndnis haben. Also"},{"speaker":"Christian","startTime":664.02,"endTime":667.56,"body":"Wie w\u00fcrdest du das definieren? Was ist das zusammengefasst?"},{"speaker":"Wolfgang","startTime":667.92,"endTime":668.86,"body":"Ich bin mir gar nicht sicher,"},{"speaker":"Wolfgang","startTime":668.94,"endTime":673.78,"body":"ob das alle wissen, weil es gibt ja auch keine so Datenbanken wie MongoDB, die eigentlich"},{"speaker":"Wolfgang","startTime":673.97,"endTime":678.74,"body":"sehr beliebt sind, immer noch, w\u00fcrde ich mal sagen. Und wenn man nat\u00fcrlich mit so"},{"speaker":"Wolfgang","startTime":678.77,"endTime":682.36,"body":"einem Datenbanksystem einsteigt, hat man eigentlich wenig Ber\u00fchrungen mit einem klassischen"},{"speaker":"Wolfgang","startTime":683.76,"endTime":686.82,"body":"relationalen Datenbankmodell, das sich ja eigentlich jetzt so durchgesetzt hat seit"},{"speaker":"Wolfgang","startTime":687.02,"endTime":693.48,"body":"den 60er Jahren, w\u00fcrde ich fast sagen, 70er Jahren. So alt ist das Ganze ja schon. Und"},{"speaker":"Wolfgang","startTime":693.56,"endTime":698.9,"body":"das ist eigentlich das, was wir so als klassische Datenbank kennen. Also das hat damals der"},{"speaker":"Wolfgang","startTime":699.72,"endTime":703.18,"body":"Edgar Cott irgendwann mal vorgestellt in den 70er Jahren mit einem Paper."},{"speaker":"Wolfgang","startTime":703.96,"endTime":705.36,"body":"Da waren so ein paar Grabenk\u00e4mpfe,"},{"speaker":"Wolfgang","startTime":705.76,"endTime":708.06,"body":"da hat es noch ein paar unterschiedliche Modelle gegeben"},{"speaker":"Wolfgang","startTime":708.84,"endTime":711.92,"body":"und da hat sich dann das klassische relationale Modell eigentlich durchgesetzt."},{"speaker":"Wolfgang","startTime":712.92,"endTime":717.2,"body":"Aus dem Grund, weil das relationale Modell eigentlich das erste Datenbankmodell war,"},{"speaker":"Wolfgang","startTime":717.26,"endTime":722.14,"body":"das gesagt hat, unsere Daten sind getrennt von der Abfragesprache."},{"speaker":"Wolfgang","startTime":722.64,"endTime":726.02,"body":"Also fr\u00fcher hat man die Daten immer so abgespeichert, wie man sie auch gebraucht hat,"},{"speaker":"Christian","startTime":724.02,"endTime":726.44,"body":"Hm?"},{"speaker":"Wolfgang","startTime":726.26,"endTime":728.68,"body":"wie wenn man sie jetzt in Variablen oder so abspeichern w\u00fcrde."},{"speaker":"Wolfgang","startTime":729.32,"endTime":731.34,"body":"das war nat\u00fcrlich sehr aufwendig, wenn da"},{"speaker":"Wolfgang","startTime":731.52,"endTime":733.58,"body":"das Ganze auf Band gespeichert worden ist"},{"speaker":"Wolfgang","startTime":733.67,"endTime":735.66,"body":"wie fr\u00fcher, diese rotierenden B\u00e4nder, wie man sie noch"},{"speaker":"Wolfgang","startTime":735.86,"endTime":737.82,"body":"kennt aus irgendwelchen alten James-Bond-Filmen oder so"},{"speaker":"Wolfgang","startTime":739.14,"endTime":739.76,"body":"da irgendwas"},{"speaker":"Wolfgang","startTime":739.9,"endTime":741.62,"body":"zu finden, wenn man da hin und her spulen muss"},{"speaker":"Wolfgang","startTime":741.67,"endTime":743.52,"body":"und so weiter und dann ist das nur irgendwie in dem"},{"speaker":"Wolfgang","startTime":743.76,"endTime":745.58,"body":"Muster abgelegt, wie man das halt braucht"},{"speaker":"Wolfgang","startTime":745.71,"endTime":747.68,"body":"wie man die Anfragen macht und das war"},{"speaker":"Wolfgang","startTime":747.81,"endTime":749.62,"body":"nat\u00fcrlich nicht sehr flexibel und das relationale"},{"speaker":"Wolfgang","startTime":749.98,"endTime":751.78,"body":"Datenbankmodell hat das eigentlich aufgeweicht, dass man"},{"speaker":"Wolfgang","startTime":752.14,"endTime":753.62,"body":"einerseits eine Anfragesprache hat"},{"speaker":"Wolfgang","startTime":753.74,"endTime":755.58,"body":"SQL in dem Fall und"},{"speaker":"Wolfgang","startTime":755.69,"endTime":757.759,"body":"das relationale Modell, wie das abgespeichert"},{"speaker":"Wolfgang","startTime":757.78,"endTime":761.88,"body":"ist und dann kann man je nachdem, wie man es braucht, der Buchhalter braucht es in einer"},{"speaker":"Wolfgang","startTime":761.92,"endTime":767.6,"body":"anderen Form als vielleicht die Programmiererin vom User Interface im Web, kann dann \u00fcber"},{"speaker":"Wolfgang","startTime":767.61,"endTime":771.94,"body":"die richtigen Anfragen die Daten so bekommen, wie man sie eben gerne h\u00e4tte. Und im Hintergrund"},{"speaker":"Wolfgang","startTime":772.08,"endTime":776.5,"body":"liegen halt ganz klassisch diese Tabellen, wie man sie kennt oder Tupeln, wie sie offiziell"},{"speaker":"Wolfgang","startTime":776.68,"endTime":781.42,"body":"hei\u00dfen, wo man dann definiert, ich habe diese Spalten mit diesen Typen, sollen Integer"},{"speaker":"Wolfgang","startTime":781.54,"endTime":786.2,"body":"wert sein, sollen numerischer wert sein, sollen String sein, kann da auch noch Checks machen,"},{"speaker":"Wolfgang","startTime":786.24,"endTime":791.2,"body":"auch komplexere Checks mit Fremdschl\u00fcsselbeziehungen. Das kennen auch die wenigsten, muss man sagen."},{"speaker":"Wolfgang","startTime":791.31,"endTime":796.18,"body":"Also ich kenne ganz viele ProgrammiererInnen, die eigentlich nie was mit Fremdschl\u00fcsseln zu tun gehabt haben,"},{"speaker":"Wolfgang","startTime":796.65,"endTime":799.9,"body":"das vielleicht mal geh\u00f6rt haben, so im Hintergrund, aber dass man wirklich sagen kann,"},{"speaker":"Wolfgang","startTime":800.67,"endTime":806.98,"body":"zwei Tabellen h\u00e4ngen in irgendeiner Form miteinander zusammen und eine Rechnung darf zum Beispiel nur existieren,"},{"speaker":"Wolfgang","startTime":807.01,"endTime":809.84,"body":"wenn es auch den Kunden dazu gibt mit der Kundennummer."},{"speaker":"Wolfgang","startTime":811.14,"endTime":815.34,"body":"Solche Fremdschl\u00fcsselbeziehungen sieht man, muss man zugeben, auch sehr selten."},{"speaker":"Wolfgang","startTime":815.42,"endTime":829.84,"body":"Also wenn du jetzt auf irgendwelche Open-Source-Gitarr-Projekte schaust, sieht man da ganz oft klassische Tabellenstrukturen, MySQL wird verwendet, aber dass da mal Foreign Keys, Fremdschl\u00fcsselbeziehungen sinnvoll definiert sind, das passiert eigentlich seltener, als man denkt."},{"speaker":"Wolfgang","startTime":830.44,"endTime":847.86,"body":"Und seit den 70ern hat sich das dann eben weiterentwickelt. Ganz klassisch war da Oracle und DB2. Das waren so die zwei gro\u00dfen Player. Und irgendwann dann in den 90ern ist da Monty um die Ecke gekommen. Also das ist so der Vater von MySQL, k\u00f6nnte man sagen."},{"speaker":"Wolfgang","startTime":848.2,"endTime":875.8,"body":"Der hat das auch damals definiert, den Namen. Also Mai ist die Tochter von ihm, die hei\u00dft so. Drum hei\u00dft es Mai SQL. Hat also nichts mit meiner SQL-Datenbank zu tun, sondern wirklich mit seiner Tochter. Und der hat damals eine Datenbank entwickelt, die Open Source und kostenlos war. Und das war eigentlich die gro\u00dfe Neuerung damals, weil davor hat es nur Oracle gegeben und DB2 und da hast du richtig viel Geld ablegen m\u00fcssen, damit du die bekommen hast."},{"speaker":"Christian","startTime":866.2,"endTime":866.58,"body":"Hm."},{"speaker":"Wolfgang","startTime":875.9,"endTime":894.14,"body":"Also ist ja immer noch so, Oracle l\u00e4sst sich das auch zahlen. Auch fr\u00fcher war das Modell schon pro CPU. Das hei\u00dft nicht, wie viele User oder Daten du hast, sondern meistens auf wie viele CPUs du das laufen l\u00e4sst. Mittlerweile gibt es da mehrere Modelle nat\u00fcrlich. Aber da hast du schon mal irgendwie eine Million oder so abgelegt nur f\u00fcr die Datenbank."},{"speaker":"Wolfgang","startTime":894.26,"endTime":918.34,"body":"Und dann kommt da jemand um die Ecke und sagt, hey, ich bringe da eine kostenlose Datenbank auf den Markt, Open Source. Und das war eigentlich die gro\u00dfe \u00c4nderung damals, weil heutzutage w\u00fcrde ich sagen, fast alle Datenbanken, die es so gibt am Markt, die so auch neu aufbabbeln, gibt ja immer wieder mal so die eine oder andere Datenbank, die ist Open Source und die ist kostenlos."},{"speaker":"Wolfgang","startTime":918.48,"endTime":922.06,"body":"Also es ist fast so eine Infrastruktur, die bereitgestellt wird und das kostenlos."},{"speaker":"Wolfgang","startTime":922.5,"endTime":929.54,"body":"Und das war fr\u00fcher absolut nicht der Fall und da war MySQL einfach ein kompletter Vorreiter als kostenlose Datenbank."},{"speaker":"Christian","startTime":927.319,"endTime":930.64,"body":"Ja, stimmt."},{"speaker":"Christian","startTime":930.8,"endTime":936.48,"body":"Und da kann ich mich so daran erinnern, dass als ich das erste Mal am Rechner sa\u00df und das auch mitbekommen habe in meinem Familienkreis,"},{"speaker":"Christian","startTime":936.7,"endTime":944.52,"body":"Leute, die auch in der EDV, sagt man ja fr\u00fcher, gearbeitet haben, da war das immer extrem kritisch und teuer, wenn man Datenbanken hatte."},{"speaker":"Christian","startTime":944.82,"endTime":952.559,"body":"Also das waren dann immer teuer eingekaufte Produkte und das ist ja schon sehr rebellisch in den 90ern, einfach so eine Datenbank f\u00fcr Laura auszubringen."},{"speaker":"Christian","startTime":953.68,"endTime":957.66,"body":"Kann ich mir vorstellen, dass es da einige Leute gab bei Oracle und Co., die das nicht so toll fanden."},{"speaker":"Wolfgang","startTime":957.7,"endTime":959.64,"body":"Ja, die haben das eher eingeschaut."},{"speaker":"Wolfgang","startTime":959.68,"endTime":982.26,"body":"so bel\u00e4chelt. Also ich kann mich noch erinnern, in den 90ern, mein Bruder, der ist zehn Jahre \u00e4lter, war aber auch schon in der Programmierung t\u00e4tig, der hat das auch immer so bel\u00e4chelt und der hat immer so gesagt, ja, MySQL ist ja nur ein Adressbuch, was irgendwie SQL versteht. Also viel sicherer kann man da ja Daten eigentlich nicht ablegen, als ein paar irgendwie Adressdaten. Hat sich mittlerweile auch ge\u00e4ndert, war teilweise damals vielleicht auch so."},{"speaker":"Wolfgang","startTime":982.38,"endTime":999.84,"body":"Aber der gro\u00dfe Unterschied, der eigentlich auch noch zus\u00e4tzlich zum Preis war, war, dass MySQL super einfach zu installieren war. Das hei\u00dft, ich kann mich da auch noch erinnern, in den 90ern, da war ich noch in der Schule teilweise, aber ich habe es geschafft, eine MySQL-Datenbank aufzusetzen. Ich h\u00e4tte nie im Leben eine Oracle aufsetzen k\u00f6nnen."},{"speaker":"Wolfgang","startTime":1000,"endTime":1019.32,"body":"Ich habe mal so ein Oracle-Handbuch damals in den 90ern bekommen und ich habe einfach N\u00fcsse verstanden, wirklich null. Und MySQL hast du installiert, das war sicher einfach und vielleicht war es nur ein Telefonbuch damals, aber es hat funktioniert. Es war ein funktionierendes Telefonbuch und f\u00fcr irgendwelche Internetprojekte leicht ausreichend und vor allem kostenlos."},{"speaker":"Wolfgang","startTime":1019.46,"endTime":1028.6,"body":"Weil wenn du da mal ein Internetprojekt startest, du hast halt keine 100.000 Euro mal so auf der Seite, wo du einfach eine Oracle oder DB2 kaufen kannst, damit du da irgendwas abspeichern kannst."},{"speaker":"Wolfgang","startTime":1029.13,"endTime":1031.959,"body":"Und da hat MySQL nat\u00fcrlich komplett den Markt gedreht damals."},{"speaker":"Christian","startTime":1032.48,"endTime":1035.64,"body":"War auch so die erste Datenbank, mit der ich mich damals besch\u00e4ftigt habe."},{"speaker":"Christian","startTime":1035.65,"endTime":1039.98,"body":"Ich habe gerade so ein bisschen dar\u00fcber nachgedacht, als du erz\u00e4hlt hast, wo das Projekt eigentlich herkam."},{"speaker":"Christian","startTime":1040.069,"endTime":1044.439,"body":"Da ist direkt eine sehr starke Erinnerung an meine Berufsschulzeit hochgekommen."},{"speaker":"Christian","startTime":1044.449,"endTime":1046,"body":"Mal gucken, ob es Enrico genauso geht."},{"speaker":"Christian","startTime":1046.839,"endTime":1051.88,"body":"Normalisierung von Datenbanken. Hier, Herr Barz, erste Normalform, bitte, an die Tafel."},{"speaker":"Enrico","startTime":1052.039,"endTime":1054.56,"body":"Ich habe mich damals schon dem verweigert"},{"speaker":"Enrico","startTime":1054.7,"endTime":1056.66,"body":"und gesagt, guck mal, wenn ihr das"},{"speaker":"Enrico","startTime":1057.02,"endTime":1058.42,"body":"zu Tode normalisiert, habt ihr"},{"speaker":"Enrico","startTime":1058.52,"endTime":1060.34,"body":"Performance-Impacts und das geht manchmal"},{"speaker":"Enrico","startTime":1060.8,"endTime":1062.78,"body":"vielleicht, also manchmal ist nicht normalisieren"},{"speaker":"Enrico","startTime":1062.88,"endTime":1063.8,"body":"auch optimieren."},{"speaker":"Christian","startTime":1064.88,"endTime":1070,"body":"Ja, das ist eine Diskussion, die habe ich mit meinem Datenbanklehrer auch gef\u00fchrt, da kann ich mich auch sehr lebhaft daran erinnern."},{"speaker":"Enrico","startTime":1070.26,"endTime":1072.42,"body":"Ja, ja, ja und wahrscheinlich bin ich dann rausgeflogen"},{"speaker":"Enrico","startTime":1072.48,"endTime":1075.26,"body":"deswegen kann ich dir nicht mehr sagen, wie es ausgegangen ist"},{"speaker":"Christian","startTime":1076.02,"endTime":1087.08,"body":"Kleiner Funfact, es gibt f\u00fcnf davon. Ich kannte nur die ersten drei. Aber die Berufsschulzeit ist bei mir halt auch schon eine zweistellige Anzahl an Jahren fast schon her und vermutlich hat sich da einfach ein bisschen was getan seitdem."},{"speaker":"Wolfgang","startTime":1086.32,"endTime":1090.64,"body":"Ja, die ersten drei sind ja eigentlich so die essentiellen, w\u00fcrde ich fast sagen."},{"speaker":"Wolfgang","startTime":1090.72,"endTime":1105.82,"body":"Die Normalform 1 ist \u00fcbrigens wirklich easy, die sagt ja nur, dass man eigentlich in einem Feld nicht zwei Informationen speichern sollte. Also du sollst nicht in einem Feld jetzt in Vornamen, Nachnamen und die Adresse rein speichern, sondern sollst halt einfach eigene Spalten machen, das ist ja relativ easy."},{"speaker":"Wolfgang","startTime":1106.32,"endTime":1127.06,"body":"Und ihr habt nat\u00fcrlich schon recht, also diese Normalisierungssache, die wurde auch mal so d\u00e4monisiert, auch von der Webwelt, weil die halt so eher nicht skaliert und wenn du dann immer in Google-Sph\u00e4ren oder so denkst, dann hast du nat\u00fcrlich irgendwie diese Duplizierung schon im Kopf und irgendwie musst du ja auch Daten teilweise duplizieren, wenn du sie auf mehreren Servern haben willst."},{"speaker":"Christian","startTime":1112.36,"endTime":1113.76,"body":"Hm."},{"speaker":"Wolfgang","startTime":1127.5,"endTime":1139.16,"body":"Also das ist dann schon ein bisschen aufgeweicht worden, ist heutzutage, w\u00fcrde ich mal sagen, kein Problem mehr, einfach aus dem Grund, weil die Geschwindigkeit viel ein kleineres Problem mittlerweile ist."},{"speaker":"Wolfgang","startTime":1139.3,"endTime":1154.78,"body":"Also wenn du eine MySQL-Datenbank hast, dieses Projekt, musst du mir erstmal zeigen, wo du dann duplizieren musst und denormalisieren musst, damit es noch in einigerma\u00dfen sinnvollen Sph\u00e4ren sich bewegt, geschwindigkeitstechnisch, glaube ich, ist schon eine Seltenheit."},{"speaker":"Wolfgang","startTime":1154.86,"endTime":1181.54,"body":"Und dann gibt es vielleicht auch noch andere Ma\u00dfnahmen, die man dann treffen kann, um das zu optimieren. Also dieser Kampf ist meiner Meinung nach ausgefochten. Zumindest habe ich ihn in der Realit\u00e4t weniger erlebt. Zu Anfangszeiten, wie gesagt in den 90ern, wo du halt um jeden CPU-Cycle irgendwie gek\u00e4mpft hast und dann der Webscale ein anderer Scale war fr\u00fcher, weil da, wenn du 1000 User hattest, pl\u00f6tzlich, das war ja, eine Oracle-Datenbank hatte nie 1000 User oder ganz selten 1000 User."},{"speaker":"Christian","startTime":1166,"endTime":1166.02,"body":"..."},{"speaker":"Enrico","startTime":1173.419,"endTime":1174.82,"body":"Hm."},{"speaker":"Christian","startTime":1180.92,"endTime":1195.96,"body":"Hm. Eindeutig, ja. Aber die Experience war wirklich eine tolle, dass das so einfach zu installieren war. Da kommen wir bestimmt sp\u00e4ter noch drauf zu sprechen, was dazu f\u00fchrte, dass die Datenbank so beliebt geworden ist."},{"speaker":"Wolfgang","startTime":1181.62,"endTime":1184.34,"body":"Also die waren ja einfach f\u00fcr andere Use Cases auch ausgelegt."},{"speaker":"Wolfgang","startTime":1184.58,"endTime":1186.02,"body":"Da hat sich schon viel, viel ge\u00e4ndert."},{"speaker":"Christian","startTime":1196.06,"endTime":1217.04,"body":"Ich habe auch mal versucht, in meiner Berufsschulzeit mich mit Oracle auseinanderzusetzen. Ich glaube, mein Abschlussprojekt war die Migration eines Nagios Monitoring-Systems auf eine neue Plattform, wo eine Oracle 11g R2 drunter lag und da war die Lernkurve echt hoch. Da hat mein Kopf sehr viel geraucht in der Zeit und das war bei MySQL bedeutend einfacher."},{"speaker":"Christian","startTime":1217.1,"endTime":1221.02,"body":"Also da konnte ich mit einzelnen Buffeten wirklich ganz schnell eine laufige Datenbank hinbekommen."},{"speaker":"Christian","startTime":1221.09,"endTime":1225.66,"body":"Und ja, heutzutage ist es vermutlich nicht mehr so relevant, so viel zu normalisieren."},{"speaker":"Christian","startTime":1225.76,"endTime":1231.44,"body":"Also ich kenne ganz viele Leute, die halt sagen, auf alles, wo ein Queue gemacht werden muss, da feuern wir irgendeinen Cache-Layer drauf."},{"speaker":"Christian","startTime":1231.7,"endTime":1236.74,"body":"Also statt zu normalisieren, schmei\u00dft man heute \u00fcberall Cache-Layer drauf, ist meine subjektive Wahrnehmung."},{"speaker":"Wolfgang","startTime":1236.54,"endTime":1240.74,"body":"Es war ja auch ganz interessant, warum eigentlich Oracle viel komplexer war."},{"speaker":"Wolfgang","startTime":1240.99,"endTime":1243.18,"body":"Die war nat\u00fcrlich \u00e4lter, ist schon klar, und hatten mehr Features."},{"speaker":"Wolfgang","startTime":1244.18,"endTime":1251.76,"body":"Aber geschichtlich gesehen ist das eigentlich auch sehr interessant, weil fr\u00fcher war die Hardware wesentlich teurer und eigentlich das begrenzte Gut."},{"speaker":"Wolfgang","startTime":1252.02,"endTime":1255.52,"body":"Und du hattest ganz viele Personen, Menschen, die sich darum k\u00fcmmern konnten."},{"speaker":"Wolfgang","startTime":1256.14,"endTime":1261.12,"body":"Das hei\u00dft, du hast eigentlich optimiert, m\u00f6glichst wenig Hardware zu brauchen und Menschen hattest du genug."},{"speaker":"Wolfgang","startTime":1261.26,"endTime":1269.78,"body":"Das hei\u00dft, du konntest genug Database Administrators einstellen, die sich dann k\u00fcmmern um diese Datenbank und die Datenbank auf den kleinen,"},{"speaker":"Wolfgang","startTime":1270.54,"endTime":1276.6,"body":"also klein war die Hardware ja nicht, aber schwachen Hardware, das m\u00f6glichst zu optimieren."},{"speaker":"Wolfgang","startTime":1276.61,"endTime":1279.98,"body":"Und darum gab es bei Oracle tausende Schrauben, die du einstellen konntest,"},{"speaker":"Christian","startTime":1278.84,"endTime":1280.24,"body":"Hm."},{"speaker":"Wolfgang","startTime":1279.99,"endTime":1282.82,"body":"oder gibt es wahrscheinlich immer noch, weil du hast ja 100 Leute,"},{"speaker":"Wolfgang","startTime":1282.93,"endTime":1284.48,"body":"die sich um diese Schrauben k\u00fcmmern k\u00f6nnen."},{"speaker":"Wolfgang","startTime":1285.6,"endTime":1291.72,"body":"Und es w\u00e4re teurer gewesen, zwei Racks dazu zu stellen, als eine zus\u00e4tzliche Person zu hiren fr\u00fcher."},{"speaker":"Wolfgang","startTime":1292.3,"endTime":1294.54,"body":"Und das hat sich nat\u00fcrlich mittlerweile auch komplett umgedreht,"},{"speaker":"Wolfgang","startTime":1294.57,"endTime":1298.4,"body":"dass die Menschen viel, viel teurer sind, Gott sei Dank, muss man sagen."},{"speaker":"Wolfgang","startTime":1298.82,"endTime":1302.1,"body":"Und die Hardware jetzt das Billige ist und du daher nat\u00fcrlich anders skalieren kannst"},{"speaker":"Wolfgang","startTime":1302.26,"endTime":1307.42,"body":"und die Einfachheit viel, viel wichtiger ist, als dass du irgendwie tausende Schrauben hast,"},{"speaker":"Wolfgang","startTime":1307.66,"endTime":1310.24,"body":"sondern es muss m\u00f6glichst einfach installierbar sein, wartbar sein,"},{"speaker":"Wolfgang","startTime":1310.86,"endTime":1312.76,"body":"damit du weniger Administratoren brauchst."},{"speaker":"Wolfgang","startTime":1312.78,"endTime":1317.12,"body":"Und heutzutage ist es ja schon so, dass man eigentlich kaum mehr diesen klassischen Job"},{"speaker":"Wolfgang","startTime":1317.32,"endTime":1320.96,"body":"von einem Datenbankadministrator hat oder der zumindest immer mehr abnimmt"},{"speaker":"Wolfgang","startTime":1321.12,"endTime":1323.819,"body":"und das mehr dann ins Development hineinrutscht,"},{"speaker":"Wolfgang","startTime":1324.62,"endTime":1327.619,"body":"dass die ProgrammiererInnen sich vielleicht auch selber k\u00fcmmern"},{"speaker":"Wolfgang","startTime":1327.64,"endTime":1331.88,"body":"oder Teile zumindest \u00fcbernehmen von der Datenbankwelt und das mitbetreuen."},{"speaker":"Wolfgang","startTime":1331.94,"endTime":1336.7,"body":"Und das ist nat\u00fcrlich nur m\u00f6glich, wenn die Datenbanken das dementsprechend auch m\u00f6glichst leicht machen."},{"speaker":"Christian","startTime":1337.02,"endTime":1340.04,"body":"Jetzt hast du ja gesagt, das Projekt ist von Monty gegr\u00fcndet worden."},{"speaker":"Christian","startTime":1340.04,"endTime":1341.08,"body":"Wo kommt der Name eigentlich her?"},{"speaker":"Christian","startTime":1341.1,"endTime":1343.36,"body":"Ich glaube, der hei\u00dft ja eigentlich Michael Videnius."},{"speaker":"Christian","startTime":1343.74,"endTime":1345.66,"body":"Oder ist das ein Spitzname dann?"},{"speaker":"Christian","startTime":1345.82,"endTime":1346.2,"body":"..."},{"speaker":"Wolfgang","startTime":1346.059,"endTime":1349.02,"body":"Genau, das ist ein Spitzname. Ich kenne ihn eigentlich nur unter Monty."},{"speaker":"Wolfgang","startTime":1349.16,"endTime":1352.24,"body":"Also wenn du ihn auf Konferenzen oder so triffst, spricht nur jeder von Monty."},{"speaker":"Wolfgang","startTime":1352.92,"endTime":1357.42,"body":"Ich glaube, er ist aus Schweden, wenn mich jetzt nicht alles deutscht, zumindest irgendwo aus Skandinavien."},{"speaker":"Wolfgang","startTime":1358.44,"endTime":1368.08,"body":"und es waren glaube ich drei Gr\u00fcnder, David Exmark und Alan Larson, die MySQL gegr\u00fcndet haben,"},{"speaker":"Wolfgang","startTime":1368.82,"endTime":1374.34,"body":"aber der Monty war halt die Figur vorne dran und der sich um alles gek\u00fcmmert hat."},{"speaker":"Wolfgang","startTime":1374.35,"endTime":1379.14,"body":"Ich glaube, er hat auch einen Gro\u00dfteil programmiert und das ist die Person, die sich halt herumtreibt"},{"speaker":"Wolfgang","startTime":1379.21,"endTime":1382.54,"body":"und die jetzt auch MariaDB nat\u00fcrlich irgendwie weiter treibt,"},{"speaker":"Wolfgang","startTime":1382.76,"endTime":1386.22,"body":"wobei MariaDB jetzt schon viel breiter aufgestellt ist, muss man auch sagen."},{"speaker":"Christian","startTime":1386.26,"endTime":1392.08,"body":"Genau, weil MySQL ist passiert, was einigen anderen Projekten auch passiert ist."},{"speaker":"Christian","startTime":1392.08,"endTime":1396.34,"body":"Sie wurden irgendwann mal aufgekauft von der Firma, aber dazu sp\u00e4ter noch mehr."},{"speaker":"Christian","startTime":1396.46,"endTime":1403.6,"body":"Wir sehen, dass 2006 auch eine Firma gegr\u00fcndet wurde, die f\u00fcr die Geschichte auch ganz relevant ist, und zwar ist es Percona."},{"speaker":"Christian","startTime":1403.82,"endTime":1405.36,"body":"Das war ja eine US-amerikanische Firma."},{"speaker":"Wolfgang","startTime":1405.84,"endTime":1413.76,"body":"Ja, Bacona war eigentlich so eine Firma, die unter anderem gegr\u00fcndet worden ist aus dem"},{"speaker":"Christian","startTime":1406.33,"endTime":1407.36,"body":"Was hat es damit auf sich?"},{"speaker":"Wolfgang","startTime":1413.98,"endTime":1414.86,"body":"Consulting heraus."},{"speaker":"Wolfgang","startTime":1415.89,"endTime":1417.9,"body":"Das Problem an MySQL war ja, dass es"},{"speaker":"Wolfgang","startTime":1417.94,"endTime":1419.86,"body":"irgendwie keine gro\u00dfe Firma wie"},{"speaker":"Wolfgang","startTime":1419.94,"endTime":1421.88,"body":"Oracle hinter einer Datenbank gibt und wenn"},{"speaker":"Wolfgang","startTime":1421.91,"endTime":1423.68,"body":"du nat\u00fcrlich jetzt als professionelle"},{"speaker":"Wolfgang","startTime":1423.78,"endTime":1425.44,"body":"Firma eine Datenbank"},{"speaker":"Wolfgang","startTime":1426.159,"endTime":1427.9,"body":"einkaufst, dann willst du da ja Support haben,"},{"speaker":"Wolfgang","startTime":1428.56,"endTime":1429.94,"body":"willst du Hilfe haben, wenn"},{"speaker":"Wolfgang","startTime":1429.94,"endTime":1431.2,"body":"du irgendwie ein Problem hast."},{"speaker":"Wolfgang","startTime":1431.91,"endTime":1433.14,"body":"Und das gab es bei MySQL"},{"speaker":"Wolfgang","startTime":1433.4,"endTime":1435.7,"body":"nicht so richtig. Es gab schon die MySQL"},{"speaker":"Wolfgang","startTime":1435.86,"endTime":1437.98,"body":"AB nat\u00fcrlich, die im Hintergrund"},{"speaker":"Wolfgang","startTime":1438.05,"endTime":1439.94,"body":"war, aber Bacona hat"},{"speaker":"Wolfgang","startTime":1440.03,"endTime":1441.76,"body":"sich dann eigentlich auf die Fahnen geschrieben,"},{"speaker":"Wolfgang","startTime":1442.15,"endTime":1443.94,"body":"wir k\u00f6nnen euch helfen, wenn ihr wirklich"},{"speaker":"Wolfgang","startTime":1443.96,"endTime":1445.88,"body":"ein Problem habt mit MySQL."},{"speaker":"Wolfgang","startTime":1446.72,"endTime":1447.88,"body":"Und zwar, ihr braucht"},{"speaker":"Wolfgang","startTime":1447.97,"endTime":1449.72,"body":"gar nichts zahlen, wenn ihr ein Problem habt,"},{"speaker":"Wolfgang","startTime":1449.84,"endTime":1451.68,"body":"ruft ihr an, dann schlie\u00dft ihr einen Vertrag ab"},{"speaker":"Wolfgang","startTime":1451.78,"endTime":1453.72,"body":"und wir k\u00f6nnen euch sofort helfen. Also so"},{"speaker":"Wolfgang","startTime":1453.78,"endTime":1455.12,"body":"richtig Notfall-Hotline-m\u00e4\u00dfig."},{"speaker":"Christian","startTime":1454.92,"endTime":1455.4,"body":"Hm?"},{"speaker":"Wolfgang","startTime":1456.12,"endTime":1457.88,"body":"Und damit sind die eigentlich gro\u00df geworden"},{"speaker":"Wolfgang","startTime":1458.12,"endTime":1459.9,"body":"und Bacona hat dann sp\u00e4ter auch"},{"speaker":"Wolfgang","startTime":1459.96,"endTime":1461.16,"body":"den eigenen Bacona-Server"},{"speaker":"Wolfgang","startTime":1461.72,"endTime":1463.84,"body":"released, also die haben eine eigene Datenbank gemacht,"},{"speaker":"Wolfgang","startTime":1464.04,"endTime":1465.76,"body":"wobei eigene ist nat\u00fcrlich"},{"speaker":"Wolfgang","startTime":1465.79,"endTime":1467.24,"body":"jetzt unter Anf\u00fchrungszeichen zu setzen,"},{"speaker":"Wolfgang","startTime":1467.8,"endTime":1469.14,"body":"weil das eigentlich nur eine MySQL,"},{"speaker":"Wolfgang","startTime":1469.86,"endTime":1471.86,"body":"also nur, auch wieder unter Anf\u00fchrungszeichen,"},{"speaker":"Wolfgang","startTime":1472.37,"endTime":1473.26,"body":"eine MySQL war,"},{"speaker":"Wolfgang","startTime":1473.44,"endTime":1477.2,"body":"die mit gewissen Patches, gewisse Einstellungsm\u00f6glichkeiten."},{"speaker":"Wolfgang","startTime":1477.34,"endTime":1480.04,"body":"Also die haben so ein bisschen herumgeschraubt an MySQL,"},{"speaker":"Wolfgang","startTime":1480.88,"endTime":1482.3,"body":"waren da auch sehr tief drin in der Entwicklung,"},{"speaker":"Wolfgang","startTime":1482.52,"endTime":1484.44,"body":"sind immer noch sehr tief drin in der Entwicklung."},{"speaker":"Wolfgang","startTime":1484.81,"endTime":1490.58,"body":"Also die geh\u00f6ren wirklich eigentlich zu dem ganzen Ecosystem dazu von MySQL, MariaDB"},{"speaker":"Wolfgang","startTime":1490.9,"endTime":1492.34,"body":"und was alles rundherum ist."},{"speaker":"Wolfgang","startTime":1492.35,"endTime":1496.64,"body":"Die haben sich dann auch darum gek\u00fcmmert, dass es zum Beispiel sinnvolle Backup-Strategien gibt,"},{"speaker":"Wolfgang","startTime":1496.86,"endTime":1498.48,"body":"also f\u00fcr den Enterprise-Bereich vor allem."},{"speaker":"Christian","startTime":1497.58,"endTime":1498.68,"body":"Amen."},{"speaker":"Wolfgang","startTime":1499.08,"endTime":1502.56,"body":"Wie kann ich ein Backup machen, ohne dass ich die MySQL-Datenbank stoppen muss?"},{"speaker":"Wolfgang","startTime":1502.78,"endTime":1506.44,"body":"weil das war ja der Klassiker, wenn du einen MySQL-Dump aufrufst,"},{"speaker":"Wolfgang","startTime":1506.85,"endTime":1510.04,"body":"dann wird mal die ganze Datenbank gelockt, nichts funktioniert mehr quasi"},{"speaker":"Wolfgang","startTime":1510.34,"endTime":1514.6,"body":"und dann machst du das Backup und wenn es fertig ist, unlockst du die Datenbank wieder,"},{"speaker":"Wolfgang","startTime":1515.09,"endTime":1517.22,"body":"was nat\u00fcrlich im produktiven Einsatz unm\u00f6glich ist."},{"speaker":"Wolfgang","startTime":1517.73,"endTime":1520.94,"body":"Und die haben das Extra-DB-Backup herausgebracht,"},{"speaker":"Wolfgang","startTime":1521.61,"endTime":1526.6,"body":"wo dann wirklich \u00fcber das Bin\u00e4r-Log die Daten herausgeschrieben,"},{"speaker":"Wolfgang","startTime":1527.04,"endTime":1529.88,"body":"beziehungsweise wird ein Snapshot gemacht und dann \u00fcber die Bin\u00e4r-Daten"},{"speaker":"Wolfgang","startTime":1529.9,"endTime":1533.5,"body":"werden die restlichen Daten, die sich in der Zwischenzeit ge\u00e4ndert haben, nachgezogen."},{"speaker":"Wolfgang","startTime":1534.01,"endTime":1537.12,"body":"Und damit sparst du dir dieses Locken, dieses Stoppen der Datenbank."},{"speaker":"Wolfgang","startTime":1537.31,"endTime":1542.2,"body":"Also das war sicher auch, gerade wenn man im Enterprise-Bereich ist, nat\u00fcrlich ein Killer-Feature,"},{"speaker":"Wolfgang","startTime":1542.39,"endTime":1545.94,"body":"weil wenn du das produktiv sinnvoll einsetzen willst, brauchst du einfach sowas,"},{"speaker":"Wolfgang","startTime":1546.47,"endTime":1549.9,"body":"dass du incremental Backups machen kannst, die nicht Locking sind."},{"speaker":"Wolfgang","startTime":1550.45,"endTime":1553.3,"body":"Und da hat bei Kona eben auch eine M\u00f6glichkeit geboten."},{"speaker":"Wolfgang","startTime":1553.68,"endTime":1557.32,"body":"Und mit dem sind sie eigentlich dann in dieses ganze Ecosystem reingewachsen,"},{"speaker":"Wolfgang","startTime":1557.4,"endTime":1560.12,"body":"haben nat\u00fcrlich dann auch Clusterl\u00f6sungen und so betreut."},{"speaker":"Wolfgang","startTime":1560.32,"endTime":1565.22,"body":"Alles, was so Enterprise-Features sind, haben aber eben auch mitentwickelt in der Community."},{"speaker":"Wolfgang","startTime":1565.49,"endTime":1568.68,"body":"Und das war ganz klar sichtbar, wenn du auf MySQL-Konferenzen warst."},{"speaker":"Wolfgang","startTime":1569.17,"endTime":1576.24,"body":"Der Peter Zeizeff, das ist so der Kopf von Bacona, der war immer vor Ort, der hat Talks gehalten,"},{"speaker":"Wolfgang","startTime":1576.41,"endTime":1581.7,"body":"der hat wahnsinnig gut sich ausgekannt mit allen Variationen, allen Varianten."},{"speaker":"Wolfgang","startTime":1581.84,"endTime":1587.16,"body":"Und auch heutzutage noch, sein Standard-Talk ist immer der Unterschied zwischen MySQL und MariaDB."},{"speaker":"Wolfgang","startTime":1587.37,"endTime":1590.74,"body":"Den h\u00e4lt er, glaube ich, auf jeder Konferenz immer abgedatet."},{"speaker":"Wolfgang","startTime":1590.9,"endTime":1592.46,"body":"Einfach, was sind aktuell die Unterschiede."},{"speaker":"Wolfgang","startTime":1593.24,"endTime":1595.06,"body":"Also der kennt sich wirklich in der Tiefe aus."},{"speaker":"Wolfgang","startTime":1595.31,"endTime":1600.56,"body":"Und das ist schon eigentlich fast ein Hauptentwickler geworden, w\u00fcrde ich fast sagen."},{"speaker":"Christian","startTime":1600.86,"endTime":1605.98,"body":"Ja, spannend. Auch sch\u00f6n, dass das heute immer noch relevant ist. Zu MariaDB kommen wir dann sp\u00e4ter jetzt noch."},{"speaker":"Christian","startTime":1606.06,"endTime":1613.06,"body":"Jetzt haben wir es gerade so ein bisschen auch von Backups gehabt und auch von, wie so eine Datenbank eigentlich funktioniert."},{"speaker":"Christian","startTime":1613.27,"endTime":1618.4,"body":"Du hast von einem Bin\u00e4rprotokoll gesprochen und h\u00e4ufig spricht man da auch von einer sogenannten Storage Engine."},{"speaker":"Christian","startTime":1619.12,"endTime":1622.88,"body":"Da habe ich, glaube ich, bis heute kein richtiges Verst\u00e4ndnis von, was es eigentlich bedeutet."},{"speaker":"Christian","startTime":1623.26,"endTime":1627.92,"body":"Also ich habe schon ein paar Mal gemerkt, dass ich die wechseln muss bei manchen Anwendungen, weil die nicht kompatibel zueinander sind."},{"speaker":"Christian","startTime":1628.38,"endTime":1631.3,"body":"Aber schlau uns doch mal auf, was genau ist die Aufgabe einer Storage Engine?"},{"speaker":"Wolfgang","startTime":1631.48,"endTime":1637.64,"body":"Auch das war eigentlich damals relativ neu, dass MySQL so ein modulares System verwendet hat,"},{"speaker":"Wolfgang","startTime":1637.86,"endTime":1641.04,"body":"dass du eigentlich die Datenbank an sich hast, das SQL-Interface,"},{"speaker":"Wolfgang","startTime":1641.66,"endTime":1646.46,"body":"da kommt die SQL-Anfrage rein, dann wird die verarbeitet, dann gibt es Indizes und so weiter."},{"speaker":"Wolfgang","startTime":1647.12,"endTime":1651.38,"body":"Aber wie die Daten an sich dann gespeichert sind, das entscheidet die Storage Engine."},{"speaker":"Wolfgang","startTime":1651.98,"endTime":1657.42,"body":"Und du kannst MySQL heute noch, wie damals auch, mit unterschiedlichen Storage Engines betreiben."},{"speaker":"Wolfgang","startTime":1658.24,"endTime":1662.24,"body":"Und mittlerweile ist die InnoDB Storage Engine eigentlich der Standard."},{"speaker":"Wolfgang","startTime":1663.28,"endTime":1669.46,"body":"Da hast du referenzielle Integrit\u00e4t, also diese Fremdschl\u00fcssel, die wir schon erw\u00e4hnt haben."},{"speaker":"Wolfgang","startTime":1669.94,"endTime":1674.52,"body":"Du hast Transaktionen, alles was so eine gute Datenbank eigentlich ausmacht."},{"speaker":"Wolfgang","startTime":1675.06,"endTime":1682.52,"body":"Und ganz urspr\u00fcnglich war aber MySQL mit der ISAM, also MyISAM Storage Engine unterwegs."},{"speaker":"Wolfgang","startTime":1682.64,"endTime":1684.32,"body":"Das war die erste, die klassische."},{"speaker":"Wolfgang","startTime":1685.06,"endTime":1696.18,"body":"Und die war da wesentlich schw\u00e4cher, w\u00fcrde ich mal sagen, auf der Brust, weil die hatte keine Transaktionssicherheit, die hatte kein ACID, die hatte keine Sicherheitsgarantien in dem Sinne."},{"speaker":"Wolfgang","startTime":1696.98,"endTime":1704.52,"body":"Aber sie war super schnell und sie war halt gratis und sie war verf\u00fcgbar und sie war einfach und man hat sich nicht gro\u00df irgendwie den Kopf zerbrechen m\u00fcssen."},{"speaker":"Wolfgang","startTime":1705.04,"endTime":1711.6,"body":"Das hei\u00dft, ideal f\u00fcr diesen simplen Use Case im Web, mach irgendeine Web-Anwendung, brauchst eine Datenbank im Hintergrund."},{"speaker":"Wolfgang","startTime":1712.14,"endTime":1716.66,"body":"Im schlimmsten Fall fehlt mir da mal eine Row, also eine Zeile oder sowas."},{"speaker":"Wolfgang","startTime":1717.09,"endTime":1718.1,"body":"Das ist ja kein Banksystem."},{"speaker":"Wolfgang","startTime":1718.98,"endTime":1720.26,"body":"Haben sich alle darauf eingelassen."},{"speaker":"Wolfgang","startTime":1720.27,"endTime":1722.5,"body":"Und sp\u00e4ter ist dann die InnoDB dazugekommen."},{"speaker":"Wolfgang","startTime":1722.57,"endTime":1724.06,"body":"Da ist es parallel lange gelaufen."},{"speaker":"Wolfgang","startTime":1724.18,"endTime":1727.74,"body":"Dazu gehei\u00dfen, okay, f\u00fcr die sicheren Anwendungsf\u00e4lle,"},{"speaker":"Wolfgang","startTime":1727.77,"endTime":1730.24,"body":"wo deine Daten m\u00f6glichst sicher sein m\u00fcssen, verwende InnoDB."},{"speaker":"Wolfgang","startTime":1731.16,"endTime":1734.02,"body":"F\u00fcr die, wo es schnell gehen muss, verwende MyISM."},{"speaker":"Wolfgang","startTime":1734.63,"endTime":1737.52,"body":"Und mittlerweile ist eigentlich die InnoDB so stark geworden und so schnell,"},{"speaker":"Wolfgang","startTime":1737.75,"endTime":1741.96,"body":"dass die InnoDB die Standard-Engine ist, die heutzutage eigentlich \u00fcberall verwendet wird."},{"speaker":"Wolfgang","startTime":1742.08,"endTime":1745.68,"body":"und die auch weiterentwickelt wird, die quasi eigenst\u00e4ndig ist."},{"speaker":"Wolfgang","startTime":1745.81,"endTime":1747.86,"body":"Also man k\u00f6nnte sie auch irgendwo anders entwickeln"},{"speaker":"Wolfgang","startTime":1748.56,"endTime":1751.04,"body":"und man k\u00f6nnte sie auch irgendwo anders einsetzen,"},{"speaker":"Wolfgang","startTime":1751.68,"endTime":1753.34,"body":"in einer anderen Datenbank theoretisch."},{"speaker":"Wolfgang","startTime":1753.73,"endTime":1756.28,"body":"Und es gibt mittlerweile auch Spezial-Storage-Engines,"},{"speaker":"Wolfgang","startTime":1756.61,"endTime":1759.58,"body":"so wie MyRocks, die von Facebook entwickelt worden ist,"},{"speaker":"Wolfgang","startTime":1759.63,"endTime":1761.94,"body":"zum Beispiel f\u00fcr ganz spezielle Anwendungsf\u00e4lle."},{"speaker":"Wolfgang","startTime":1761.99,"endTime":1764.64,"body":"Das hei\u00dft, du hast einen MySQL-Server, der ganz normal l\u00e4uft,"},{"speaker":"Wolfgang","startTime":1764.94,"endTime":1768.72,"body":"aber im Hintergrund unter der Haube wird dann MyRocks verwendet,"},{"speaker":"Wolfgang","startTime":1769.34,"endTime":1774.5,"body":"um Daten zu speichern und da hat halt Facebook, die auch MySQL immer schon eingesetzt haben,"},{"speaker":"Wolfgang","startTime":1774.96,"endTime":1781.92,"body":"das als Plugin, als Storage Engine entwickelt, um dann bei sich MySQL weiterverwenden zu k\u00f6nnen,"},{"speaker":"Wolfgang","startTime":1782.16,"endTime":1786.22,"body":"aber mit einer speziellen Storage Engine, die darauf optimiert war,"},{"speaker":"Wolfgang","startTime":1787.04,"endTime":1790.7,"body":"m\u00f6glichst viele Daten speichern zu k\u00f6nnen, schnell, das ist so ein hierarchisches System,"},{"speaker":"Wolfgang","startTime":1791.3,"endTime":1796.76,"body":"das hat fr\u00fcher dann auch stark auf RAM bzw. auf SSDs gesetzt,"},{"speaker":"Wolfgang","startTime":1796.8,"endTime":1798.76,"body":"was fr\u00fcher noch nicht so der Standard war."},{"speaker":"Wolfgang","startTime":1798.86,"endTime":1817.14,"body":"Da hat Facebook sehr fr\u00fch damit angefangen und die haben dann eine Optimierung daf\u00fcr geschrieben. Und so kannst du modular das austauschen. Es gibt auch eine Storage Engine, die einfach, ich glaube Blackhole hei\u00dft sie sogar, die ist halt einfach eine Storage Engine, die nichts speichert. Da kannst du alles reinschreiben, aber es wird halt nichts gespeichert. Ist halt ein schwarzes Loch."},{"speaker":"Christian","startTime":1818.4,"endTime":1819.12,"body":"Okay, warum?"},{"speaker":"Christian","startTime":1819.38,"endTime":1821.5,"body":"Also, wenn du die Daten nicht speichern willst,"},{"speaker":"Christian","startTime":1821.65,"endTime":1823.16,"body":"dann verstehe ich nicht ganz,"},{"speaker":"Christian","startTime":1823.41,"endTime":1825.42,"body":"warum man dann \u00fcberhaupt eine Datenbank f\u00fchrt."},{"speaker":"Christian","startTime":1825.67,"endTime":1827.18,"body":"Also, wo ist da der Use Case?"},{"speaker":"Wolfgang","startTime":1826.62,"endTime":1851.3,"body":"Ja, das ist so \u00e4hnlich wie DefNull. DefNull bringt dir ja eigentlich auch wenig, aber wenn du nat\u00fcrlich gewisse Sachen testen willst, wo es dir egal ist, ob das jetzt geschrieben wird im Hintergrund, wenn du davor die ganzen Stacks testen willst oder deine Applikation oder ganz viel schreiben willst in deiner Applikation, um irgendwas zu testen, dir ist aber egal, ob das im Hintergrund jetzt gespeichert wird, dann kannst du nat\u00fcrlich sowas verwenden. Aber das hat eher nat\u00fcrlich nur f\u00fcr Testzwecke geeignet."},{"speaker":"Christian","startTime":1851.12,"endTime":1854.72,"body":"Okay, ja, wollte gerade sagen, das klingt irgendwie nach Anwendungstesting."},{"speaker":"Christian","startTime":1854.84,"endTime":1859.26,"body":"Du willst mal was verproben, mal gucken, wie deine Anwendung prinzipiell funktionieren w\u00fcrde."},{"speaker":"Wolfgang","startTime":1856.62,"endTime":1880.52,"body":"Was ist das Klassische an den Datenbanken?"},{"speaker":"Christian","startTime":1859.36,"endTime":1859.88,"body":"Okay, spannend."},{"speaker":"Christian","startTime":1860.58,"endTime":1861.44,"body":"Wieder was gelernt heute."},{"speaker":"Christian","startTime":1861.62,"endTime":1864.86,"body":"Storage Engines, von denen ich \u00fcberhaupt nicht wusste, dass es die gibt."},{"speaker":"Wolfgang","startTime":1886.62,"endTime":1891.82,"body":"Alles so der Nischenbereich, weil klassischerweise InnoDB ist so ein Schlachtschiff, was eh alles abfackeln kann."},{"speaker":"Wolfgang","startTime":1892.48,"endTime":1895.34,"body":"Und dann nimmst du einfach InnoDB und das funktioniert im Normalfall."},{"speaker":"Christian","startTime":1896.5,"endTime":1901.46,"body":"Jetzt haben wir gerade schon auch geh\u00f6rt, Anforderungen f\u00fcr gro\u00dfe Umgebungen."},{"speaker":"Christian","startTime":1902.07,"endTime":1906.92,"body":"Ich wei\u00df nicht, wie w\u00fcrdest du das machen, Enrico, wenn du irgendeine super wichtige Anwendung ausrollst,"},{"speaker":"Christian","startTime":1906.93,"endTime":1911.8,"body":"die hochverf\u00fcgbar sein soll, da w\u00fcrdest du vermutlich zum Kubernetes greifen, so wichtig einsch\u00e4tzen"},{"speaker":"Christian","startTime":1911.83,"endTime":1914.7,"body":"und dann auch sch\u00f6n die Datenbank im Container laufen lassen, oder wie macht man das?"},{"speaker":"Enrico","startTime":1915.54,"endTime":1932.88,"body":"Naja, also wenn du mich fragst und ich f\u00fcr den Betrieb verantwortlich bin, dann w\u00fcrde ich erstmal versuchen, so stateless wie m\u00f6glich zu sein, damit ich das Problem nicht habe. Nein, aber ansonsten h\u00e4ngt es nat\u00fcrlich davon ab, wo bist du unterwegs, wie gro\u00df sind irgendwie die Daten, was ist da irgendwie so mit drin."},{"speaker":"Enrico","startTime":1933.76,"endTime":1956.32,"body":"Ich finde, wir hatten vorhin so ein bisschen dar\u00fcber gesprochen, dass so damals eher das Problem von Rechenleistung bestand. Du hattest dann noch gesagt, ja, heute ist vielleicht die Hoheit \u00fcber die Datenbank mit Teil in einem cross-funktionalen Team statt in vorher vielleicht einzelnen Datenbank-verantwortlichen Team."},{"speaker":"Enrico","startTime":1956.42,"endTime":1978.54,"body":"Und damit, finde ich, machen sich ein paar ganz neue Herausforderungen auf. Und zwar, wer ist eigentlich f\u00fcr welchen Teil der Datenbanken zust\u00e4ndig oder f\u00fcr welchen Teil der Daten zust\u00e4ndig? Gerade dann mit Microservices, wo dann vielleicht auch noch mehrere Services sind, die datenhaltend sind, die dann aber auch unabh\u00e4ngig voneinander vielleicht agieren."},{"speaker":"Enrico","startTime":1979.32,"endTime":1995.84,"body":"Da fand ich das mal ganz interessant, wie das bei, hatte ich mal auf einem Meetup von einer Otto-Gruppe erfahren, die haben ihren Webshop im Endeffekt umgebaut und da war es dann so, dass sie gesagt haben, jeder, der hier Daten verarbeitet, hat seine eigene Datenbank f\u00fcr seine eigenen Microservices zu haben."},{"speaker":"Enrico","startTime":1996.12,"endTime":2009.66,"body":"Das ist zwar dann, ich sag mal, Platzverschwendung oder ressourcentechnisch nicht das Optimalste, aber von der Verantwortlichkeit ist es halt klar abgegrenzt, wenn ich Daten speichern m\u00f6chte und f\u00fcr irgendwo anders herkriege, dann habe ich meine eigene Datenbank zu betreiben."},{"speaker":"Christian","startTime":2008.64,"endTime":2010.04,"body":"Ja."},{"speaker":"Enrico","startTime":2010.84,"endTime":2032.22,"body":"Und wenn ich dann so ein Konstrukt halt fahre, dann h\u00e4tte ich gerne einen Automatismus, der sich darum k\u00fcmmert. Also wenn wir schon bei Kubernetes sind, dann vielleicht einen Operator, der sich vern\u00fcnftig um die Datenbank k\u00fcmmert, denn ich m\u00f6chte eigentlich mit der m\u00f6glichst wenig zu tun haben oder zumindest vom Lifecycle her sagen k\u00f6nnen, ich h\u00e4tte jetzt gerne eine, dann wird die auch gebackupt und wenn die vergr\u00f6\u00dfert werden soll, dann soll das ein Automatismus tun, der das irgendwie gut kann."},{"speaker":"Enrico","startTime":2032.4,"endTime":2050.46,"body":"Und das impliziert dann, dass vielleicht auch Infrastruktur da sein muss, die damit um kann, die dynamisch ist und irgendwie all so diese Dinge mit sich bringt. Aber ich glaube, das ist eine ganz andere Frage zu, wie mache ich das in so einem gro\u00dfen Konstrukt versus ich habe da mal einen WordPress-Blog."},{"speaker":"Wolfgang","startTime":2045.44,"endTime":2056.3,"body":"Wie ist die Situation in der Cloud-Bank?"},{"speaker":"Wolfgang","startTime":2075.44,"endTime":2079.12,"body":"verwenden. Also es ist auch so ein f\u00f6derierter MySQL-Cluster."},{"speaker":"Wolfgang","startTime":2079.98,"endTime":2082.2,"body":"Die Test ist damals von YouTube entwickelt worden."},{"speaker":"Wolfgang","startTime":2083.07,"endTime":2086.5,"body":"Also es ist auch grunds\u00e4tzlich Open Source, kann man einsehen."},{"speaker":"Wolfgang","startTime":2087.94,"endTime":2091.399,"body":"Aber ich w\u00fcrde auch sagen, dass die Datenbanken eher kleiner werden"},{"speaker":"Wolfgang","startTime":2091.679,"endTime":2095.179,"body":"heutzutage. Und ich habe das auch mal miterlebt in einer sehr gro\u00dfen"},{"speaker":"Wolfgang","startTime":2095.429,"endTime":2099.34,"body":"Firma, so eine Migration oder eine Teilmigration, weil im Endeffekt ist es nie migriert"},{"speaker":"Wolfgang","startTime":2099.37,"endTime":2103.139,"body":"worden von einer gro\u00dfen MySQL-Datenbank, von einem Cluster"},{"speaker":"Wolfgang","startTime":2103.16,"endTime":2104.94,"body":"auf kleinere Datenbanken."},{"speaker":"Wolfgang","startTime":2105.05,"endTime":2106.74,"body":"Und das war fast ein Ding der Unm\u00f6glichkeit."},{"speaker":"Wolfgang","startTime":2106.88,"endTime":2110.86,"body":"Also dieses gro\u00dfe Ding hat man nicht anr\u00fchren d\u00fcrfen."},{"speaker":"Wolfgang","startTime":2111.34,"endTime":2113.06,"body":"Das war irgendeine alte MySQL-Version."},{"speaker":"Wolfgang","startTime":2113.46,"endTime":2115.36,"body":"Keiner hat sich getraut, die irgendwie abzudaten."},{"speaker":"Wolfgang","startTime":2115.91,"endTime":2120.96,"body":"Die Slaves, also die Replikationen waren schon auf neueren Versionen,"},{"speaker":"Wolfgang","startTime":2121.2,"endTime":2124.46,"body":"aber dieses Ur-Ding in der Mitte, das war ein Heiligtum"},{"speaker":"Wolfgang","startTime":2124.7,"endTime":2127.82,"body":"und das hat man irgendwie probiert, am Leben zu erhalten."},{"speaker":"Wolfgang","startTime":2128.75,"endTime":2132.48,"body":"Und ich habe es zumindest in meiner Zeit \u00fcber die vielen Jahre nicht erlebt,"},{"speaker":"Wolfgang","startTime":2132.74,"endTime":2135.14,"body":"dass das komplett wegmigriert werden hat k\u00f6nnen."},{"speaker":"Wolfgang","startTime":2136.06,"endTime":2137.56,"body":"Und daher finde ich den Ansatz,"},{"speaker":"Wolfgang","startTime":2137.76,"endTime":2142.9,"body":"dass man kleinere, abgeschlossene Team-Datenbanken vielleicht hat,"},{"speaker":"Wolfgang","startTime":2143.44,"endTime":2144.48,"body":"dass das absolut Sinn macht,"},{"speaker":"Wolfgang","startTime":2144.6,"endTime":2147.92,"body":"wenn man sich sowas in der Architektur eben irgendwie leisten kann."},{"speaker":"Wolfgang","startTime":2147.96,"endTime":2148.78,"body":"Du hast nat\u00fcrlich den Nachteil,"},{"speaker":"Wolfgang","startTime":2148.82,"endTime":2151.36,"body":"du kannst jetzt keinen Join machen zwischen Team A und Team B."},{"speaker":"Wolfgang","startTime":2152,"endTime":2153.4,"body":"Das funktioniert nat\u00fcrlich nicht,"},{"speaker":"Wolfgang","startTime":2153.62,"endTime":2154.8,"body":"beziehungsweise du musst es komplizierter machen."},{"speaker":"Wolfgang","startTime":2154.88,"endTime":2156.98,"body":"Du musst die Daten zuerst reinholen in deine Datenbank"},{"speaker":"Wolfgang","startTime":2157.08,"endTime":2158.02,"body":"und dann den Join machen."},{"speaker":"Wolfgang","startTime":2158.58,"endTime":2160.36,"body":"Aber ich w\u00fcrde mal auch sagen,"},{"speaker":"Wolfgang","startTime":2160.44,"endTime":2162.04,"body":"rein jetzt von der Teamstruktur,"},{"speaker":"Wolfgang","startTime":2162.22,"endTime":2164.68,"body":"und damit besch\u00e4ftige ich mich ja auch relativ viel,"},{"speaker":"Wolfgang","startTime":2165.3,"endTime":2168.6,"body":"macht es absolut Sinn, m\u00f6glichst viel Ownership im Team zu haben"},{"speaker":"Wolfgang","startTime":2168.62,"endTime":2170.76,"body":"und wenn da die Datenbank mit dabei ist, noch viel besser."},{"speaker":"Wolfgang","startTime":2171,"endTime":2173.98,"body":"Und wie gesagt, das ist dann heutzutage eigentlich so automatisiert,"},{"speaker":"Wolfgang","startTime":2174,"endTime":2176.88,"body":"dass ich mir die Datenbank dann einfach aus der Cloud hole, das ist gemanagt"},{"speaker":"Wolfgang","startTime":2177.3,"endTime":2182.12,"body":"oder von meinem Team, von meinem Plattform-Team, Datenbank-Plattform-Team"},{"speaker":"Wolfgang","startTime":2182.28,"endTime":2184.68,"body":"und dann sage ich einfach bei denen bitte eine Datenbank"},{"speaker":"Wolfgang","startTime":2184.8,"endTime":2187.52,"body":"und ich bekomme dann automatisch den Container mit meiner Datenbank,"},{"speaker":"Wolfgang","startTime":2187.6,"endTime":2190.44,"body":"der gebackupt ist, der sicher ist, wo alles funktioniert."},{"speaker":"Wolfgang","startTime":2191.04,"endTime":2195.56,"body":"Also das ist sicher eine sinnvolle Herangehensweise und auch da sieht man, dass Maisquellet sicher nicht gestorben ist,"},{"speaker":"Wolfgang","startTime":2195.72,"endTime":2199.4,"body":"sondern \u00fcberall im Einsatz ist und eigentlich so ein de facto Standardfass geworden ist."},{"speaker":"Christian","startTime":2199.679,"endTime":2203.52,"body":"Jetzt hast du ja schon so ein paar Dinge genannt, die in die Richtung gehen, so Slaves."},{"speaker":"Christian","startTime":2203.78,"endTime":2208.58,"body":"Das impliziert ja, dass es vielleicht Master gibt und vielleicht gibt es ja auch so ein Multi-Master-Cluster."},{"speaker":"Christian","startTime":2209.44,"endTime":2212.4,"body":"Ich habe relativ h\u00e4ufig den Ausdruck Galera-Cluster geh\u00f6rt."},{"speaker":"Christian","startTime":2212.58,"endTime":2215.42,"body":"Ich glaube, das ist ja so eine Clusterl\u00f6sung f\u00fcr MySQL."},{"speaker":"Christian","startTime":2215.98,"endTime":2217.12,"body":"Was hat es denn damit so auf sich?"},{"speaker":"Christian","startTime":2217.26,"endTime":2218.64,"body":"Ist das heute noch ein relevantes Thema?"},{"speaker":"Wolfgang","startTime":2219.7,"endTime":2222.88,"body":"Grunds\u00e4tzlich sind Clusterl\u00f6sungen klarerweise ein gro\u00dfes Thema."},{"speaker":"Wolfgang","startTime":2223.8,"endTime":2229.8,"body":"Also damals die Multimaster bzw. Active-Active-Master,"},{"speaker":"Wolfgang","startTime":2230.92,"endTime":2238.16,"body":"ich glaube MySQL hat mittlerweile auch die Terminologie ge\u00e4ndert auf Source und Replication, glaube ich."},{"speaker":"Wolfgang","startTime":2238.44,"endTime":2239.74,"body":"Ich wei\u00df jetzt gerade nicht auswendig."},{"speaker":"Wolfgang","startTime":2240.82,"endTime":2242.28,"body":"Hat es auf jeden Fall urspr\u00fcnglich gegeben."},{"speaker":"Wolfgang","startTime":2242.8,"endTime":2248.38,"body":"Das Active-Active-Cluster war so, dass es zwei Server gegeben hat, die beide schreiben durften,"},{"speaker":"Christian","startTime":2248.38,"endTime":2248.42,"body":"Ja."},{"speaker":"Wolfgang","startTime":2248.62,"endTime":2251.02,"body":"weil sonst war ja die klassische Herangehensweise, wenn ich skalieren will,"},{"speaker":"Wolfgang","startTime":2251.02,"endTime":2256.58,"body":"ich habe eine Instanz, die schreibt, alle anderen replizieren und sind nur lesend zur Verf\u00fcgung."},{"speaker":"Wolfgang","startTime":2257.3,"endTime":2260.66,"body":"Das hat ja f\u00fcr die meisten Use Cases eigentlich ausgereicht,"},{"speaker":"Wolfgang","startTime":2260.78,"endTime":2262.98,"body":"weil du hast ja nicht so viel schreibende Zugriff."},{"speaker":"Wolfgang","startTime":2263.16,"endTime":2266.62,"body":"Also gerade im Web zum Beispiel hast du klassisch ganz viel lesende Zugriff"},{"speaker":"Wolfgang","startTime":2266.66,"endTime":2271.9,"body":"und dann hast du halt ein paar schreibende und die funktionieren dann \u00fcber diese zentrale Komponente,"},{"speaker":"Wolfgang","startTime":2272,"endTime":2277.68,"body":"\u00fcber die MySQL-Instanz, die eben die Schreibrechte sozusagen hat."},{"speaker":"Wolfgang","startTime":2278.5,"endTime":2283.5,"body":"Und dann gab es eben einige Varianten, die in Richtung klassischen Cluster gegangen sind,"},{"speaker":"Wolfgang","startTime":2283.69,"endTime":2287.74,"body":"also wirklich Active-Active-Cluster, wo alle schreiben k\u00f6nnen im Cluster."},{"speaker":"Christian","startTime":2286.02,"endTime":2287.42,"body":"Hm?"},{"speaker":"Wolfgang","startTime":2288.41,"endTime":2292.62,"body":"Und da war der Galera-Cluster eben einer der Anbieter."},{"speaker":"Wolfgang","startTime":2292.68,"endTime":2296.9,"body":"Oracle hat dann auch dementsprechend Clusterl\u00f6sungen angeboten."},{"speaker":"Wolfgang","startTime":2297.46,"endTime":2302.32,"body":"Mittlerweile ist Galera von MariaDB \u00fcbernommen worden in diesem Jahr."},{"speaker":"Wolfgang","startTime":2302.43,"endTime":2304.94,"body":"Also das ist deren Clusterl\u00f6sung."},{"speaker":"Wolfgang","startTime":2305.22,"endTime":2311.2,"body":"Es gibt andere Clusterl\u00f6sungen auch noch, die sich im Prinzip \u00fcber die MySQL-Datenbank st\u00fclpen"},{"speaker":"Wolfgang","startTime":2311.7,"endTime":2314.62,"body":"und die ganze Kommunikation \u00fcbernehmen."},{"speaker":"Wolfgang","startTime":2315,"endTime":2317.4,"body":"Also Facebook hatte das zum Beispiel auch ganz fr\u00fch."},{"speaker":"Wolfgang","startTime":2317.44,"endTime":2319.44,"body":"Die haben quasi ihre eigene Clusterl\u00f6sung geschrieben."},{"speaker":"Wolfgang","startTime":2320.04,"endTime":2323.22,"body":"Facebook hatte ja seit Anfang an PHP und MySQL im Einsatz."},{"speaker":"Wolfgang","startTime":2323.98,"endTime":2327.62,"body":"Und die haben nat\u00fcrlich extreme Skalierungsschwierigkeiten oder Probleme gehabt."},{"speaker":"Wolfgang","startTime":2328.3,"endTime":2332.82,"body":"Und die haben das eigentlich so gel\u00f6st, dass immer ein paar User gemeinsam auf einem Rechner waren"},{"speaker":"Wolfgang","startTime":2333.02,"endTime":2334.86,"body":"und da war eine MySQL oben."},{"speaker":"Wolfgang","startTime":2335.1,"endTime":2342.44,"body":"Und alle Daten zu dem User, von User 5 bis User 500, waren in dieser MySQL-Datenbank auf einem Server."},{"speaker":"Wolfgang","startTime":2343,"endTime":2349.3,"body":"Und dann hat Facebook eine Schicht dar\u00fcber geschrieben, wie man die Daten dann unter Anf\u00fchrungszeichen joinen kann"},{"speaker":"Wolfgang","startTime":2349.58,"endTime":2352.22,"body":"oder zusammensammeln kann von den verschiedenen Rechnern."},{"speaker":"Wolfgang","startTime":2352.22,"endTime":2360.06,"body":"Und so haben es die eigentlich geschafft, mit MySQL so eine riesenskalierende Cloud zu bauen, wenn man es so nennen will."},{"speaker":"Wolfgang","startTime":2361.06,"endTime":2369.7,"body":"Und ich wei\u00df leider die Zahlen nicht mehr auswendig, aber das waren sicher mehrere tausende MySQL-Server, wenn nicht zehntausende."},{"speaker":"Christian","startTime":2369.16,"endTime":2370.72,"body":"Wow."},{"speaker":"Wolfgang","startTime":2371.68,"endTime":2374.56,"body":"Und die darum da auch sehr viel kontributet haben."},{"speaker":"Wolfgang","startTime":2374.73,"endTime":2381.2,"body":"Also Facebook hat eine eigene MySQL-Version, einen eigenen Fork, den sie nur f\u00fcr sich maintainen."},{"speaker":"Wolfgang","startTime":2382.1,"endTime":2389.64,"body":"Aber Facebook hatte f\u00fcr MySQL, ich glaube, f\u00fcnf Developer, keine Ahnung, ob sie sie immer noch haben,"},{"speaker":"Wolfgang","startTime":2390.2,"endTime":2396.18,"body":"die wirklich nur am Kern von MySQL gearbeitet haben und das auch wieder upstream zur\u00fcck an die Community gegeben haben."},{"speaker":"Wolfgang","startTime":2396.22,"endTime":2405.74,"body":"Und die haben nat\u00fcrlich vor allem dann solche Dinge herausgefunden, wie wenn dieses Ding unter absoluter Schreiblast, 24-7, immer Vollgas schreibt,"},{"speaker":"Wolfgang","startTime":2406.68,"endTime":2411.8,"body":"dann kann es passieren, dass irgendwie nach acht Stunden irgendwo ein komisches Lock zuschl\u00e4gt"},{"speaker":"Wolfgang","startTime":2411.89,"endTime":2416.22,"body":"und dass die Datenbank dann irgendwie eineinhalb Sekunden kurz tot ist und solche Dinge."},{"speaker":"Wolfgang","startTime":2416.63,"endTime":2419,"body":"Die hat einfach kein Mensch auf der Welt sonst gehabt, diese Probleme."},{"speaker":"Wolfgang","startTime":2419.98,"endTime":2424.44,"body":"Und das ist ganz interessant, wo Facebook dann das wirklich herausgefunden hat."},{"speaker":"Wolfgang","startTime":2424.44,"endTime":2428.3,"body":"Und die haben die dann schlussendlich gefixt in der InnoDB Storage Engine."},{"speaker":"Wolfgang","startTime":2428.45,"endTime":2436.54,"body":"Also das muss man schon sagen, diese Skalierung und diese Reichweite, die MySQL hatte,"},{"speaker":"Wolfgang","startTime":2436.64,"endTime":2441.86,"body":"die haben die nat\u00fcrlich auch genutzt oder konnten nutzen, dass das dann wirklich Bulletproof am Ende war,"},{"speaker":"Wolfgang","startTime":2442.04,"endTime":2445.64,"body":"weil eben Facebook kontributet hat, weil Bacona kontributet hat."},{"speaker":"Wolfgang","startTime":2445.84,"endTime":2450.26,"body":"Es war wirklich so viel im Einsatz, dass das halt auch dann rock solid am Ende ist."},{"speaker":"Wolfgang","startTime":2451.1,"endTime":2454.16,"body":"Und nat\u00fcrlich im Vergleich zu irgendeiner Datenbank, die erst ein Jahr existiert,"},{"speaker":"Wolfgang","startTime":2454.62,"endTime":2458.6,"body":"ist da nat\u00fcrlich ein gro\u00dfer Unterschied, als wenn du eine Datenbank bist, die jetzt 30 Jahre existiert"},{"speaker":"Wolfgang","startTime":2459.02,"endTime":2464.32,"body":"und die gr\u00f6\u00dften Firmen auf der Welt eingesetzt haben und dementsprechend dann auch viele Bugs gefixt haben."},{"speaker":"Christian","startTime":2464.88,"endTime":2479.38,"body":"Spannend ist nat\u00fcrlich klar, bei den gro\u00dfen Plattformen, die viel Daten haben, die geschrieben werden m\u00fcssen, die brauchen nat\u00fcrlich dann auch, haben sehr besondere Anforderungen an so eine Datenbank und das glaube ich nat\u00fcrlich gerne, dass man da \u00fcber Datenma\u00dfen spricht, die wir nat\u00fcrlich im Homelab nicht haben."},{"speaker":"Christian","startTime":2479.48,"endTime":2483.36,"body":"Ich glaube aber auch, so ein Galera-Cluster ist jetzt nichts, was man sich unbedingt ins Homelab stellt."},{"speaker":"Christian","startTime":2483.57,"endTime":2488.62,"body":"Oder w\u00e4re das was, wo du sagst, nachher gleich mal ein paar VMs hochziehen in Rico und dann geht's ab?"},{"speaker":"Wolfgang","startTime":2488.7,"endTime":2489.82,"body":"Kann man gerne machen,"},{"speaker":"Wolfgang","startTime":2490.2,"endTime":2491.9,"body":"aber ich bin schon auch der Meinung,"},{"speaker":"Wolfgang","startTime":2492.28,"endTime":2494.24,"body":"Tipps jetzt zuerst schon mal anklingen lassen."},{"speaker":"Wolfgang","startTime":2495.2,"endTime":2496.06,"body":"Du kommst mittlerweile"},{"speaker":"Wolfgang","startTime":2496.36,"endTime":2498.22,"body":"mit einem MySQL-Server so weit, mit einem"},{"speaker":"Christian","startTime":2498.1,"endTime":2499.5,"body":"Hm?"},{"speaker":"Wolfgang","startTime":2498.32,"endTime":2500.28,"body":"einzelnen Server, dass du da"},{"speaker":"Wolfgang","startTime":2500.34,"endTime":2502.2,"body":"wirklich tausende von Transaktionen"},{"speaker":"Wolfgang","startTime":2502.28,"endTime":2503.66,"body":"pro Sekunde eigentlich durchbekommst."},{"speaker":"Wolfgang","startTime":2504.3,"endTime":2506.14,"body":"Und wenn du wirklich ein Problem hast, dann"},{"speaker":"Wolfgang","startTime":2506.52,"endTime":2507.98,"body":"teile das Ganze nochmal auf in eine"},{"speaker":"Wolfgang","startTime":2508.28,"endTime":2509.56,"body":"Read-Replika und den"},{"speaker":"Wolfgang","startTime":2510.06,"endTime":2512.28,"body":"Write-Server. Dann hast"},{"speaker":"Wolfgang","startTime":2512.34,"endTime":2514.26,"body":"du wieder eine Aufteilung und dass du dann an die"},{"speaker":"Wolfgang","startTime":2514.28,"endTime":2515.54,"body":"Grenzen kommst, ist schon"},{"speaker":"Wolfgang","startTime":2516.34,"endTime":2518.12,"body":"sehr unwahrscheinlich. Aber wenn das dann nat\u00fcrlich"},{"speaker":"Wolfgang","startTime":2518.22,"endTime":2520.24,"body":"passiert, dann kannst du auf irgendwelche Clusterl\u00f6sungen"},{"speaker":"Wolfgang","startTime":2520.36,"endTime":2521.619,"body":"umsteigen. Oder du hast nat\u00fcrlich"},{"speaker":"Wolfgang","startTime":2521.64,"endTime":2523.9,"body":"extreme Anforderungen bez\u00fcglich Sicherheit,"},{"speaker":"Wolfgang","startTime":2524.21,"endTime":2526.04,"body":"dass das halt verteilt sein muss, dass immer"},{"speaker":"Wolfgang","startTime":2526.38,"endTime":2528,"body":"mehrere Server gleichzeitig die gleichen Daten"},{"speaker":"Wolfgang","startTime":2528.32,"endTime":2530.14,"body":"haben. Aber im Endeffekt ist das gro\u00dfe"},{"speaker":"Wolfgang","startTime":2530.28,"endTime":2532,"body":"Problem, dass du bei einer Clusterl\u00f6sung"},{"speaker":"Wolfgang","startTime":2532.93,"endTime":2533.64,"body":"immer eigentlich an"},{"speaker":"Wolfgang","startTime":2534,"endTime":2536.3,"body":"Throughput verlierst, das hei\u00dft an Geschwindigkeit."},{"speaker":"Wolfgang","startTime":2537,"endTime":2538.16,"body":"Weil du nat\u00fcrlich irgendwelche"},{"speaker":"Wolfgang","startTime":2538.96,"endTime":2539.98,"body":"Replikationsmechanismen hast und"},{"speaker":"Wolfgang","startTime":2540.18,"endTime":2541.76,"body":"umso sicherer das sein soll, umso"},{"speaker":"Wolfgang","startTime":2542.44,"endTime":2544.52,"body":"synchroner werden die Replikationsmechanismen."},{"speaker":"Wolfgang","startTime":2545.01,"endTime":2545.7,"body":"Das hei\u00dft, wenn du jetzt"},{"speaker":"Wolfgang","startTime":2545.98,"endTime":2548.12,"body":"sicher gehen willst, dass auf drei Rechnern immer"},{"speaker":"Wolfgang","startTime":2548.76,"endTime":2550.439,"body":"also auf mindestens drei Rechnern"},{"speaker":"Wolfgang","startTime":2550.46,"endTime":2552.98,"body":"mindestens dein Informationsstand verf\u00fcgbar ist,"},{"speaker":"Wolfgang","startTime":2553.1,"endTime":2554.66,"body":"und zwar immer, zu jeder Zeit,"},{"speaker":"Wolfgang","startTime":2555.16,"endTime":2557.26,"body":"dann musst du nat\u00fcrlich eine synchronere Applikation machen"},{"speaker":"Wolfgang","startTime":2557.42,"endTime":2558.04,"body":"mit drei Servern."},{"speaker":"Wolfgang","startTime":2558.14,"endTime":2560.72,"body":"Das hei\u00dft, du machst einmal ein Insert Statement,"},{"speaker":"Wolfgang","startTime":2560.84,"endTime":2561.68,"body":"ein Write Statement,"},{"speaker":"Wolfgang","startTime":2562.54,"endTime":2565.38,"body":"und dann muss im Hintergrund das auf drei Servern abgeglichen werden"},{"speaker":"Wolfgang","startTime":2565.48,"endTime":2567.48,"body":"und erst dann bekommst du das Commit, das okay,"},{"speaker":"Wolfgang","startTime":2567.7,"endTime":2568.94,"body":"dass alles gut gelaufen ist."},{"speaker":"Wolfgang","startTime":2569.5,"endTime":2570.46,"body":"Und dann kann man sich vorstellen,"},{"speaker":"Wolfgang","startTime":2570.56,"endTime":2572.8,"body":"wenn du \u00fcber Netzwerke mit drei Servern sprichst,"},{"speaker":"Wolfgang","startTime":2572.96,"endTime":2574.46,"body":"wird das einfach dementsprechend langsamer."},{"speaker":"Wolfgang","startTime":2575.1,"endTime":2576.86,"body":"Also das muss man schon immer auch mit einbeziehen."},{"speaker":"Wolfgang","startTime":2577.32,"endTime":2579.859,"body":"Das hei\u00dft, Clusterl\u00f6sungen w\u00fcrde ich wirklich"},{"speaker":"Wolfgang","startTime":2579.88,"endTime":2581.64,"body":"nur f\u00fcr ganz spezielle Use Cases eigentlich"},{"speaker":"Wolfgang","startTime":2581.78,"endTime":2583.34,"body":"in Betracht ziehen und"},{"speaker":"Wolfgang","startTime":2584.04,"endTime":2586.32,"body":"die klassische Web-Anwendung,"},{"speaker":"Wolfgang","startTime":2586.6,"endTime":2587.9,"body":"da skalierst du wirklich auf"},{"speaker":"Wolfgang","startTime":2588.82,"endTime":2589.22,"body":"hunderttausende"},{"speaker":"Wolfgang","startTime":2589.88,"endTime":2592,"body":"User, w\u00fcrde ich mal sagen, vor allem, weil es eh meistens"},{"speaker":"Wolfgang","startTime":2592.1,"endTime":2593.58,"body":"lesend ist. Also ich habe ein so ein"},{"speaker":"Wolfgang","startTime":2593.64,"endTime":2595.68,"body":"Side-Project, da haben wir um die 200 Millionen"},{"speaker":"Wolfgang","startTime":2596.82,"endTime":2597.58,"body":"User am Tag"},{"speaker":"Wolfgang","startTime":2597.8,"endTime":2599.2,"body":"Zugriffe und"},{"speaker":"Wolfgang","startTime":2600.2,"endTime":2601.74,"body":"ja, die Datenbank langweilt sich, ehrlich"},{"speaker":"Wolfgang","startTime":2601.88,"endTime":2603.14,"body":"gesagt, den ganzen Tag. Also"},{"speaker":"Wolfgang","startTime":2603.7,"endTime":2605.44,"body":"das ist \u00fcberhaupt kein Problem"},{"speaker":"Wolfgang","startTime":2605.6,"endTime":2607.36,"body":"und die l\u00e4uft auf einfach"},{"speaker":"Wolfgang","startTime":2607.44,"endTime":2609.84,"body":"einem 0815-Hardware-Server und"},{"speaker":"Wolfgang","startTime":2609.86,"endTime":2611.7,"body":"der ist zu 5% ausgelastet oder so."},{"speaker":"Wolfgang","startTime":2612.48,"endTime":2613.98,"body":"Also das ist wirklich kein Bottleneck."},{"speaker":"Wolfgang","startTime":2614.18,"endTime":2616.42,"body":"Da bist du mit den ganzen Webservern und so weiter,"},{"speaker":"Wolfgang","startTime":2616.56,"endTime":2620.58,"body":"die da laufen, viel eher am Limit als bei einer klassischen Datenbank."},{"speaker":"Wolfgang","startTime":2620.7,"endTime":2621.74,"body":"Da wird zwar nicht viel geschrieben,"},{"speaker":"Wolfgang","startTime":2622.6,"endTime":2626.3,"body":"aber trotzdem, es ist wirklich \u00fcberhaupt kein Problem."},{"speaker":"Wolfgang","startTime":2626.82,"endTime":2630.06,"body":"Man untersch\u00e4tzt es, wie weit man da wirklich rauskalieren kann auf einem Server."},{"speaker":"Christian","startTime":2630.119,"endTime":2635.68,"body":"Ja, und vermutlich, wenn das meiste Reads sind, fangt ihr das dann mit dem Cache Layer zwischendrin dann ab,"},{"speaker":"Christian","startTime":2635.78,"endTime":2638.08,"body":"so dass jetzt nicht jeder Read auch auf die Datenbank runtergeht?"},{"speaker":"Christian","startTime":2638.62,"endTime":2638.86,"body":"Oder wie?"},{"speaker":"Wolfgang","startTime":2639.14,"endTime":2649.9,"body":"Da sind sehr viele Reads eigentlich auf der, also ich w\u00fcrde sagen von den zwei Millionen, da hast du schon bei mindestens zwei Millionen Queries, ja. Also da hast du immer Reads mit dabei, das ist \u00fcberhaupt kein Problem."},{"speaker":"Wolfgang","startTime":2650.26,"endTime":2674.28,"body":"Klar, ein, zwei Sachen sind gecached, wo es m\u00f6glich ist, aber da bekommt jeder User immer aktuell personalisierte Fragen. Insofern musst du schon auf die Datenbank dann immer zugreifen und auch schreiben. Es ist eine kostenlose F\u00fchrerscheinplattform zur Vorbereitung auf den \u00f6sterreichischen F\u00fchrerschein, existiert auch schon seit zehn Jahren, ist kostenlos f\u00fcr alle, sind die einzigen."},{"speaker":"Wolfgang","startTime":2674.38,"endTime":2679.48,"body":"und da h\u00e4mmern nat\u00fcrlich schon viele SQL-Querys drauf ein"},{"speaker":"Wolfgang","startTime":2679.66,"endTime":2683.4,"body":"und der Lernstand wird st\u00e4ndig geschrieben mit jeder Frage, die du lernst"},{"speaker":"Wolfgang","startTime":2683.52,"endTime":2686.36,"body":"und du bekommst nat\u00fcrlich auch personalisiert immer eine Frage vorgeschlagen,"},{"speaker":"Wolfgang","startTime":2686.45,"endTime":2689.44,"body":"die f\u00fcr dich passt, also da sind schon immer SQL-Querys im Spiel."},{"speaker":"Enrico","startTime":2689.599,"endTime":2692.14,"body":"Ich glaube, da hat sich aber auch eine ganze Menge getan."},{"speaker":"Enrico","startTime":2692.4,"endTime":2714.26,"body":"sodass du jetzt nicht mehr mit einem selbstgebauten Cache oder einem Caching-Layer dazwischen immer arbeiten musst, sondern ich sag mal festplattentechnisch hat sich in den letzten 30 Jahren einiges getan, sodass wir nicht mehr irgendwie mit dem Lesekopf an die richtige Richtung springen m\u00fcssen oder zumindest das heute auch eher die Seltenheit geworden ist."},{"speaker":"Enrico","startTime":2715.6,"endTime":2737.86,"body":"Und auch betriebssystemseitig. Wir haben ja jetzt, also ich meine, selbst mein Notebook hat ein bisschen mehr als zwei Megabyte an Arbeitsspeicher, ja, und je mehr da so verf\u00fcgbar ist, desto mehr nutzt nat\u00fcrlich auch das Betriebssystem, um dann diese Sachen mit auszumerzen. Also ich glaube, das Verhalten ist da schon nochmal deutlich anders."},{"speaker":"Enrico","startTime":2739.42,"endTime":2763.72,"body":"Ja, vielleicht k\u00f6nnen wir da hinten nochmal mit zu Optimierungen, die so dein Go-To sind, was man da so macht. Das fiel mir gerade so ein, weil ich denke, es ist bestimmt f\u00fcr manche auch interessant, einfach mal so rauszufinden, wie gehe ich eigentlich im Optimierungsguide an die richtige Stelle oder was sind so die common Optimierungen, die man so macht."},{"speaker":"Enrico","startTime":2764.28,"endTime":2786.9,"body":"Und ich glaube, clustertechnisch ist halt auch einfach das Ding, guck halt, was du willst. Willst du Datensicherheit, dann ist vielleicht einfach eine Replika was. Wenn es nicht allzu kritische Daten sind, dann ist auch ein asynchrones Replizieren, was vielleicht auch nicht min\u00fctlich l\u00e4uft, sondern vielleicht auch st\u00fcndlich oder sowas. Das kann man beliebig rausziehen."},{"speaker":"Enrico","startTime":2787.68,"endTime":2797.64,"body":"Und je nachdem, was man halt will, gibt es ja unterschiedliche Mechanismen. Und dass das eben so offen ist, das finde ich eigentlich eine ganz sch\u00f6ne Sache, dass du damit ganz unterschiedliche Anwendungsszenarien auch abbilden kannst."},{"speaker":"Wolfgang","startTime":2797.94,"endTime":2801.28,"body":"Es ist auch wesentlich weniger geworden, dass du \u00fcberhaupt optimieren musst."},{"speaker":"Wolfgang","startTime":2801.52,"endTime":2804.38,"body":"Wie du schon richtig gesagt hast, der Hauptspeicher ist gr\u00f6\u00dfer geworden."},{"speaker":"Wolfgang","startTime":2804.46,"endTime":2806.28,"body":"Das ist sicher eigentlich der gr\u00f6\u00dfte Unterschied."},{"speaker":"Enrico","startTime":2805.079,"endTime":2805.4,"body":"Ja."},{"speaker":"Wolfgang","startTime":2807.16,"endTime":2819.16,"body":"Das war ja auch, warum Facebook MyRocks dann entwickelt hat, dass die die verschiedenen Layer eben vom Hauptspeicher \u00fcber SSDs bis hin zu klassischen Spinning Disks noch irgendwie abbilden konnten, weil die darauf optimiert haben."},{"speaker":"Enrico","startTime":2817.56,"endTime":2817.64,"body":"Ja."},{"speaker":"Wolfgang","startTime":2819.56,"endTime":2828.76,"body":"Die ganz klassischen relationalen Datenbankoptimierungen, Indexstrukturen, B-Bauben, die sind nat\u00fcrlich alle f\u00fcr Spinning Disks entwickelt worden damals."},{"speaker":"Wolfgang","startTime":2829.42,"endTime":2834.14,"body":"Die funktionieren schon im Hauptspeicher auch, aber es gibt auch ganz viele Neuerungen,"},{"speaker":"Wolfgang","startTime":2834.48,"endTime":2840.1,"body":"wenn es um Hauptspeicherindizes oder Indexstrukturen geht, die man dann dementsprechend dort einsetzt."},{"speaker":"Wolfgang","startTime":2840.74,"endTime":2845.14,"body":"Aber man muss schon sagen, dass es allgemein schneller geworden ist und auch die Optimierer werden immer besser."},{"speaker":"Wolfgang","startTime":2845.76,"endTime":2849.5,"body":"Also ich hatte das schon immer das Problem bei dem MySQL-Buch, was wir geschrieben haben."},{"speaker":"Wolfgang","startTime":2850.12,"endTime":2852.24,"body":"Da war ich verantwortlich f\u00fcr das Optimierungskapitel."},{"speaker":"Wolfgang","startTime":2853.12,"endTime":2857.68,"body":"Und wir hatten drei Auflagen und jedes Mal bei jeder Auflage haben alle meine Beispiele,"},{"speaker":"Wolfgang","startTime":2857.84,"endTime":2863.52,"body":"meine Negativbeispiele nicht mehr funktioniert, weil die in der Zwischenzeit behoben worden sind von dem Optimierer"},{"speaker":"Christian","startTime":2858.6,"endTime":2860,"body":"Hm."},{"speaker":"Wolfgang","startTime":2863.56,"endTime":2864.78,"body":"und einfach nicht mehr da waren."},{"speaker":"Wolfgang","startTime":2864.92,"endTime":2869.22,"body":"Ich habe mir immer neue Beispiele ausdenken m\u00fcssen, um zu zeigen, wo es noch Probleme gibt,"},{"speaker":"Wolfgang","startTime":2869.3,"endTime":2870.8,"body":"wie man dann Sachen optimieren kann."},{"speaker":"Wolfgang","startTime":2871.62,"endTime":2875.9,"body":"Und da hat Oracle, wie Oracle die MySQL-Datenbank \u00fcbernommen hat,"},{"speaker":"Wolfgang","startTime":2876.54,"endTime":2880.78,"body":"nachdem sie ja von Sun zuerst aufgekauft wurde und dann von Oracle aufgekauft wurde,"},{"speaker":"Wolfgang","startTime":2881.32,"endTime":2887.64,"body":"da hat Oracle sehr viel Zeit und wahrscheinlich auch Personenpower investiert am Ende,"},{"speaker":"Wolfgang","startTime":2887.72,"endTime":2891.44,"body":"in diesen Optimierer, dass der im Vorhinein schon sich \u00fcberlegt,"},{"speaker":"Wolfgang","startTime":2891.54,"endTime":2894.72,"body":"wie kann ich eine Query m\u00f6glichst optimiert dann verarbeiten."},{"speaker":"Wolfgang","startTime":2895.37,"endTime":2900.04,"body":"Und auch MariaDB hat sehr viel da investiert in den Optimierer."},{"speaker":"Wolfgang","startTime":2900.32,"endTime":2902.68,"body":"Da sind die zwei auch komplett unterschiedlich."},{"speaker":"Wolfgang","startTime":2902.94,"endTime":2906.14,"body":"Also die Codebases sind da eigentlich komplett getrennt."},{"speaker":"Wolfgang","startTime":2907.03,"endTime":2911.4,"body":"Wenn es um den Optimierer geht, die haben auch ganz andere Ans\u00e4tze an den Optimierer."},{"speaker":"Wolfgang","startTime":2912,"endTime":2914.94,"body":"Du kannst in MariaDB auch viel mehr dem Optimierer noch mitgeben,"},{"speaker":"Wolfgang","startTime":2915.62,"endTime":2923.08,"body":"in welche Richtung er optimieren soll, also was die Variable ist, auf die optimiert werden soll zum Beispiel."},{"speaker":"Wolfgang","startTime":2923.92,"endTime":2929.44,"body":"Und Oracle hat da aber einfach aus der ganzen Praxis nat\u00fcrlich von der Oracle-Datenbank,"},{"speaker":"Wolfgang","startTime":2929.53,"endTime":2935.04,"body":"die die \u00fcber Jahrzehnte gesammelt haben, vermutlich da auch viel mit reinbringen k\u00f6nnen von Enterprise-Use-Cases."},{"speaker":"Wolfgang","startTime":2935.67,"endTime":2937.56,"body":"Und da ist schon viel passiert."},{"speaker":"Wolfgang","startTime":2937.81,"endTime":2941.26,"body":"Und wenn du heutzutage eine Query reinwirfst in so eine Datenbank,"},{"speaker":"Wolfgang","startTime":2941.36,"endTime":2942.84,"body":"auch eine sehr lange irgendwie mit"},{"speaker":"Wolfgang","startTime":2943,"endTime":2944.82,"body":"Commentable Expressions, also wo du mehrere"},{"speaker":"Wolfgang","startTime":2945.2,"endTime":2946.52,"body":"Subqueries und solche Dinge hast,"},{"speaker":"Wolfgang","startTime":2947.15,"endTime":2949,"body":"dann werden die meisten schon ganz gut"},{"speaker":"Wolfgang","startTime":2949.72,"endTime":2950.86,"body":"optimiert, w\u00fcrde ich mal sagen."},{"speaker":"Wolfgang","startTime":2951.32,"endTime":2953.06,"body":"Auch wenn, ich habe es schon auch"},{"speaker":"Wolfgang","startTime":2953.18,"endTime":2955.28,"body":"oft erlebt, wenn es dann noch Potenzial"},{"speaker":"Wolfgang","startTime":2955.4,"endTime":2956.98,"body":"gibt, aber es wird von"},{"speaker":"Wolfgang","startTime":2957.3,"endTime":2958.68,"body":"Version zu Version besser, w\u00fcrde ich sagen."},{"speaker":"Christian","startTime":2957.66,"endTime":2965.3,"body":"Ja, du hast schon gesagt, ja, also MySQL AB, die Firma, wurde dann von Sun Microsystems \u00fcbernommen"},{"speaker":"Christian","startTime":2965.38,"endTime":2967.8,"body":"und die wiederum ja von Oracle, wie wir alle mitbekommen haben."},{"speaker":"Christian","startTime":2967.86,"endTime":2969.36,"body":"Und seitdem haben wir ja zwei Projekte."},{"speaker":"Christian","startTime":2970.16,"endTime":2974.22,"body":"MariaDB, da ist auf jeden Fall relativ einfach, wie man es ausspricht, w\u00fcrde ich sagen."},{"speaker":"Christian","startTime":2974.48,"endTime":2976.48,"body":"Da gibt es nicht so viele Komponenten."},{"speaker":"Wolfgang","startTime":2976.06,"endTime":2979.08,"body":"Ist \u00fcbrigens die zweite Tochter von Monty."},{"speaker":"Wolfgang","startTime":2979.42,"endTime":2984.46,"body":"Also er hat sich sehr leicht gemacht, Mai und Maria, und das war einfach dann die zweite"},{"speaker":"Wolfgang","startTime":2984.64,"endTime":2984.8,"body":"Tochter."},{"speaker":"Christian","startTime":2985.16,"endTime":2989.3,"body":"Sehr sch\u00f6n. Das hei\u00dft, den n\u00e4chsten Vorhaben gibt es dann erst, wenn das dritte Kind dann kommt, vermutlich."},{"speaker":"Wolfgang","startTime":2988.86,"endTime":2991.16,"body":"Genau, ja, wahrscheinlich."},{"speaker":"Wolfgang","startTime":2993.82,"endTime":2996.14,"body":"Ich glaube, mittlerweile ist Monty ja schon relativ alt."},{"speaker":"Wolfgang","startTime":2996.32,"endTime":2999.82,"body":"Also er ist, glaube ich, nicht mehr so aktiv, wenn ich das jetzt mitbekommen habe."},{"speaker":"Wolfgang","startTime":3000.08,"endTime":3003.32,"body":"Also nicht mehr so super involviert als zentrale Pers\u00f6nlichkeit zumindest."},{"speaker":"Wolfgang","startTime":3003.62,"endTime":3006.54,"body":"Also er treibt sich nat\u00fcrlich schon \u00fcberall noch herum auf den ganzen Konferenzen."},{"speaker":"Wolfgang","startTime":3007.32,"endTime":3009.82,"body":"Aber er ist schon jetzt ein gr\u00f6\u00dferes Team nat\u00fcrlich bei MariaDB."},{"speaker":"Wolfgang","startTime":3009.98,"endTime":3015.56,"body":"und seitdem die auch b\u00f6rsenorientiert sind, die haben da nat\u00fcrlich jetzt schon ziemlich einen Push"},{"speaker":"Wolfgang","startTime":3015.8,"endTime":3019.56,"body":"und m\u00fcssen auch deliveren und auch auf der finanziellen Seite,"},{"speaker":"Wolfgang","startTime":3019.82,"endTime":3022.48,"body":"also da geht dann schon einiges weiter und sind auch gr\u00f6\u00dfer."},{"speaker":"Wolfgang","startTime":3022.48,"endTime":3026.5,"body":"Und das hat man eigentlich damals auch gemerkt, wie Oracle das Ganze \u00fcbernommen hat,"},{"speaker":"Wolfgang","startTime":3027.12,"endTime":3032.66,"body":"dass sich eigentlich, w\u00fcrde ich meiner Meinung nach sagen, die Datenbank am meisten bewegt hat,"},{"speaker":"Wolfgang","startTime":3033.16,"endTime":3037.039,"body":"wie Oracle das Ganze \u00fcbernommen hat, weil die hatten halt wirklich die Kohle"},{"speaker":"Wolfgang","startTime":3037.52,"endTime":3041.82,"body":"und die personellen Mittel, dass sie da einfach ganz viele Leute draufgeworfen haben"},{"speaker":"Wolfgang","startTime":3041.88,"endTime":3043.58,"body":"und die haben das Ganze dann optimiert."},{"speaker":"Wolfgang","startTime":3044.2,"endTime":3046.98,"body":"Und es haben sehr viele kritisch gesehen, weil die meisten haben geglaubt,"},{"speaker":"Wolfgang","startTime":3047.06,"endTime":3052.98,"body":"Oracle kauft MySQL, stampft es ein, damit sie keinen Konkurrenten mehr haben f\u00fcr ihre Oracle-Datenbank."},{"speaker":"Christian","startTime":3049.42,"endTime":3049.54,"body":"Mhm."},{"speaker":"Wolfgang","startTime":3053.84,"endTime":3058.52,"body":"War aber genau andersrum, sondern die haben wirklich viel investiert und haben viel weitergebracht."},{"speaker":"Wolfgang","startTime":3058.6,"endTime":3062.92,"body":"Und da hat es eine Zeit gegeben, da war eigentlich die MySQL, die Oracle MySQL,"},{"speaker":"Wolfgang","startTime":3063.88,"endTime":3066.6,"body":"um Welten weiter vorne gegen\u00fcber der MariaDB."},{"speaker":"Wolfgang","startTime":3066.76,"endTime":3078.58,"body":"Also da war sie wirklich stark und dann hat es irgendwann diese Zeit gegeben, wo der MariaDB auch Gas gegeben hat und auch eigenst\u00e4ndige Features entwickelt hat, die zum Beispiel jetzt in Oracle nicht verf\u00fcgbar sind, in MariaDB aber schon."},{"speaker":"Wolfgang","startTime":3080.24,"endTime":3087.98,"body":"Also andersrum nat\u00fcrlich auch, die entwickeln sich immer weiter auseinander, wenn es um spezielle Features vor allem geht, also eine klassische SQL-Query funktioniert \u00fcberall."},{"speaker":"Wolfgang","startTime":3088.44,"endTime":3108,"body":"Aber wenn es dann um spezielle Features geht, um irgendwelche dynamisch berechneten Spalten zum Beispiel, die aus anderen Spalten berechnet werden und ob das dann persistiert wird oder nicht, da gibt es dann so Unterschiede in diesen Feature-Sets. Aber auf jeden Fall hat Oracle MySQL sehr viel weitergebracht, w\u00fcrde ich mal sagen, damals."},{"speaker":"Christian","startTime":3108.68,"endTime":3109.38,"body":"... Musik..."},{"speaker":"Christian","startTime":3109.4,"endTime":3113.24,"body":"weil das war ja damals im Netz ein ganz anderer Tenor, den man geh\u00f6rt hat."},{"speaker":"Christian","startTime":3113.31,"endTime":3116.52,"body":"Also wie du gerade schon sagtest, haben ja viele erwartet, dass das Projekt dann eingestellt wird."},{"speaker":"Christian","startTime":3116.57,"endTime":3121.36,"body":"Man hat ja zum Beispiel auch bei anderen Projekten von Sun Microsystems gesehen,"},{"speaker":"Christian","startTime":3121.45,"endTime":3124.04,"body":"dass es denen nicht notwendigerweise besser ging nach der \u00dcbernahme."},{"speaker":"Christian","startTime":3124.19,"endTime":3127.62,"body":"Also so, mir f\u00e4llt da direkt Solaris und Java ein."},{"speaker":"Christian","startTime":3127.71,"endTime":3130.18,"body":"Da war ja die Zukunft auch echt lange so ein bisschen d\u00fcster."},{"speaker":"Christian","startTime":3131.419,"endTime":3134.16,"body":"Aber gab es noch einen weiteren Grund f\u00fcr diesen Fork?"},{"speaker":"Christian","startTime":3134.43,"endTime":3136.6,"body":"Also war das einfach nur eine reine Sicherheitsma\u00dfnahme,"},{"speaker":"Christian","startTime":3136.68,"endTime":3140,"body":"dass man halt sicherstellen wollte, dass das Projekt dann noch weiterlebt unter neuem Namen."},{"speaker":"Wolfgang","startTime":3139.18,"endTime":3141.58,"body":"Ja, es war eigentlich,"},{"speaker":"Wolfgang","startTime":3143.92,"endTime":3144.82,"body":"Sicherheitsma\u00dfnahme, sch\u00f6n gesagt,"},{"speaker":"Wolfgang","startTime":3145.08,"endTime":3147.299,"body":"Monty hat sich einfach extrem zerstritten mit Oracle"},{"speaker":"Wolfgang","startTime":3147.32,"endTime":3149.36,"body":"oder wollte halt die Oracle-\u00dcbernahme nicht"},{"speaker":"Wolfgang","startTime":3149.819,"endTime":3152.24,"body":"und hat dann einfach einen Fork gemacht."},{"speaker":"Wolfgang","startTime":3152.68,"endTime":3154.02,"body":"Das war eigentlich der Hauptgrund."},{"speaker":"Wolfgang","startTime":3154.13,"endTime":3156.82,"body":"Und darum gibt es jetzt die MariaDB mit Monty"},{"speaker":"Wolfgang","startTime":3156.98,"endTime":3160.6,"body":"und nat\u00fcrlich der ganzen Firma drumherum und die Oracle-Seite."},{"speaker":"Wolfgang","startTime":3161.62,"endTime":3163.04,"body":"Also das war eigentlich der einzige Grund,"},{"speaker":"Wolfgang","startTime":3163.19,"endTime":3167.06,"body":"weil zu Sun-Zeiten hat man das ja auch teilweise schon kritisch gesehen,"},{"speaker":"Wolfgang","startTime":3167.28,"endTime":3169.02,"body":"aber da war Monty noch komplett mit am Boot"},{"speaker":"Wolfgang","startTime":3169.46,"endTime":3171.36,"body":"und darum hat es da keinen Fork gegeben."},{"speaker":"Wolfgang","startTime":3172,"endTime":3173.18,"body":"Das war der einzige Grund eigentlich."},{"speaker":"Wolfgang","startTime":3173.9,"endTime":3175.64,"body":"Also ich w\u00fcrde sagen, es war ein sehr pers\u00f6nlicher Grund,"},{"speaker":"Wolfgang","startTime":3175.78,"endTime":3197.32,"body":"Aber da hatte nat\u00fcrlich auch die Community sehr viel mitzureden, weil nat\u00fcrlich Sun wesentlich offener grunds\u00e4tzlich war, jetzt rein von der Firmenkultur, als eine Oracle. Und diesbez\u00fcglich ist ja Oracle auch wirklich noch sehr geschlossen, weil du hast zum Beispiel keinen \u00f6ffentlichen Bug-Tracker von MySQL. Also du hast schon einen, aber das ist nicht der Oracle-Bug-Tracker."},{"speaker":"Christian","startTime":3197.04,"endTime":3198.06,"body":"Aha."},{"speaker":"Wolfgang","startTime":3197.68,"endTime":3219.44,"body":"Und wenn du einen Bug einreichst, dann arbeiten die intern irgendwie daran und irgendwann sagen sie dir mal \u00fcber den \u00d6ffentlichen wieder Bescheid, was passiert ist, vielleicht oder vielleicht auch nicht. Oder du bekommst dann irgendwie eine Liste von internen Bug-IDs, auf die du alle keinen Zugriff hast, dass sie irgendwas gefixt haben und dann steht nur fix da und alle Details w\u00fcrden in irgendwelchen internen Bug-Tickets stehen, die aber niemand einsehen kann."},{"speaker":"Wolfgang","startTime":3219.76,"endTime":3236.72,"body":"Also da spielt Oracle schon noch die klassische Oracle-Schiene, aber abgesehen davon sind sie schon relativ offen und das ist vielleicht auch eine Chance gewesen f\u00fcr MariaDB, da einfach dann auch offener zu sein und vielleicht auch die Community mehr in ihre Richtung zu treiben."},{"speaker":"Wolfgang","startTime":3237.04,"endTime":3246.38,"body":"Und ist ja auch, wenn du jetzt in Linux zum Beispiel eine MySQL installierst, in fast allen Distributionen wird eigentlich MariaDB installiert."},{"speaker":"Wolfgang","startTime":3247.09,"endTime":3252.86,"body":"Du kannst zwar MySQL-Befehle verwenden und MySQL eintippen auf der Konsole, aber im Hintergrund ist das einfach ein Link auf MariaDB."},{"speaker":"Christian","startTime":3252.7,"endTime":3254.42,"body":"Ja, das ist ein spannender Punkt."},{"speaker":"Christian","startTime":3254.52,"endTime":3257.8,"body":"Und da k\u00f6nnen wir vielleicht mal direkt reinspringen, wo da die gro\u00dfen Unterschiede sind."},{"speaker":"Christian","startTime":3257.87,"endTime":3259.84,"body":"Denn mir geht es genauso, wie du gerade sagtest."},{"speaker":"Christian","startTime":3260.15,"endTime":3264.24,"body":"Wenn ich so eine Datenbank brauche, dann installiere ich meistens die MariaDB,"},{"speaker":"Christian","startTime":3264.45,"endTime":3269.26,"body":"weil viele Distributionen einfach MySQL nicht mehr shippen oder nur optional shippen."},{"speaker":"Christian","startTime":3269.38,"endTime":3271.7,"body":"Oder dann so Vorstellungen kommen, meinten sie vielleicht MariaDB."},{"speaker":"Christian","startTime":3272.31,"endTime":3273.44,"body":"Und h\u00e4ufig sind es ja Symlinks."},{"speaker":"Christian","startTime":3274.08,"endTime":3279.74,"body":"Also das war ja auch so gedacht, als f\u00fcr die meisten F\u00e4lle ein einfaches Drop-in-Replacement sein zu k\u00f6nnen."},{"speaker":"Christian","startTime":3280.22,"endTime":3283.02,"body":"Aber die sind, glaube ich, nicht mehr featurekompatibel zueinander, oder?"},{"speaker":"Christian","startTime":3283.14,"endTime":3290,"body":"Also beide Projekte, man nennt das ja glaube ich auch ein Hardfork, wenn dann Projekte divergieren voneinander und dann nicht mehr kompatibel zueinander sind."},{"speaker":"Christian","startTime":3290.02,"endTime":3291.92,"body":"Ich glaube, den Punkt haben wir mittlerweile erreicht, oder?"},{"speaker":"Wolfgang","startTime":3292,"endTime":3293.54,"body":"Den haben wir auf jeden Fall erreicht."},{"speaker":"Wolfgang","startTime":3293.73,"endTime":3296.36,"body":"Am Anfang ist nat\u00fcrlich sehr viel noch zur\u00fcckgeflossen."},{"speaker":"Wolfgang","startTime":3296.45,"endTime":3300.4,"body":"Da hat MariaDB versucht, viele \u00c4nderungen von MySQL auch bei sich reinzunehmen."},{"speaker":"Wolfgang","startTime":3301.4,"endTime":3308.68,"body":"Und irgendwann war dann eigentlich der Punkt erreicht, wo, also kann ich schwer feststellen, warum das jetzt so passiert ist."},{"speaker":"Wolfgang","startTime":3308.96,"endTime":3333.96,"body":"Aber sie haben sich einfach, also MariaDB vor allem, ist dann einfach erwachsen geworden und hat eigene Features entwickelt. Und es gibt auch eine Webseite auf der MariaDB-Webseite in der Knowledge Base, wo nur MariaDB versus MySQL aufgelistet wird und die Kompatibilit\u00e4ten erkl\u00e4rt werden oder wo es eben keine Kompatibilit\u00e4t gibt und die Liste wird schon mittlerweile l\u00e4nger und l\u00e4nger und l\u00e4nger."},{"speaker":"Wolfgang","startTime":3334.42,"endTime":3356.56,"body":"Und wie gesagt, gerade die ganzen detaillierteren Zusatzfeatures, also so, ich w\u00fcrde nicht sagen Nischenfeatures, weil mittlerweile sind es wirklich Standardfeatures geworden, aber da unterscheiden sie sich halt gro\u00df. Ich habe schon die virtuellen Spalten genannt, zum Beispiel dynamische Spalten mit die Common Table Expressions, also diese klassischen With Statements."},{"speaker":"Wolfgang","startTime":3356.84,"endTime":3378.06,"body":"Da waren sie auch unterschiedlich schnell. Mittlerweile k\u00f6nnen das beide Datenbanken, haben aber auch teilweise unterschiedlichen Support, wie viel unterst\u00fctzt wird, auch von so speziellen SQL-Features, die zum Beispiel Rolling Windows machen oder so Zwischensummen bilden, solche Dinge, die du ja mittlerweile alle machen kannst."},{"speaker":"Wolfgang","startTime":3378.38,"endTime":3397.26,"body":"Da unterscheiden sie sich. Wie gesagt, wenn du 0815, Create Table Statements, Select Statements, Joins, da ist es eigentlich Drop-in. Aber sobald du spezielle Features verwenden willst, die jetzt nicht SQL 99 Standard sind, w\u00fcrde ich mal sagen, oder 92 vielleicht sogar."},{"speaker":"Wolfgang","startTime":3397.92,"endTime":3412.54,"body":"Alles, was nach 92 kam an speziellen SQL-Features, da muss man dann wirklich schauen, okay, was unterst\u00fctzt MariaDB, was unterst\u00fctzt MySQL. Da gibt es dann auch ganz gro\u00dfe Unterschiede, wenn es um Performance geht, was unterst\u00fctzt wird."},{"speaker":"Wolfgang","startTime":3412.64,"endTime":3415.8,"body":"Und da gibt es \u00fcbrigens auch ganz viele Unterschiede bei den ganzen Cloud-Anbietern,"},{"speaker":"Wolfgang","startTime":3416.43,"endTime":3422.72,"body":"weil du kannst zum Beispiel, wenn du jetzt PlanetScale verwendest als skalierender Provider,"},{"speaker":"Wolfgang","startTime":3422.77,"endTime":3425.58,"body":"was sie sich auf die Fahne schreiben, also dass die ins Endlose skalieren,"},{"speaker":"Wolfgang","startTime":3425.61,"endTime":3428.58,"body":"die skalieren im Hintergrund alles f\u00fcr dich und du hast ein SQL-Interface,"},{"speaker":"Wolfgang","startTime":3429.52,"endTime":3433.52,"body":"da kannst du zum Beispiel nur vier Union-Statements schreiben."},{"speaker":"Wolfgang","startTime":3433.77,"endTime":3436.62,"body":"Da kannst du also nur vier Select-Statements vereinen."},{"speaker":"Wolfgang","startTime":3436.72,"endTime":3438.56,"body":"Sobald du mehr willst, funktioniert das nicht mehr."},{"speaker":"Wolfgang","startTime":3438.76,"endTime":3441.82,"body":"Das ist so eine Restriktion, in dem Fall von VITES im Hintergrund,"},{"speaker":"Wolfgang","startTime":3441.94,"endTime":3445.28,"body":"aber auch da, je nachdem was f\u00fcr eine Storage Engine"},{"speaker":"Wolfgang","startTime":3445.54,"endTime":3448.26,"body":"beziehungsweise was f\u00fcr eine, ob MySQL oder MariaDB du verwendest"},{"speaker":"Wolfgang","startTime":3448.8,"endTime":3451.4,"body":"hast du bei solchen Queries"},{"speaker":"Wolfgang","startTime":3451.56,"endTime":3453.56,"body":"dann unter Umst\u00e4nden Probleme, also wenn du so"},{"speaker":"Wolfgang","startTime":3454.6,"endTime":3457.4,"body":"Queries vereinst, Commentable Expressions"},{"speaker":"Wolfgang","startTime":3457.52,"endTime":3460.54,"body":"machst, wie viele kannst du da kombinieren, dann hast du auch teilweise"},{"speaker":"Wolfgang","startTime":3460.68,"endTime":3463.42,"body":"noch so Zusatz-Hints, die du dem Optimierer"},{"speaker":"Wolfgang","startTime":3463.46,"endTime":3465.54,"body":"geben kannst, dass der Optimierer zum Beispiel"},{"speaker":"Wolfgang","startTime":3467.4,"endTime":3469.86,"body":"Zwischenergebnisse von diesen Commentable Expressions"},{"speaker":"Wolfgang","startTime":3470.94,"endTime":3471.9,"body":"zwischenspeichert wirklich"},{"speaker":"Wolfgang","startTime":3471.92,"endTime":3475.98,"body":"oder dann dynamisch berechnet, da unterscheiden sich die nat\u00fcrlich MariaDB und MySQL."},{"speaker":"Wolfgang","startTime":3476.2,"endTime":3482.94,"body":"Also es sind schon dann Features, die, w\u00fcrde ich mal sagen, f\u00fcr das 0.8.15-Webprojekt nicht so wichtig sind."},{"speaker":"Wolfgang","startTime":3483.62,"endTime":3487.48,"body":"Also f\u00fcr brauchschnell eine Datenbank kannst du sie \u00e4quivalent sehen."},{"speaker":"Christian","startTime":3487.2,"endTime":3495.3,"body":"Jetzt haben wir hier auch mit einigen Fachtermini um uns geworfen und wir verstehen uns ja hier auch so ein bisschen als Bildungsauftrag-Podcast."},{"speaker":"Christian","startTime":3495.56,"endTime":3499.92,"body":"Vielleicht machen wir mal einen kurzen Exkurs, was es denn eigentlich mit SQL so auf sich hat."},{"speaker":"Christian","startTime":3500.07,"endTime":3503.68,"body":"Also man benutzt das f\u00fcr Datenbanken, aber das gibt es ja auch schon."},{"speaker":"Christian","startTime":3503.84,"endTime":3507.24,"body":"Jetzt hast du schon von Standard von 1992 gesprochen."},{"speaker":"Christian","startTime":3507.99,"endTime":3509.38,"body":"Was hat es denn so damit auf sich?"},{"speaker":"Christian","startTime":3509.41,"endTime":3513.54,"body":"Im Rahmen der Vorbereitung habe ich mich da auch ein bisschen eingelesen und habe f\u00fcr mich folgenden Merksatz abgeleitet."},{"speaker":"Christian","startTime":3514.279,"endTime":3516.16,"body":"SQL ist das Sequel zu Sequel."},{"speaker":"Christian","startTime":3516.91,"endTime":3519.88,"body":"Und vielleicht ergibt das ja gleich noch Sinn, wenn wir h\u00f6ren, wo das eigentlich herkommt."},{"speaker":"Wolfgang","startTime":3520.68,"endTime":3522.86,"body":"Das Sequel zum Sequel, ja, sehr sch\u00f6n."},{"speaker":"Wolfgang","startTime":3523.73,"endTime":3525.8,"body":"Ja, da sind wir jetzt eigentlich wieder beim Anfangsthema,"},{"speaker":"Wolfgang","startTime":3525.89,"endTime":3527.68,"body":"bei dem Namen, bei der Aussprache."},{"speaker":"Wolfgang","startTime":3527.95,"endTime":3531.68,"body":"Sagt man MySQL oder MySequel oder sagt man SQL oder Sequel?"},{"speaker":"Wolfgang","startTime":3532.76,"endTime":3539.2,"body":"Das Ganze geht ja zur\u00fcck auf Sequel, also S-E-Q-U-E-L."},{"speaker":"Wolfgang","startTime":3539.77,"endTime":3542.24,"body":"Das ist die Structured English Queer Language."},{"speaker":"Wolfgang","startTime":3542.35,"endTime":3544.26,"body":"Das war eigentlich der Vorg\u00e4nger zu SQL,"},{"speaker":"Wolfgang","startTime":3545.4,"endTime":3546.22,"body":"beziehungsweise war eigentlich SQL."},{"speaker":"Wolfgang","startTime":3547.16,"endTime":3549.92,"body":"Es hat dann aber rechtliche Probleme gegeben mit dem Namen."},{"speaker":"Christian","startTime":3549.98,"endTime":3551.36,"body":"Okay."},{"speaker":"Wolfgang","startTime":3550.23,"endTime":3553.46,"body":"Das war eigentlich der Hauptgrund, warum das dann ge\u00e4ndert wurde."},{"speaker":"Wolfgang","startTime":3554.48,"endTime":3558.2,"body":"Und darum gibt es vor allem im amerikanischen Bereich ganz viele Leute, die Sequel sagen."},{"speaker":"Wolfgang","startTime":3558.43,"endTime":3561.2,"body":"Weil eigentlich SQL, wie kommt man da auf Sequel?"},{"speaker":"Wolfgang","startTime":3561.37,"endTime":3562.86,"body":"Da gibt es gar keinen Zusammenhang."},{"speaker":"Wolfgang","startTime":3563.23,"endTime":3565.04,"body":"Und gibt es eigentlich auch gar keine von den Buchstaben."},{"speaker":"Wolfgang","startTime":3565.15,"endTime":3571.04,"body":"Das ist rein historisch bedingt, dass Sequel der Vorg\u00e4nger quasi war von SQL."},{"speaker":"Wolfgang","startTime":3571.87,"endTime":3575.56,"body":"Und SQL ist, glaube ich, 50 Jahre jetzt gerade gek\u00fcrzlich worden."},{"speaker":"Wolfgang","startTime":3576.1,"endTime":3584.32,"body":"Ich sollte es wissen, weil wir haben eine eigene Episode im Engineering Kiosk dar\u00fcber gemacht, aber ich glaube es waren 50 Jahre, wo wir die ganze Geschichte von SQL beschreiben."},{"speaker":"Wolfgang","startTime":3584.32,"endTime":3590.44,"body":"Das ist eigentlich sehr spannend, weil es halt wirklich viele Grabenk\u00e4mpfe gegeben hat mit DB2 und Oracle und so weiter."},{"speaker":"Wolfgang","startTime":3590.58,"endTime":3596.64,"body":"Oracle war damals der dynamische junge Hupfer, der da reingekommen ist in den Markt."},{"speaker":"Wolfgang","startTime":3596.7,"endTime":3604.34,"body":"DB2 war da eigentlich das alte konservative Schlachtschiff und dann sind die modernen Oracle-Jungs reingekommen und haben da den Markt aufger\u00e4umt."},{"speaker":"Wolfgang","startTime":3604.56,"endTime":3606.64,"body":"Also es ist eigentlich ganz interessant, was da alles passiert ist."},{"speaker":"Wolfgang","startTime":3607.32,"endTime":3610.62,"body":"Aber SQL hat sich eigentlich jetzt so wirklich als Standard durchgesetzt"},{"speaker":"Wolfgang","startTime":3610.8,"endTime":3615.94,"body":"und hatte ja in den letzten zehn Jahren mit NoSQL auch so einen gewissen Gegner,"},{"speaker":"Wolfgang","startTime":3616.08,"endTime":3619.08,"body":"wo es wieder gehei\u00dfen hat, die relationalen Datenbankmodelle sind alle tot"},{"speaker":"Wolfgang","startTime":3619.38,"endTime":3620.66,"body":"und es kommt jetzt was Neues."},{"speaker":"Wolfgang","startTime":3620.92,"endTime":3624.92,"body":"Und dann ist aber die ganze Data-Science-Ecke wieder gekommen und Big Data"},{"speaker":"Wolfgang","startTime":3625.08,"endTime":3626.76,"body":"und da haben dann alle irgendwie gemerkt,"},{"speaker":"Wolfgang","startTime":3627.02,"endTime":3629.7,"body":"SQL ist doch ganz praktisch, wenn man mit Daten umgeht."},{"speaker":"Wolfgang","startTime":3630.56,"endTime":3632.88,"body":"Und dann hat sich da eigentlich wieder SQL etabliert,"},{"speaker":"Wolfgang","startTime":3632.98,"endTime":3636.26,"body":"dass man auf Daten einfach gut zugreifen kann mit SQL."},{"speaker":"Wolfgang","startTime":3636.54,"endTime":3639.46,"body":"Und SQL ist ja auf der einen Seite die Query Language,"},{"speaker":"Wolfgang","startTime":3639.76,"endTime":3642.3,"body":"das hei\u00dft zur Abfrage von Informationen,"},{"speaker":"Wolfgang","startTime":3642.76,"endTime":3645,"body":"also die klassischen Select-Abfragen, die man hat."},{"speaker":"Wolfgang","startTime":3645.82,"endTime":3649.62,"body":"Aber es gibt nat\u00fcrlich auch andere Untergruppen von SQL,"},{"speaker":"Wolfgang","startTime":3649.82,"endTime":3653.2,"body":"die im SQL-Standard \u00fcbrigens auch klassischerweise nat\u00fcrlich definiert sind."},{"speaker":"Wolfgang","startTime":3653.9,"endTime":3657.38,"body":"Also Update, Insert, Delete nennt sich Data Manipulation Language."},{"speaker":"Wolfgang","startTime":3657.76,"endTime":3660.64,"body":"Dann gibt es die Create Table Statements, die wahrscheinlich auch alle kennen."},{"speaker":"Wolfgang","startTime":3660.8,"endTime":3662.42,"body":"Das ist die Data Definition Language,"},{"speaker":"Wolfgang","startTime":3662.82,"endTime":3664.62,"body":"wo man die Tabellen alles anlegt."},{"speaker":"Wolfgang","startTime":3665.54,"endTime":3667.6,"body":"Dann gibt es nat\u00fcrlich die Data-Control-Language,"},{"speaker":"Wolfgang","startTime":3667.92,"endTime":3670.92,"body":"das hei\u00dft die Grant-Statements, wie kann ich User anlegen,"},{"speaker":"Wolfgang","startTime":3671.02,"endTime":3672.28,"body":"wie kann ich Permissions vergeben."},{"speaker":"Wolfgang","startTime":3673.12,"endTime":3676.6,"body":"Also auch da gibt es einen eigenen Subteil im SQL-Standard."},{"speaker":"Wolfgang","startTime":3677.32,"endTime":3679.14,"body":"Dann gibt es Transaction-Control-Language,"},{"speaker":"Wolfgang","startTime":3679.22,"endTime":3681.9,"body":"das sind alles, was irgendwie mit Transaktionen zu tun hat."},{"speaker":"Wolfgang","startTime":3682.3,"endTime":3686.38,"body":"Und alle diese Bl\u00f6cke sind definiert in dem SQL-Standard,"},{"speaker":"Wolfgang","startTime":3686.58,"endTime":3689.36,"body":"in dem ISO-Standard, ist es?"},{"speaker":"Wolfgang","startTime":3689.98,"endTime":3692.22,"body":"ANSI-Standard, ich glaube, es ist ANSI-Standard,"},{"speaker":"Wolfgang","startTime":3692.56,"endTime":3693.46,"body":"wenn mich nicht alles t\u00e4uscht."},{"speaker":"Wolfgang","startTime":3694.06,"endTime":3696.72,"body":"Und da kommen alle paar Jahre immer wieder neue Standards raus."},{"speaker":"Wolfgang","startTime":3696.9,"endTime":3699.36,"body":"Der klassische, den wir eigentlich so verwenden,"},{"speaker":"Wolfgang","startTime":3699.74,"endTime":3703.48,"body":"ist im Alltag der SQL92-Standard."},{"speaker":"Wolfgang","startTime":3704.18,"endTime":3706.8,"body":"Da war eigentlich alles schon definiert,"},{"speaker":"Wolfgang","startTime":3706.89,"endTime":3707.94,"body":"was wir heute so kennen."},{"speaker":"Wolfgang","startTime":3708.38,"endTime":3710.36,"body":"Und dann kamen neuere Standards,"},{"speaker":"Wolfgang","startTime":3710.61,"endTime":3712.22,"body":"da haben sich die Leute dann \u00fcberlegt,"},{"speaker":"Wolfgang","startTime":3712.27,"endTime":3714.02,"body":"ja, eigentlich, wie gehen wir mit Zeiten um,"},{"speaker":"Wolfgang","startTime":3714.18,"endTime":3715.36,"body":"temporale Datenbanken,"},{"speaker":"Wolfgang","startTime":3715.99,"endTime":3717.52,"body":"wie bekommen wir XML rein,"},{"speaker":"Wolfgang","startTime":3717.57,"endTime":3719.319,"body":"wie bekommen wir JSON mit rein"},{"speaker":"Wolfgang","startTime":3719.34,"endTime":3723.98,"body":"und alle Add-ons, die so cool w\u00e4ren in der SQL-Welt,"},{"speaker":"Wolfgang","startTime":3724.16,"endTime":3731.38,"body":"also dass man in einer SQL-Abfrage eben auch eine JSON-XML-Path-Abfrage,"},{"speaker":"Wolfgang","startTime":3731.74,"endTime":3734.06,"body":"Sub-Abfrage sozusagen reinsetzen kann."},{"speaker":"Wolfgang","startTime":3734.68,"endTime":3737.48,"body":"Diese Dinge sind dann alle aus den neueren Standards gekommen."},{"speaker":"Wolfgang","startTime":3738.3,"endTime":3742.92,"body":"Und da muss man auch sagen, war MySQL immer sehr r\u00fcckst\u00e4ndig."},{"speaker":"Christian","startTime":3742.78,"endTime":3743.72,"body":"Hm?"},{"speaker":"Wolfgang","startTime":3743.12,"endTime":3748.6,"body":"Das hei\u00dft, MySQL war da gerade vor der Oracle-\u00dcbernahme ganz schwach mit dem SQL-Standard."},{"speaker":"Wolfgang","startTime":3748.72,"endTime":3753.38,"body":"und die haben dann aber nach der Oracle-\u00dcbernahme eigentlich sehr viel aufgeholt"},{"speaker":"Wolfgang","startTime":3753.42,"endTime":3755.7,"body":"und haben da dann wirklich viel noch mit reingebracht."},{"speaker":"Wolfgang","startTime":3755.9,"endTime":3760.06,"body":"Auch zum Beispiel kennen vielleicht viele aus der fr\u00fcheren Zeit,"},{"speaker":"Wolfgang","startTime":3760.2,"endTime":3762.42,"body":"wie man umgestellt hat auf neuere MySQL-Versionen."},{"speaker":"Wolfgang","startTime":3762.42,"endTime":3765.2,"body":"Ich glaube, ab MySQL 8 war das dann Standard,"},{"speaker":"Wolfgang","startTime":3765.8,"endTime":3768.74,"body":"dass wenn du GroupBy machst in einer SQL-Anfrage,"},{"speaker":"Wolfgang","startTime":3769.46,"endTime":3773.32,"body":"dass du im GroupBy alle Felder brauchst, die du auch im Select vorne hast,"},{"speaker":"Wolfgang","startTime":3774.26,"endTime":3775.14,"body":"in der Projektion."},{"speaker":"Wolfgang","startTime":3775.58,"endTime":3776.84,"body":"Das hat immer ganz viele gest\u00f6rt."},{"speaker":"Wolfgang","startTime":3777.1,"endTime":3781.52,"body":"warum soll ich da hinten nochmal alles hinschreiben, obwohl das eigentlich gar nicht n\u00f6tig ist."},{"speaker":"Wolfgang","startTime":3782.12,"endTime":3787.96,"body":"Aber damit es sauberes SQL ist und eigentlich mathematisch okay und sound ist,"},{"speaker":"Wolfgang","startTime":3788.64,"endTime":3790.78,"body":"brauchst du diese Dinge alle im Group bei."},{"speaker":"Wolfgang","startTime":3791.54,"endTime":3793.46,"body":"Und solche Dinge waren im MySQL aber nie enforced."},{"speaker":"Wolfgang","startTime":3793.96,"endTime":3799.08,"body":"Und es war halt eher so, dass die Leute das dann angenommen haben, obwohl es eigentlich nicht ganz korrekt ist."},{"speaker":"Wolfgang","startTime":3800.04,"endTime":3805.42,"body":"Und das war dann mit der Umstellung eine gro\u00dfe Ver\u00e4nderung f\u00fcr viele Leute, ist es wahrscheinlich immer noch."},{"speaker":"Wolfgang","startTime":3805.66,"endTime":3810.6,"body":"Und ich pers\u00f6nlich bekomme diese Fehlermeldung auch noch st\u00e4ndig, also dass im Group bei diese Felder fehlen."},{"speaker":"Wolfgang","startTime":3811.06,"endTime":3812.24,"body":"Mir passiert das auch immer noch."},{"speaker":"Wolfgang","startTime":3812.82,"endTime":3820.38,"body":"Und solche Dinge haben sich dann einfach ver\u00e4ndert und MySQL hat sich sehr stark an den Standard noch n\u00e4her angen\u00e4hert."},{"speaker":"Wolfgang","startTime":3821.04,"endTime":3825.28,"body":"Und da sieht man auch schon ein bisschen den Unterschied zu Postgres zum Beispiel."},{"speaker":"Wolfgang","startTime":3825.78,"endTime":3829.18,"body":"Postgres war einfach schon immer 100% standardkonform."},{"speaker":"Wolfgang","startTime":3829.46,"endTime":3834,"body":"Also die haben sich immer ganz stark an den Standard gehalten, kommt ja auch aus dem wissenschaftlichen Umfeld Postgres."},{"speaker":"Wolfgang","startTime":3835.2,"endTime":3838.16,"body":"Von Stonebreaker, dem bekannten Datenbank-Professor."},{"speaker":"Wolfgang","startTime":3838.8,"endTime":3841.06,"body":"Und der hat das da eigentlich damals mitentwickelt."},{"speaker":"Wolfgang","startTime":3841.07,"endTime":3843.42,"body":"Und der war nat\u00fcrlich immer sehr nah an diesem Standard."},{"speaker":"Wolfgang","startTime":3843.83,"endTime":3847.7,"body":"Weil das halt klassische Wissenschaft, wir halten uns an den Standard."},{"speaker":"Wolfgang","startTime":3848.53,"endTime":3851.54,"body":"Und da hat Postgres dann eigentlich MySQL auch ganz klar \u00fcberholt."},{"speaker":"Wolfgang","startTime":3851.82,"endTime":3853.76,"body":"Beziehungsweise war schon immer st\u00e4rker, muss man auch zugeben."},{"speaker":"Wolfgang","startTime":3854.05,"endTime":3855.94,"body":"Die hatten einfach immer schon viel mehr Features."},{"speaker":"Wolfgang","startTime":3856.97,"endTime":3860.96,"body":"Ist die Frage, ob sie gleich schnell waren und gleich stabil und so."},{"speaker":"Wolfgang","startTime":3861.01,"endTime":3862.24,"body":"Da kann man sich jetzt dr\u00fcber streiten."},{"speaker":"Wolfgang","startTime":3862.48,"endTime":3864.24,"body":"aber sie hatten auf jeden Fall immer mehr Features"},{"speaker":"Wolfgang","startTime":3864.4,"endTime":3866.76,"body":"und waren immer n\u00e4her am SQL-Standard als MySQL."},{"speaker":"Wolfgang","startTime":3867.92,"endTime":3871.14,"body":"Wobei MySQL da aufgeholt hat, auch MariaDB hat aufgeholt."},{"speaker":"Wolfgang","startTime":3871.58,"endTime":3873.4,"body":"Und Commentable Expressions zum Beispiel,"},{"speaker":"Wolfgang","startTime":3873.48,"endTime":3877.58,"body":"die sind vor, ich glaube, vor drei Jahren oder so mal dazugekommen,"},{"speaker":"Wolfgang","startTime":3877.6,"endTime":3878.78,"body":"ist gar nicht so lange her."},{"speaker":"Wolfgang","startTime":3879.48,"endTime":3882.66,"body":"Und die waren aber garantiert im SQL-92-Standard schon."},{"speaker":"Wolfgang","startTime":3882.92,"endTime":3886.12,"body":"Also vielleicht im 99er, aber auf jeden Fall vor der 2000-Wende,"},{"speaker":"Wolfgang","startTime":3886.32,"endTime":3888.56,"body":"w\u00fcrde ich jetzt sagen, oder zumindest um den Dreh."},{"speaker":"Wolfgang","startTime":3889.36,"endTime":3899.96,"body":"Und quasi 20 Jahre sp\u00e4ter erst hat dann MySQL wirklich mal dieses Feature eingebaut, was im Enterprise-Umfeld und wenn du mit gro\u00dfen Datenmengen hantierst, mit komplizierteren Daten auf jeden Fall n\u00f6tig ist."},{"speaker":"Christian","startTime":3900.64,"endTime":3901,"body":"Spannend."},{"speaker":"Christian","startTime":3901.19,"endTime":3908.34,"body":"Ja, manchmal kann es lange dauern, etwas umzusetzen, denn wenn es mal drau\u00dfen ist, dann ist es schwer, dann noch \u00c4nderungen reinzubringen."},{"speaker":"Christian","startTime":3908.38,"endTime":3909.32,"body":"Scheint mir zumindest so."},{"speaker":"Christian","startTime":3909.86,"endTime":3913.88,"body":"Jetzt haben wir ganz viel \u00fcber Kommandos geh\u00f6rt und ich frage mich die ganze Zeit, ob ich ein Lieblingskommando habe."},{"speaker":"Christian","startTime":3914.1,"endTime":3914.74,"body":"Habt ihr denn eins?"},{"speaker":"Enrico","startTime":3915.66,"endTime":3916.76,"body":"SQL-Dump, mega."},{"speaker":"Christian","startTime":3918.08,"endTime":3922.4,"body":"Oh ja, stimmt. Das ist auf jeden Fall das, was ich am h\u00e4ufigsten in der Bash-History, glaube ich, finde."},{"speaker":"Enrico","startTime":3922.619,"endTime":3928.18,"body":"Das ist auch das, wo ich am wenigsten Angst h\u00e4tte,"},{"speaker":"Enrico","startTime":3928.57,"endTime":3931.52,"body":"einen Parameter nicht zu kennen oder so."},{"speaker":"Enrico","startTime":3931.89,"endTime":3933.3,"body":"Oder wahrscheinlich gibt es Tausende,"},{"speaker":"Enrico","startTime":3933.47,"endTime":3935.02,"body":"aber ich brauche nicht so viele."},{"speaker":"Enrico","startTime":3935.23,"endTime":3938.2,"body":"Das ist echt sehr einfach und sch\u00f6n."},{"speaker":"Enrico","startTime":3938.69,"endTime":3939.04,"body":"Bei euch?"},{"speaker":"Wolfgang","startTime":3939.6,"endTime":3940.1,"body":"Christian, deines?"},{"speaker":"Christian","startTime":3940.16,"endTime":3943.68,"body":"Also ich glaube, ein Lieblingskommando habe ich jetzt so nicht."},{"speaker":"Christian","startTime":3943.8,"endTime":3960.38,"body":"Also ich wei\u00df, dass damals es Klick gemacht hat in der Berufsschule, als ich das erste Mal mich mit Joins besch\u00e4ftigt habe und auch so diese Abfrage \u00fcber mehrere Tabellen und das erste Mal verstanden habe, wie man so ein Prim\u00e4r- und ein For-In-Key einfach mal richtig verwendet und in Relation setzt."},{"speaker":"Wolfgang","startTime":3960.74,"endTime":3962.14,"body":"Amen."},{"speaker":"Christian","startTime":3961.48,"endTime":3963.84,"body":"Und ich habe aber eine Lieblingsfehler-Meldung,"},{"speaker":"Christian","startTime":3964.23,"endTime":3965.72,"body":"der habe ich sogar vor langer, langer Zeit"},{"speaker":"Christian","startTime":3965.82,"endTime":3967.04,"body":"meinem Blogartikel gewidmet,"},{"speaker":"Christian","startTime":3967.18,"endTime":3968.76,"body":"eben beim Backupen, wie Enrico gerade sagte."},{"speaker":"Christian","startTime":3969.53,"endTime":3971.22,"body":"Denn da gab es den Fehler 2006,"},{"speaker":"Christian","startTime":3971.94,"endTime":3973.3,"body":"my SQL Server has gone away,"},{"speaker":"Christian","startTime":3973.54,"endTime":3975.08,"body":"wenn der zwischendrin in Timeout l\u00e4uft."},{"speaker":"Christian","startTime":3975.75,"endTime":3976.94,"body":"Und ich finde, das ist was Sch\u00f6nes,"},{"speaker":"Christian","startTime":3977.1,"endTime":3978.54,"body":"weil wir machen gerne Urlaub"},{"speaker":"Christian","startTime":3978.65,"endTime":3981.06,"body":"und so ein SQL Server, der macht auch gerne mal Urlaub."},{"speaker":"Christian","startTime":3981.19,"endTime":3983.16,"body":"Und deswegen ist er halt nicht da, ist doch nur legitim."},{"speaker":"Christian","startTime":3983.38,"endTime":3983.4,"body":"Team."},{"speaker":"Wolfgang","startTime":3983.72,"endTime":3985.74,"body":"Ja, ist eine sch\u00f6ne Fehlermeldung."},{"speaker":"Wolfgang","startTime":3985.8,"endTime":3987.48,"body":"Kann sich \u00fcbrigens wieder erholen."},{"speaker":"Wolfgang","startTime":3987.58,"endTime":3989.1,"body":"Also man braucht nichts machen."},{"speaker":"Wolfgang","startTime":3989.38,"endTime":3990.98,"body":"Kann sein, wenn er dann wieder ab ist,"},{"speaker":"Wolfgang","startTime":3991.64,"endTime":3993.72,"body":"kann man in einer kleinen Session einfach weiterarbeiten."},{"speaker":"Christian","startTime":3993.72,"endTime":3995.22,"body":"Ah, okay. Ich habe damals"},{"speaker":"Wolfgang","startTime":3994.46,"endTime":3994.62,"body":"Aber..."},{"speaker":"Christian","startTime":3995.42,"endTime":3996.96,"body":"halt unwissend, wie ich war,"},{"speaker":"Christian","startTime":3997.28,"endTime":3998.96,"body":"als Heranwachsender einfach den"},{"speaker":"Christian","startTime":3999.16,"endTime":4001.1,"body":"Timeout auf einen sehr unrealistisch"},{"speaker":"Christian","startTime":4001.22,"endTime":4003.12,"body":"hohen Wert gesetzt und somit eine h\u00f6here Auslastung"},{"speaker":"Christian","startTime":4003.16,"endTime":4004.28,"body":"forciert. Naja."},{"speaker":"Wolfgang","startTime":4004.22,"endTime":4006.9,"body":"Ja, es kommt darauf an, ob der Server wirklich weg ist."},{"speaker":"Wolfgang","startTime":4007.12,"endTime":4009.4,"body":"Also wenn der Server abst\u00fcrzt oder neu startet,"},{"speaker":"Wolfgang","startTime":4009.4,"endTime":4011.56,"body":"dann hast du das ja auch, dieses Away."},{"speaker":"Wolfgang","startTime":4012.64,"endTime":4015.16,"body":"Also je nachdem, was der Grund dann nat\u00fcrlich daf\u00fcr ist."},{"speaker":"Wolfgang","startTime":4016.12,"endTime":4017.44,"body":"Was mein Lieblingsstatement ist,"},{"speaker":"Wolfgang","startTime":4017.6,"endTime":4019.98,"body":"ist also kein Lieblingsstatement in dem Sinne,"},{"speaker":"Wolfgang","startTime":4020.24,"endTime":4022.96,"body":"aber ein Statement, was sehr wenige Leute kennen,"},{"speaker":"Wolfgang","startTime":4023.34,"endTime":4025.46,"body":"ist das Create-Event-Statement."},{"speaker":"Wolfgang","startTime":4026.1,"endTime":4026.38,"body":"Kennt ihr das?"},{"speaker":"Christian","startTime":4026.88,"endTime":4028.04,"body":"Was tut das?"},{"speaker":"Wolfgang","startTime":4028.32,"endTime":4031.52,"body":"Es ist eigentlich ein Cron in MySQL."},{"speaker":"Wolfgang","startTime":4032.2,"endTime":4033.14,"body":"Das hei\u00dft, du kannst sagen,"},{"speaker":"Wolfgang","startTime":4034,"endTime":4041.96,"body":"Create Event und f\u00fchre mir jetzt eine Query, ein Update Statement oder ein Delete Statement jeden Tag um 18 Uhr aus."},{"speaker":"Wolfgang","startTime":4042.51,"endTime":4046.66,"body":"Das hei\u00dft, wenn du zum Beispiel irgendwo ganz viele Logs in deine Datenbank speicherst,"},{"speaker":"Wolfgang","startTime":4046.91,"endTime":4055.74,"body":"dann kannst du ein Event kreieren, dass jeden Tag am Abend oder in der Nacht werden alle Logs weggeworfen, die \u00e4lter als 14 Tage sind."},{"speaker":"Wolfgang","startTime":4056.21,"endTime":4062.82,"body":"Das hei\u00dft, du kannst da wirklich wie in einem Cron Statements regelm\u00e4\u00dfig aufrufen lassen, vollautomatisch im Hintergrund."},{"speaker":"Wolfgang","startTime":4063.16,"endTime":4069.12,"body":"Und gerade wenn es um so Clean-Up-Jobs geht oder gewisse Sachen, die du vielleicht einmal pro Tag berechnen willst,"},{"speaker":"Wolfgang","startTime":4069.82,"endTime":4076.34,"body":"so vorberechnete Tabellen zum Beispiel, dann kannst du das \u00fcber solche Event-Statements sehr gut abbilden"},{"speaker":"Wolfgang","startTime":4076.68,"endTime":4080.44,"body":"und brauchst nicht extra wieder einen Cron, irgendwie eine Software au\u00dferhalb,"},{"speaker":"Wolfgang","startTime":4080.68,"endTime":4085.46,"body":"irgendeinen Cron, den du \u00fcberwachen musst. Es l\u00e4uft in der Datenbank ab und l\u00e4uft stabil in der Datenbank ab"},{"speaker":"Wolfgang","startTime":4085.58,"endTime":4088.5,"body":"und brauchst du dann nicht extra maintainen."},{"speaker":"Christian","startTime":4089.08,"endTime":4090.7,"body":"Spannend, das kannte ich echt noch nicht."},{"speaker":"Christian","startTime":4090.84,"endTime":4097.6,"body":"Ich hatte so einen \u00e4hnlichen Effekt mal, als ich mich mal eine kurze Zeit mit PLSQL, mit Oracle besch\u00e4ftigen musste."},{"speaker":"Enrico","startTime":4098.12,"endTime":4101.779,"body":"Ja, da dachte ich auch gerade dran, will man das wirklich?"},{"speaker":"Enrico","startTime":4102.569,"endTime":4111.96,"body":"Weil, also, so mit diesem, gut, ich meine, jetzt ist nat\u00fcrlich ein MySQL MariaDB nicht unbedingt ein Kostentreiber,"},{"speaker":"Enrico","startTime":4112.41,"endTime":4115.92,"body":"im Gegensatz zu manch einer Datenbank, die Lizenzen haben m\u00f6chte."},{"speaker":"Enrico","startTime":4117.08,"endTime":4122.48,"body":"Und das war halt echt in vielen F\u00e4llen ein riesiges Problem,"},{"speaker":"Enrico","startTime":4122.88,"endTime":4127.22,"body":"diese ganzen Dinge da in etwas anderes transferieren zu k\u00f6nnen."},{"speaker":"Enrico","startTime":4128.4,"endTime":4133.839,"body":"Also will man diese Art von Logik und Dingen in der Datenbank abbilden"},{"speaker":"Enrico","startTime":4133.91,"endTime":4137.24,"body":"oder w\u00e4re es nicht sch\u00f6ner, wenn das woanders lebt?"},{"speaker":"Enrico","startTime":4137.88,"endTime":4138.68,"body":"Ich frage f\u00fcr einen Freund."},{"speaker":"Wolfgang","startTime":4148.64,"endTime":4150.72,"body":"weil du k\u00f6nntest ja auch noch viel mehr machen."},{"speaker":"Wolfgang","startTime":4151.06,"endTime":4152.5,"body":"Also auch MySQL unterst\u00fctzt das mittlerweile."},{"speaker":"Wolfgang","startTime":4152.64,"endTime":4156,"body":"Du kannst Trigger haben, du kannst Funktionen haben,"},{"speaker":"Wolfgang","startTime":4156.18,"endTime":4157.42,"body":"du kannst Procedures haben."},{"speaker":"Wolfgang","startTime":4158.04,"endTime":4159.839,"body":"Teilweise ist es nat\u00fcrlich sehr praktisch,"},{"speaker":"Wolfgang","startTime":4159.88,"endTime":4163,"body":"jetzt wenn du wirklich performance-kritische Sachen machst,"},{"speaker":"Wolfgang","startTime":4163.08,"endTime":4165.52,"body":"wo du sagst, du musst irgendwie nah an den Daten sein"},{"speaker":"Wolfgang","startTime":4165.62,"endTime":4167.54,"body":"bei Procedures oder Funktionen."},{"speaker":"Wolfgang","startTime":4167.98,"endTime":4169.6,"body":"Es gibt auch so Dinge wie zum Beispiel,"},{"speaker":"Wolfgang","startTime":4169.819,"endTime":4174.2,"body":"wenn du dir gewisse IDs errechnen l\u00e4sst zum Beispiel,"},{"speaker":"Wolfgang","startTime":4174.359,"endTime":4176.6,"body":"irgendwie zum Beispiel eine Mapping-Tabelle."},{"speaker":"Wolfgang","startTime":4176.7,"endTime":4177.66,"body":"Also du hast irgendwo Strings,"},{"speaker":"Wolfgang","startTime":4178.04,"endTime":4191.56,"body":"Du hast zum Beispiel St\u00e4dte und jede Stadt hat eine ID und du willst jetzt die Stadt irgendwo einf\u00fcgen, irgendwo verwenden und willst aber nicht jedes Mal manuell in deinem Source-Code diese ID den Lookup machen."},{"speaker":"Wolfgang","startTime":4191.85,"endTime":4203.88,"body":"Also eine extra SQL-Select-Query, die dir die ID von der Stadt holt, sondern du kannst direkt im Insight-Statement eine Funktion aufrufen, die dir im Hintergrund checkt, gibt es diese Stadt schon, wenn nicht, leg sie an, gib mir dann die ID zur\u00fcck."},{"speaker":"Wolfgang","startTime":4204.5,"endTime":4207.52,"body":"Solche Dinge sind nat\u00fcrlich dann sehr praktisch, wenn du die in der Datenbank hast,"},{"speaker":"Wolfgang","startTime":4208.24,"endTime":4211.96,"body":"weil die sind nat\u00fcrlich auf Source-Code-Seite komplizierter oder komplexer."},{"speaker":"Wolfgang","startTime":4211.98,"endTime":4214.26,"body":"Und solche Dinge sehe ich schon in der Datenbank."},{"speaker":"Wolfgang","startTime":4214.94,"endTime":4218.62,"body":"Du hast nat\u00fcrlich recht, wenn du sowieso in deiner Software irgendwelche Jobs hast,"},{"speaker":"Wolfgang","startTime":4218.68,"endTime":4221.14,"body":"die regelm\u00e4\u00dfig durchlaufen, wo du das dann aufr\u00e4umen kannst,"},{"speaker":"Wolfgang","startTime":4221.26,"endTime":4223.54,"body":"dann w\u00fcrde es vielleicht auch eher in den Source-Code stecken."},{"speaker":"Wolfgang","startTime":4224.42,"endTime":4226.82,"body":"Aber wenn du jetzt eine Query hast, die dir einfach, keine Ahnung,"},{"speaker":"Wolfgang","startTime":4226.96,"endTime":4231.26,"body":"alle 14 Tage deine Tabellen aufr\u00e4umt oder irgendwie \u00e4ltere Daten wegwirft,"},{"speaker":"Christian","startTime":4227.78,"endTime":4229.18,"body":"Hm."},{"speaker":"Wolfgang","startTime":4232.02,"endTime":4234.5,"body":"dann ist das schon eigentlich ganz praktisch, auch im Code zu haben."},{"speaker":"Wolfgang","startTime":4234.77,"endTime":4238.36,"body":"Aber du hast nat\u00fcrlich vollkommen recht, es ist irgendwie unsichtbar."},{"speaker":"Wolfgang","startTime":4238.57,"endTime":4240.48,"body":"Das hei\u00dft, du siehst diese Dinger ja auch nicht."},{"speaker":"Wolfgang","startTime":4241.06,"endTime":4244.5,"body":"Also du createst so ein Event, das lebt dann in der Datenbank"},{"speaker":"Wolfgang","startTime":4244.96,"endTime":4246.52,"body":"und im Source-Code siehst du es nicht."},{"speaker":"Wolfgang","startTime":4246.99,"endTime":4251.62,"body":"Das hei\u00dft, was man nicht sieht, ist aus dem Kopf, ist weg und man vergisst das Ganze."},{"speaker":"Wolfgang","startTime":4252.36,"endTime":4253.42,"body":"Das kann dir nat\u00fcrlich schon passieren."},{"speaker":"Wolfgang","startTime":4253.95,"endTime":4255.8,"body":"Also da gebe ich dir nat\u00fcrlich vollkommen recht."},{"speaker":"Wolfgang","startTime":4255.96,"endTime":4258.66,"body":"Insofern ist es immer so eine Frage, wo macht man das,"},{"speaker":"Wolfgang","startTime":4258.77,"endTime":4260.8,"body":"wenn ich jetzt aber in meiner Software noch keinen Cron habe,"},{"speaker":"Wolfgang","startTime":4261.08,"endTime":4262.58,"body":"Wenn ich da jetzt ein Cron aufsetzen m\u00fcsste,"},{"speaker":"Wolfgang","startTime":4262.74,"endTime":4265,"body":"es ist vielleicht irgendein Webprojekt, wo ich gar keine Crons habe,"},{"speaker":"Wolfgang","startTime":4265.16,"endTime":4267.62,"body":"ein Cron muss ich \u00fcberwachen, wurde der wirklich ausgef\u00fchrt?"},{"speaker":"Wolfgang","startTime":4267.74,"endTime":4271.86,"body":"Was hat der gemacht? Was ist der Output von dem Cron?"},{"speaker":"Wolfgang","startTime":4272.06,"endTime":4274.42,"body":"Dann brauchst du wieder irgendein System, der ein Cron \u00fcberwacht,"},{"speaker":"Wolfgang","startTime":4274.48,"endTime":4276,"body":"wurden die Crons wirklich ausgef\u00fchrt?"},{"speaker":"Wolfgang","startTime":4276.1,"endTime":4277.94,"body":"Ist da ein Fehler vielleicht passiert und so weiter?"},{"speaker":"Wolfgang","startTime":4278.68,"endTime":4280.16,"body":"Also das musst du auch wieder alles mitdenken."},{"speaker":"Wolfgang","startTime":4280.76,"endTime":4284.54,"body":"Das hast du nat\u00fcrlich bei einem simplen Statement in der Datenbank nicht,"},{"speaker":"Wolfgang","startTime":4284.82,"endTime":4286.28,"body":"wobei das nat\u00fcrlich auch fehlschlagen kann."},{"speaker":"Wolfgang","startTime":4286.4,"endTime":4288.08,"body":"Das kann nat\u00fcrlich auch passieren, aber \u00fcblicherweise,"},{"speaker":"Wolfgang","startTime":4288.22,"endTime":4290.52,"body":"die Datenbank ist ja so konsistent, wenn es einmal l\u00e4uft,"},{"speaker":"Wolfgang","startTime":4290.72,"endTime":4295.62,"body":"dann ist es schwer eigentlich, dass das SQL-Statement dann nicht mehr funktioniert pl\u00f6tzlich sp\u00e4ter."},{"speaker":"Wolfgang","startTime":4296.08,"endTime":4301.02,"body":"Also da hast du ja die referenzielle Integrit\u00e4t von der Datenbank, da hast du schon den Vorteil."},{"speaker":"Enrico","startTime":4301.16,"endTime":4305.06,"body":"Aus der Kategorie, wenn dein Werkzeug ein Hammer ist, ist jedes Problem ein Nagel."},{"speaker":"Enrico","startTime":4306.02,"endTime":4311.18,"body":"Hast du weitere Anekdoten, wo dir das mal passiert ist und du dann dich irgendwann erwischt hast und gedacht hast,"},{"speaker":"Enrico","startTime":4311.82,"endTime":4315.78,"body":"Moment kurz, was mache ich hier eigentlich? Und das dann doch anders gel\u00f6st hast."},{"speaker":"Wolfgang","startTime":4318.92,"endTime":4341.04,"body":"Also ich habe auch Trigger in Verwendung, aber da bin ich mir auch immer am \u00fcberlegen, w\u00fcrde ich heute anders machen, aber die kommen noch aus einer Zeit, wo es schwieriger war per Code und da ging es wirklich darum, um einen Wert zu erh\u00f6hen in der Datenbank, da brauchst du Transaktionen und das ist dann schon wieder alles schwieriger, darum ist es damals ein Trigger geworden. Aber ich kann das voll und ganz nachvollziehen, was du meinst."},{"speaker":"Enrico","startTime":4335.86,"endTime":4343.1,"body":"Ja, ich glaube, PLSQL ist f\u00fcr mich auch etwas,"},{"speaker":"Enrico","startTime":4343.24,"endTime":4345.08,"body":"was in manchen Situationen"},{"speaker":"Enrico","startTime":4345.08,"endTime":4346.86,"body":"eine Trigger-Warning vorher braucht."},{"speaker":"Christian","startTime":4348.02,"endTime":4349.28,"body":"Im doppelten Sinne, genau."},{"speaker":"Wolfgang","startTime":4348.92,"endTime":4360.7,"body":"Wie sieht das mit der Industrie aus?"},{"speaker":"Christian","startTime":4349.36,"endTime":4352.84,"body":"Der Trigger einmal als Statement,"},{"speaker":"Christian","startTime":4352.96,"endTime":4354.1,"body":"nat\u00fcrlich der Trigger einmal als,"},{"speaker":"Christian","startTime":4354.19,"endTime":4355.62,"body":"oh Gott, da kommen Erinnerungen hoch."},{"speaker":"Enrico","startTime":4355.5,"endTime":4356.34,"body":"Ja, sch\u00f6n."},{"speaker":"Wolfgang","startTime":4378.92,"endTime":4400.9,"body":"Oder so, das schon. Aber alles, was dann komplizierter wird, es gibt ja ganze Applikationen, die geschrieben sind im BLSQL Spaghetti Code. Und es gibt auch diese Oracle App Plattform oder wie sie, ja, irgendwo, wo man wirklich nur in BLSQL schreibt. Und das ist dann schon wildes Spaghetti Zeug."},{"speaker":"Christian","startTime":4390.72,"endTime":4393.12,"body":"Apex glaube ich, ne?"},{"speaker":"Christian","startTime":4396.9,"endTime":4397.7,"body":"Ja."},{"speaker":"Wolfgang","startTime":4400.98,"endTime":4410.44,"body":"Ich glaube, die haben mittlerweile auch so Klassen und so irgendwann mal eingef\u00fchrt. Aber ja, ich glaube, da sind wir jetzt alle so weit in der Industrie, dass wir sagen, es ist vielleicht nicht mehr the way to go."},{"speaker":"Christian","startTime":4410.659,"endTime":4411.12,"body":"Ja."},{"speaker":"Christian","startTime":4411.58,"endTime":4415.66,"body":"Es wurde damals, also Apex steht f\u00fcr Oracle Application Express"},{"speaker":"Christian","startTime":4416.05,"endTime":4421,"body":"und das ist eben diese Plattform, wo du SQL-Statements in eine Web-Anwendung konvertieren kannst,"},{"speaker":"Christian","startTime":4421.6,"endTime":4424.68,"body":"war mal als Low-Code-Environment angepriesen damals."},{"speaker":"Christian","startTime":4424.77,"endTime":4428.24,"body":"Ich glaube, mittlerweile haben die meisten Menschen eine andere Definition von Low-Code."},{"speaker":"Enrico","startTime":4429.44,"endTime":4430.2,"body":"Ich bin dann mal raus."},{"speaker":"Enrico","startTime":4430.4,"endTime":4430.48,"body":"Ciao."},{"speaker":"Wolfgang","startTime":4431.76,"endTime":4437.14,"body":"Wobei mir sicher bin, dass Oracle noch garantiert irgendwelche anderen Plattforms mittlerweile"},{"speaker":"Christian","startTime":4435.74,"endTime":4437.14,"body":"Hm?"},{"speaker":"Wolfgang","startTime":4437.4,"endTime":4439.8,"body":"hat, die da irgendwas in diese Richtung machen."},{"speaker":"Wolfgang","startTime":4439.8,"endTime":4444.54,"body":"Vielleicht nicht mehr mit BLSQL, aber grunds\u00e4tzlich diese Plattformen und ich glaube Oracle Forms"},{"speaker":"Enrico","startTime":4444.92,"endTime":4462.04,"body":"Ja, Oracle Forms Reports war dann halt vorher, also ich meine, es gab ja damals Menschen, die hatten mit Kobold schon die Idee, Menschen aus dem Business dazu zu enablen, fachliche Anwendungen zu machen und das ist mit Low-Code, No-Code und RPA jetzt auch nicht viel anders."},{"speaker":"Enrico","startTime":4462.86,"endTime":4477.62,"body":"Ich f\u00e4nde es einfach, ich finde es gut, dass MySQL nicht versucht, eine eierlegende Wollmilchsau f\u00fcr alles zu sein. Und auch wenn es schade ist, finde ich es irgendwo auch gut, dass Doom nicht in MySQL l\u00e4uft. Also irgendwie noch nicht."},{"speaker":"Christian","startTime":4469.68,"endTime":4471.08,"body":"Ja."},{"speaker":"Christian","startTime":4474.78,"endTime":4476.66,"body":"Noch nicht."},{"speaker":"Wolfgang","startTime":4477.36,"endTime":4481.54,"body":"Ja, vielleicht hat das schon jemand gemacht. Bin mir nicht so sicher."},{"speaker":"Christian","startTime":4481.88,"endTime":4488.34,"body":"Insert Shoot into db_enemies, where hp = 10"},{"speaker":"Wolfgang","startTime":4489.66,"endTime":4495.3,"body":"Es ist \u00fcbrigens auch eine klassische Erweiterung von Datenbanken, Geo-Objekte drinnen zu speichern."},{"speaker":"Enrico","startTime":4493.96,"endTime":4495.02,"body":"Oh ja, ja, ja."},{"speaker":"Wolfgang","startTime":4495.39,"endTime":4500.7,"body":"Also 3D-Objekte oder im Raum zumindest Daten anlegen. Karten sind ja ein Klassiker."},{"speaker":"Enrico","startTime":4495.94,"endTime":4496.04,"body":"Ja."},{"speaker":"Wolfgang","startTime":4501.24,"endTime":4503.22,"body":"Insofern k\u00f6nnte man da vielleicht Doom ganz gut reinbringen."},{"speaker":"Wolfgang","startTime":4503.36,"endTime":4508.48,"body":"Also die 3D-Welt dann in irgendwelchen 3D-Indexstrukturen ablegen, durchaus eine M\u00f6glichkeit vielleicht."},{"speaker":"Enrico","startTime":4508.64,"endTime":4509.88,"body":"Also zumindest habe ich es"},{"speaker":"Enrico","startTime":4509.88,"endTime":4511.62,"body":"in der kurzen Recherche eben noch nicht gesehen,"},{"speaker":"Enrico","startTime":4511.84,"endTime":4513.16,"body":"hatte mich aber gefragt, weil es dann,"},{"speaker":"Enrico","startTime":4513.86,"endTime":4515.2,"body":"weil ich dann kurz eben einmal"},{"speaker":"Enrico","startTime":4516,"endTime":4517.7,"body":"weitergegangen bin, was kann ich denn eigentlich"},{"speaker":"Enrico","startTime":4517.88,"endTime":4519.56,"body":"noch so an Code"},{"speaker":"Enrico","startTime":4519.66,"endTime":4521.699,"body":"da drin ausf\u00fchren, der vielleicht in einer anderen"},{"speaker":"Enrico","startTime":4521.72,"endTime":4523.58,"body":"Sprache oder sowas ist und ich finde es gut, dass"},{"speaker":"Enrico","startTime":4523.74,"endTime":4525.12,"body":"sowas nicht geht, weil das einfach"},{"speaker":"Enrico","startTime":4525.35,"endTime":4527.56,"body":"das f\u00fchlt sich irgendwie nicht richtig"},{"speaker":"Enrico","startTime":4527.75,"endTime":4529.64,"body":"an und nicht alles, was geht, sollte man"},{"speaker":"Enrico","startTime":4529.64,"endTime":4531.46,"body":"machen, das"},{"speaker":"Enrico","startTime":4531.6,"endTime":4532.94,"body":"aber nur meine Meinung."},{"speaker":"Christian","startTime":4534.44,"endTime":4536.32,"body":"Ja, ich muss auch zugeben,"},{"speaker":"Christian","startTime":4536.48,"endTime":4538.08,"body":"es ist sch\u00f6n, wenn man Dinge nicht"},{"speaker":"Christian","startTime":4538.4,"endTime":4540.3,"body":"unn\u00f6tig overengineert. Also man kann"},{"speaker":"Christian","startTime":4540.32,"endTime":4542.3,"body":"ganz viel auf dem Layer machen, aber ob das immer"},{"speaker":"Christian","startTime":4542.34,"endTime":4544.2,"body":"sinnvoll ist, muss man halt selbst wissen. Das war auch"},{"speaker":"Christian","startTime":4544.27,"endTime":4545.82,"body":"mein Lessons Learned damals nach"},{"speaker":"Christian","startTime":4546.06,"endTime":4548.16,"body":"einigen Monaten PLSQL, dass das"},{"speaker":"Christian","startTime":4548.24,"endTime":4550.28,"body":"cool ist, was da alles drin geht, aber"},{"speaker":"Christian","startTime":4550.32,"endTime":4551.96,"body":"allein der weirde Syntax,"},{"speaker":"Christian","startTime":4552.23,"endTime":4553.88,"body":"der hat mir schon Kopfschmerzen bereitet"},{"speaker":"Christian","startTime":4554.96,"endTime":4556.12,"body":"und w\u00fcrde ich jetzt"},{"speaker":"Christian","startTime":4556.2,"endTime":4558.26,"body":"vermutlich auch die Komplexit\u00e4t"},{"speaker":"Christian","startTime":4558.39,"endTime":4560.16,"body":"eher in die Anwendung verlagern oder"},{"speaker":"Christian","startTime":4560.2,"endTime":4561.72,"body":"in den Layer, der dazwischen liegt."},{"speaker":"Christian","startTime":4562.6,"endTime":4564.16,"body":"Aber jetzt haben wir schon auch ein bisschen was"},{"speaker":"Christian","startTime":4564.17,"endTime":4566.5,"body":"\u00fcber Transaktionen geh\u00f6rt. Lass uns mal kurz zusammenfassen"},{"speaker":"Christian","startTime":4566.58,"endTime":4568,"body":"f\u00fcr die Zuh\u00f6renden, die das jetzt vielleicht"},{"speaker":"Christian","startTime":4568.11,"endTime":4570.28,"body":"zum ersten Mal h\u00f6ren, was das jetzt"},{"speaker":"Christian","startTime":4570.3,"endTime":4571.5,"body":"Leute, ich stelle mir jetzt als Laie vor,"},{"speaker":"Christian","startTime":4572,"endTime":4573.52,"body":"dass es mehrere Befehle gibt, die halt hintereinander"},{"speaker":"Christian","startTime":4573.62,"endTime":4575.96,"body":"ausgef\u00fchrt werden sollen. Ist das zu kurz gefasst?"},{"speaker":"Wolfgang","startTime":4575.36,"endTime":4578.72,"body":"Ja, im weitesten Sinn schon."},{"speaker":"Wolfgang","startTime":4580.88,"endTime":4600.76,"body":"Und idealerweise, wenn du mehrere Befehle hintereinander ausf\u00fchrst, dann willst du vielleicht, wenn die in irgendeiner Form zusammenh\u00e4ngen, dass die alle hintereinander ausgef\u00fchrt werden und dass dir niemand anderer irgendwie hineingr\u00e4tscht in deine Transaktion, in deine Abfolge von Queries."},{"speaker":"Wolfgang","startTime":4601,"endTime":4630.94,"body":"Der Klassiker ist nat\u00fcrlich eine Bank, wenn du irgendwas \u00fcberweisen willst, dann musst du auf dem einen Konto was abziehen, auf dem anderen Konto was hinzuf\u00fcgen. Da willst du nat\u00fcrlich, dass diese Select-Query, dann die Update-Query, dann die n\u00e4chste Update-Query, dass die auf jeden Fall in der richtigen Reihenfolge durchlaufen und dass nicht nach der zweiten Query, wo du minus 300 rechnest, dann pl\u00f6tzlich irgendwas passiert und das der neue Status ist, weil dann hast du gerade 300 Euro irgendwo verloren im Weltall, ohne dass es irgendwo anders auftaucht."},{"speaker":"Christian","startTime":4620.42,"endTime":4621.82,"body":"Hm?"},{"speaker":"Wolfgang","startTime":4631,"endTime":4650.42,"body":"Und daf\u00fcr gibt es eigentlich Transaktionen, dass du eben sagen kannst, mit einem Start-Transaction und einem Commit am Ende, diese Queries, die dazwischen passieren, sollen auf jeden Fall durchlaufen. Wenn etwas passiert, soll das Ganze wieder zur\u00fcckgerollt werden, damit deine 300 Euro wieder am Konto landen und nicht irgendwo verschwinden."},{"speaker":"Wolfgang","startTime":4650.72,"endTime":4662.26,"body":"Das hei\u00dft, entweder passiert alles oder gar nichts und zwischendrin wird auch noch sichergestellt, dass wenn ganz viele User auf der Datenbank sind, dass die sich nicht gegenseitig irgendwo in die Quere kommen."},{"speaker":"Wolfgang","startTime":4662.7,"endTime":4680.12,"body":"Weil wenn du von demselben Konto mehrere User buchen da jetzt irgendwas ab und buchen es woanders wieder drauf, wenn du jetzt da ein Select-Statement machst, wie viel ist \u00fcberhaupt auf dem Konto oben, dir den Wert merkst, dann 300 abziehst, in der Zwischenzeit hat aber irgendwer was anderes abgezogen oder hinaufgebucht, dann stimmt dein Wert schon nicht mehr von deiner Select-Anfrage."},{"speaker":"Wolfgang","startTime":4680.32,"endTime":4698.32,"body":"Und das stellt ja die Datenbank sicher, wenn sie ACID-konform ist. Also ACID steht f\u00fcr Atomicit\u00e4t, Consistency, wie hei\u00dft das auf Deutsch? Konsistenz, danke, ja genau."},{"speaker":"Christian","startTime":4695.12,"endTime":4696,"body":"Konsistenz des Ger\u00e4tes"},{"speaker":"Wolfgang","startTime":4699.46,"endTime":4714.98,"body":"Isolation und Dauerhaftigkeit, das sind eigentlich die vier Eigenschaften von ACID und die m\u00fcssen eben sichergestellt werden, damit du so sinnvolle Banktransaktionen oder Bankapplikationen programmieren kannst."},{"speaker":"Wolfgang","startTime":4715.22,"endTime":4733.2,"body":"Also das Atoma hei\u00dft eben alles oder nichts eigentlich. Konsistent hei\u00dft, ich kann nicht zwischendrin irgendwie einen unkonsistenten Zustand haben, auch wenn mehrere User darauf zugreifen. Die lesen immer den richtigen Kontostand zum Beispiel. Der kann nie irgendwie falsch sein, wenn da mehrere Leute parallel arbeiten."},{"speaker":"Wolfgang","startTime":4734.18,"endTime":4763.38,"body":"Isolation geht in dieselbe Richtung, also wenn ich jetzt gerade etwas \u00e4ndere an der Datenbank, aber meine Transaktion noch nicht abgeschlossen ist und du, Christian, eine Transaktion startest, dann wirst du nie das sehen, was ich gerade mache, weil wir eben in Isolation eigentlich arbeiten, obwohl wir parallel arbeiten, aber die Datenbank stellt eben sicher, dass das trotzdem isoliert eigentlich stattfindet und die Dauerhaftigkeit hei\u00dft, wenn am Schluss das Commit passiert, das hei\u00dft, ich wei\u00df, meine Transaktion ist durchgelaufen, meine 300 Euro wurden \u00fcberwiesen,"},{"speaker":"Christian","startTime":4742.62,"endTime":4744.02,"body":"Hm."},{"speaker":"Wolfgang","startTime":4763.46,"endTime":4766.8,"body":"dann ist es auch wirklich so und dann ist es auf der Festplatte gespeichert."},{"speaker":"Wolfgang","startTime":4767.48,"endTime":4770.96,"body":"Das hei\u00dft, wenn da ein Stromausfall ist, in dem Moment, wo ich das Commit bekomme,"},{"speaker":"Wolfgang","startTime":4771.64,"endTime":4776.6,"body":"ist mir das egal, weil ich wei\u00df, trotz Stromausfall liegt es auf der Platte festgeschrieben"},{"speaker":"Wolfgang","startTime":4776.78,"endTime":4780.76,"body":"und nach einem Neustart ist es auch wieder da und das Geld ist nicht verloren gegangen."},{"speaker":"Wolfgang","startTime":4781.2,"endTime":4784.24,"body":"Das sind eigentlich so die Transaktionen und das war damals die gro\u00dfe Neuigkeit"},{"speaker":"Wolfgang","startTime":4784.68,"endTime":4790.14,"body":"oder das Feature von InnoDB, weil das MyISAM damals nicht unterst\u00fctzt hat."},{"speaker":"Wolfgang","startTime":4790.24,"endTime":4813.16,"body":"Also MyISAM konnte kein ACID, InnoDB hat dann ACID eingef\u00fchrt. Und darum war eigentlich auch die Meinung, MySQL ist ein Telefonbuch mit SQL-Schnittstelle, weil nat\u00fcrlich die ganzen gro\u00dfen Datenbanken immer ACID unterst\u00fctzt haben und darum alle gesagt haben, ja MyISAM, das ist ja nicht mal sicher, ich mache da ein Insert und dann bin ich mir nicht mal sicher, ob das gespeichert ist, mache ich zweimal Updates, bin ich mir auch nicht sicher, was da passiert."},{"speaker":"Wolfgang","startTime":4813.34,"endTime":4830.76,"body":"Und darum war eigentlich die Kritik damals. Wobei auch da wieder muss man sagen, wer verwendet heutzutage Transaktionen in den Applikationen? Also welche ProgrammiererInnen hat schon mal Start Transaction und Commit wirklich explizit ausgef\u00fchrt? Brauchst du wahrscheinlich bei 99% aller Applikationen auch nicht."},{"speaker":"Wolfgang","startTime":4831.62,"endTime":4853.66,"body":"Manchmal w\u00e4re es vielleicht sch\u00f6n und man k\u00f6nnte da mehr eigentlich einbauen, aber in der Realit\u00e4t wird es auch ganz selten gemacht, weil man eben selten eine Bank implementiert und wenn du in einem Shop arbeitest und der Strom f\u00e4llt aus und du verlierst diese Banane, die du gerade in deinen Shopping-Basket gelegt hast oder deinen Sneaker, ja, dann wird die Welt nicht untergehen."},{"speaker":"Christian","startTime":4854.14,"endTime":4856.2,"body":"Liegt alles im Auge der betrachtenden Person."},{"speaker":"Christian","startTime":4856.28,"endTime":4862.32,"body":"Ich kenne da so einige Leute, wenn die jetzt neue Konzerttickets sich klicken wollen, dann ist das f\u00fcr die ein pers\u00f6nliches Drama."},{"speaker":"Wolfgang","startTime":4862.719,"endTime":4876.02,"body":"Das stimmt nat\u00fcrlich. Konzerttickets sind ein gro\u00dfer Punkt, weil da hast du zehntausende User, die auf nur, keine Ahnung, tausend Pl\u00e4tze wollen oder hunderttausend User auf zehntausend Pl\u00e4tze und da m\u00fcssen dann Transaktionen nat\u00fcrlich gut funktionieren."},{"speaker":"Wolfgang","startTime":4876.2,"endTime":4895.88,"body":"Da hast du dann aber meistens auch noch Transaktionen, die vielleicht dann \u00fcbergreifender sind mit der Zahlungstransaktion. Das hei\u00dft, da wird meistens eher der Platz reserviert in der Datenbank f\u00fcr 15 Minuten, dann wird die ganze Zahlung durchgef\u00fchrt und dann hast du vielleicht so ein Aufr\u00e4umstatement wieder, was dir nach 15 Minuten alle rauskickt, die noch nicht bezahlt wurden."},{"speaker":"Christian","startTime":4896.56,"endTime":4899.94,"body":"Jetzt haben wir ganz viel \u00fcber die technischen Unterschiede geh\u00f6rt und wo die Standards"},{"speaker":"Christian","startTime":4900.1,"endTime":4902.26,"body":"eigentlich herkommen und die Geschichte des Projekts."},{"speaker":"Christian","startTime":4902.43,"endTime":4905.96,"body":"Wir k\u00f6nnen ja mal ein bisschen dar\u00fcber reden, was eigentlich unser erster Ber\u00fchrungspunkt"},{"speaker":"Christian","startTime":4906.04,"endTime":4906.3,"body":"damit war."},{"speaker":"Christian","startTime":4906.46,"endTime":4908.32,"body":"Ich glaube, bei Enrico d\u00fcrfte es \u00e4hnlich sein wie bei mir."},{"speaker":"Christian","startTime":4909.03,"endTime":4913.14,"body":"Was war das erste Projekt, das du mit MySQL umgesetzt hast damals?"},{"speaker":"Enrico","startTime":4913.38,"endTime":4918.58,"body":"Ich glaube, das ist gar nicht so \u00e4hnlich und es ist einigerma\u00dfen nasty und heute wird man es nicht mehr so tun."},{"speaker":"Christian","startTime":4919.38,"endTime":4920.88,"body":"Das sind die besten Geschichten."},{"speaker":"Enrico","startTime":4921.08,"endTime":4943.86,"body":"Es war einmal vor langer, langer Weile, irgendwann 2008, da kam ein Kollege zu mir, der war da Security-Verantwortlicher und meinte, Mann, das ist voll doof, nee, das fing anders an, das war der Mail-Server-Beauftragte, der kam und sagte, hey, wir haben hier so unterschiedliche Mail-Server."},{"speaker":"Enrico","startTime":4943.96,"endTime":4963.78,"body":"Da war Lotus Notes damals mit im Spiel, da gab es einen Virenscanner mit im Spiel und es gab einen, ich glaube das war ein Standard, was ist ein Postfix, wer versendet, was ist empfangend, irgendwas, irgendwas, irgendwas, also jedenfalls drei Stages, drau\u00dfen in der DMZ ist was, dann kommt der Virenscanner, dann geht es zu Lotus Notes."},{"speaker":"Enrico","startTime":4963.94,"endTime":4993.14,"body":"Alle davon schicken unterschiedliche Logs, alle davon sind mehrfach redundant ausgelegt und ab und zu geht was schief. Dann hat er gesagt, das w\u00e4re doch jetzt voll cool, wenn irgendetwas hier diese ganzen Logs parsen k\u00f6nnte und das irgendwo hinschreiben k\u00f6nnte und mir dann genau sagen w\u00fcrde, welchen Verlauf hat denn jetzt eigentlich eine E-Mail \u00fcber die unterschiedlichen Server gemacht, weil das vorher ein manueller Prozess war, wo er dann sich die Mail-ID genommen hat, auf alle Systeme sich verbunden hat und versucht hat rauszufinden, wo lief denn jetzt das Ding mit welchem Status lang."},{"speaker":"Enrico","startTime":4993.94,"endTime":5015.94,"body":"So, und dann war da der kleine Enrico, der gedacht hat, eine Datenbank, gibt's bestimmt irgendwas, SQL hab ich schon mal geh\u00f6rt, also war es eine MySQL und da ich schon damals Sprachen verachtet hab, die sich, also die Variablen auf Datentypen festgelegt hat, gibt's eigentlich nur PHP, was f\u00fcr mich in Frage kam, weil ich ja auch dann eine Web-App draus machen sollte."},{"speaker":"Christian","startTime":5012.34,"endTime":5014.6,"body":"Hehehe."},{"speaker":"Enrico","startTime":5016.94,"endTime":5029.64,"body":"Und hab dann tats\u00e4chlich einen Log-Parser geschrieben, der dann diese ganzen Mail-Logs einigerma\u00dfen normalisiert hat und irgendwie versucht hat, das waren teilweise mehrzeilige Outputs, die da irgendwie zusammengekriegt wurden, also ganz nasty Zeugs."},{"speaker":"Enrico","startTime":5030.72,"endTime":5059.04,"body":"Und das waren dann gigabyteweise Daten, die ich da damals schon dann pro Tag da reinschieben musste und dann, also ich glaube, h\u00e4tte es damals schon Elasticsearch gegeben, w\u00e4re das toll gewesen, gab es aber nicht und dann habe ich das in MySQL abgebildet und ich habe wilde Klassen geschrieben, die dann auf Basis der Felder, die requestet wurden, dynamisch die SQL-Statements dann zusammengebaut hat und das hat sich alles, ich habe das irgendwann noch sp\u00e4ter nochmal angeguckt, ich habe es nicht mehr verstanden."},{"speaker":"Enrico","startTime":5059.5,"endTime":5086.7,"body":"Bin mir sicher, es kann alles viel besser gel\u00f6st werden, als ich das damals hatte, aber das war meine erste Ber\u00fchrung mit MySQL, eine Sache, die ich damit umsetzen durfte. Und sp\u00e4ter kam dann noch so Checken von Referrern, also um Phishing-Seiten aufzudecken, wo irgendwie nochmal so Content nachgeladen wurde und dann wurde das immer mehr und mehr, was in diese Datenbank und in diese Anwendungssammlung reingeht."},{"speaker":"Enrico","startTime":5086.88,"endTime":5089.2,"body":"w\u00e4re eigentlich interessant zu wissen, ob das heute immer noch"},{"speaker":"Enrico","startTime":5089.2,"endTime":5091.22,"body":"so lebt oder ob und wann die das"},{"speaker":"Enrico","startTime":5091.34,"endTime":5091.96,"body":"eigentlich ersetzt haben."},{"speaker":"Christian","startTime":5092.48,"endTime":5095.06,"body":"Ja, ich hoffe doch, dass Sie es ausgetauscht haben."},{"speaker":"Enrico","startTime":5094.34,"endTime":5095.38,"body":"Ich hoffe auch."},{"speaker":"Enrico","startTime":5097.08,"endTime":5098.5,"body":"Es war PHP 5."},{"speaker":"Wolfgang","startTime":5098.36,"endTime":5100.78,"body":"Never change a running system."},{"speaker":"Enrico","startTime":5098.95,"endTime":5099.64,"body":"Es ist lange her."},{"speaker":"Christian","startTime":5101.56,"endTime":5105.78,"body":"Ja, immerhin PHP 5 schon, nicht PHP 3 oder irgendwie sowas."},{"speaker":"Enrico","startTime":5102.32,"endTime":5102.84,"body":"Ja."},{"speaker":"Enrico","startTime":5106.18,"endTime":5107.24,"body":"Und du, Christian?"},{"speaker":"Enrico","startTime":5107.91,"endTime":5108.84,"body":"War das dieselbe Geschichte?"},{"speaker":"Christian","startTime":5109.98,"endTime":5120.98,"body":"Nee, das ist irgendwie, habe ich da eine andere Erwartung gehabt. Irgendwie sind wir da falsch, beide vielleicht falsch abgebogen. Das muss man glaube ich selbst bewerten. Das d\u00fcrfen unsere Zuh\u00f6renden machen. Aber es hat auch mit PHP zu tun im weitesten Sinne."},{"speaker":"Christian","startTime":5121.4,"endTime":5138.44,"body":"Denn ich habe damals so angefangen, wir hatten den ersten DSL-Anschluss, ich habe B\u00fccher gelesen, die ich mir irgendwo gekauft habe und angefangen zu programmieren. Und ja, was musste man damals haben in den fr\u00fchen 2000ern? Nat\u00fcrlich brauchst du ein G\u00e4stebuch und einen Besucherinnenz\u00e4hler f\u00fcr deine Webseite."},{"speaker":"Christian","startTime":5140.64,"endTime":5155.32,"body":"Und da habe ich dann halt so Skripte, die es im Netz gab, genommen und habe dann auch angefangen, mich mit der Datenbank dahinter zu besch\u00e4ftigen. Auch v\u00f6llig overengineert eigentlich. Also eine vollwertige Datenbank, nur dass du da plus eins drin speicherst. Das h\u00e4tte man vermutlich einfacher l\u00f6sen k\u00f6nnen."},{"speaker":"Enrico","startTime":5153.86,"endTime":5155.26,"body":"Ja."},{"speaker":"Christian","startTime":5157.14,"endTime":5169.98,"body":"Und dann habe ich meine erste IT-Ausbildung abgeschlossen und da sollte man ein Abschlussprojekt eben abgeben und ja, da habe ich halt gedacht, komm, du machst jetzt schon ein bisschen PHP, du hast ein bisschen Datenbank gemacht, na dann mach doch so ein eigenes CMS."},{"speaker":"Christian","startTime":5170.12,"endTime":5192,"body":"Ich glaube, das war damals Standard, dass Menschen ihre eigenen CMS geschrieben haben, obwohl es schon, ich glaube, WordPress gab es damals auch schon. Und ja, habe dann halt so ein kleines, sehr limitiertes CMS darin geschrieben, wo man halt einfache Inhalte hinterlegen konnte und auch so einen ganz, ganz billigen What-You-See-Is-What-You-Get-Editor drin hatte, wo du so Fats und Unterstrichen und \u00dcberschrift erster Ebene und so weiter machen konntest."},{"speaker":"Christian","startTime":5192.08,"endTime":5195.46,"body":"und ja, das hat mir dann eine gute Note eingebracht"},{"speaker":"Christian","startTime":5195.6,"endTime":5197.14,"body":"und ich habe es dann nie wieder weiterentwickelt."},{"speaker":"Christian","startTime":5197.22,"endTime":5200.46,"body":"Ich war total ambitioniert, komm, wir entwickeln das weiter."},{"speaker":"Christian","startTime":5200.56,"endTime":5202.38,"body":"Es gibt auch den Quellcode immer noch im Netz, so ist es nicht."},{"speaker":"Enrico","startTime":5203.24,"endTime":5204.52,"body":"Lustig w\u00e4re jetzt gewesen, h\u00e4ttest du gesagt,"},{"speaker":"Enrico","startTime":5204.77,"endTime":5206.64,"body":"ja, und das haben wir dann Drupal genannt und seitdem"},{"speaker":"Enrico","startTime":5206.71,"endTime":5208,"body":"haben wir das ein bisschen weitergebaut."},{"speaker":"Enrico","startTime":5208.39,"endTime":5208.46,"body":"Hahaha."},{"speaker":"Christian","startTime":5209.4,"endTime":5210.84,"body":"Nee, so weit war es dann nicht."},{"speaker":"Christian","startTime":5211.92,"endTime":5213.8,"body":"Aber ja, da ist dann nie gro\u00df was geworden."},{"speaker":"Christian","startTime":5213.98,"endTime":5216.72,"body":"2009 war das, also die Version gibt es immer noch,"},{"speaker":"Christian","startTime":5216.84,"endTime":5218.36,"body":"aber ich habe das nicht mehr weiterentwickelt,"},{"speaker":"Christian","startTime":5218.38,"endTime":5221.28,"body":"weil ich dann doch festgestellt habe, so dauerhaft gro\u00dfe Projekte,"},{"speaker":"Christian","startTime":5221.9,"endTime":5224.66,"body":"Das ist jetzt so nichts, was ich vielleicht tagt\u00e4glich tun sollte."},{"speaker":"Enrico","startTime":5225.16,"endTime":5225.44,"body":"Hm."},{"speaker":"Enrico","startTime":5225.68,"endTime":5226.04,"body":"..."},{"speaker":"Christian","startTime":5226.28,"endTime":5229.18,"body":"Und wie war es bei dir, Wolfgang? Das war dein erstes Projekt?"},{"speaker":"Wolfgang","startTime":5229.18,"endTime":5233.48,"body":"Ich bin mir nicht mehr ganz sicher, wann MySQL wirklich dazugekommen ist,"},{"speaker":"Wolfgang","startTime":5233.58,"endTime":5241.8,"body":"Weil ich habe damals in den 90ern, also ich glaube da war das 16 oder 17, so eine eigene Webseite gehabt."},{"speaker":"Wolfgang","startTime":5241.9,"endTime":5243.3,"body":"Die habe ich \u00fcbrigens immer noch, diese Domain."},{"speaker":"Wolfgang","startTime":5243.53,"endTime":5245.2,"body":"By the way, weil wir gerade bei Domain sammeln sind."},{"speaker":"Christian","startTime":5245.24,"endTime":5245.68,"body":"Cool."},{"speaker":"Wolfgang","startTime":5247.22,"endTime":5250.58,"body":"Handyinfo.at hat die gehei\u00dfen, da ist nichts mehr oben."},{"speaker":"Wolfgang","startTime":5251.89,"endTime":5255.82,"body":"Da hat man dann auch gratis SMS versenden k\u00f6nnen, was in den 90ern nat\u00fcrlich sehr cool war."},{"speaker":"Enrico","startTime":5255.68,"endTime":5256.6,"body":"Ja."},{"speaker":"Wolfgang","startTime":5256.45,"endTime":5261.86,"body":"Mit einem kleinen Hack, den ich da im Hintergrund betrieben habe, bis mal die Mobilfunkbetreiber draufgekommen sind."},{"speaker":"Wolfgang","startTime":5262.46,"endTime":5264.02,"body":"Und mir ein b\u00f6ses E-Mail geschrieben haben."},{"speaker":"Wolfgang","startTime":5264.69,"endTime":5265.82,"body":"Ich habe es dann aber weitermachen d\u00fcrfen."},{"speaker":"Wolfgang","startTime":5266.11,"endTime":5269.1,"body":"Sie wollten nur sagen, ich h\u00e4tte eigentlich fragen sollen davor."},{"speaker":"Wolfgang","startTime":5269.78,"endTime":5271.72,"body":"Das waren noch die guten alten 90er."},{"speaker":"Wolfgang","startTime":5272.54,"endTime":5274.74,"body":"Und da hatte ich auch so eine Handyb\u00f6rse."},{"speaker":"Wolfgang","startTime":5274.91,"endTime":5277.86,"body":"Und ich bin mir nicht mehr sicher, ob das File-based war oder schon mal SQL-based."},{"speaker":"Wolfgang","startTime":5278.98,"endTime":5281.44,"body":"Auf jeden Fall sp\u00e4ter habe ich genau das gleiche gemacht wie der Christian."},{"speaker":"Wolfgang","startTime":5281.55,"endTime":5283.12,"body":"Ich habe mir gedacht, ich entwickle meinen CMS."},{"speaker":"Wolfgang","startTime":5283.42,"endTime":5286.48,"body":"Wobei in den 90ern hat es noch keine Open-Source-CMS gegeben."},{"speaker":"Wolfgang","startTime":5287.21,"endTime":5290.44,"body":"Und die gro\u00dfe Konkurrenz war, glaube ich, Imperia hat das gehei\u00dfen,"},{"speaker":"Wolfgang","startTime":5290.5,"endTime":5293.44,"body":"aus Bayern oder aus M\u00fcnchen, die haben irgendwie so eine Million verlangt,"},{"speaker":"Wolfgang","startTime":5293.52,"endTime":5295.44,"body":"dass du dieses CMS installieren hast k\u00f6nnen."},{"speaker":"Wolfgang","startTime":5295.59,"endTime":5299.26,"body":"Und das denkt man so als Informatiker, ja, man macht das nat\u00fcrlich selber,"},{"speaker":"Wolfgang","startTime":5299.38,"endTime":5300.16,"body":"programmiert das selber."},{"speaker":"Wolfgang","startTime":5300.69,"endTime":5303.14,"body":"Und da war eigentlich so das erste Mal mit PHP 3 \u00fcbrigens,"},{"speaker":"Wolfgang","startTime":5304.11,"endTime":5307.36,"body":"wo man sich noch so selber Cookies und so implementieren hat m\u00fcssen,"},{"speaker":"Wolfgang","startTime":5307.65,"endTime":5309.02,"body":"damit man \u00fcberhaupt irgendwie ein Login macht."},{"speaker":"Christian","startTime":5308.46,"endTime":5309.86,"body":"Uff."},{"speaker":"Wolfgang","startTime":5310.07,"endTime":5312.26,"body":"Und da habe ich auch eine sehr schr\u00e4ge Story,"},{"speaker":"Wolfgang","startTime":5312.59,"endTime":5315.24,"body":"weil ich mir gedacht habe, wie man es so klassisch macht, wenn man jung ist."},{"speaker":"Wolfgang","startTime":5315.69,"endTime":5317.54,"body":"Man will das nat\u00fcrlich perfekt machen und ich mir gedacht habe,"},{"speaker":"Wolfgang","startTime":5317.64,"endTime":5336.32,"body":"Das CMS, bevor es fertig ist, braucht ein perfektes Rechte-Management-System, ein hierarchisches Rechte-Management-System, was keine Ahnung, was unterst\u00fctzt hat. Am Ende gab es immer nur einen Administrator, by the way. Aber ich habe das gebaut mit einem super hierarchischen System und habe das damals \u00fcber ein Neste-Set-Modell gemacht. Keine Ahnung, ob das jetzt zuf\u00e4llig was sagt."},{"speaker":"Wolfgang","startTime":5336.42,"endTime":5356.1,"body":"Ich habe damals vom Christian K\u00f6hn-Top, da gab es so ein paar Slidesfolien in den 90ern, wie man das schafft mit Self-Joints in MySQL so ein hierarchisches Baummodell in die Datenbank zu bekommen, ohne dass man da irgendwie Rekursion ben\u00f6tigt."},{"speaker":"Wolfgang","startTime":5356.2,"endTime":5371.36,"body":"Und dass man mit einer simplen Anfrage komplexe B\u00e4ume, irgendwie Substrukturen abfragen kann. Wie gesagt, ich habe es nie in meinem Leben gebraucht, es war absolut premature optimization, aber ich hatte ein hierarchisches Permissionssystem dank Christian K\u00fcntop."},{"speaker":"Christian","startTime":5371.579,"endTime":5372.3,"body":"Wahnsinn."},{"speaker":"Enrico","startTime":5372.6,"endTime":5393.56,"body":"Das Internet vergisst du \u00fcbrigens nie. Ich habe gerade mal einen Link aus dem Internet-Archive von deiner alten Seite. Emoticons gab es da offensichtlich auch. Also da, ja, sehr sch\u00f6n. Also falls du dich mal Throwback-m\u00e4\u00dfig da rein geben willst, k\u00f6nnen wir ja vielleicht die aus der Wayback-Maschine das mit in die Shownotes packen."},{"speaker":"Christian","startTime":5385.539,"endTime":5386.26,"body":"Cool."},{"speaker":"Christian","startTime":5393.219,"endTime":5395.34,"body":"Das kommt auf jeden Fall in die Shownotes."},{"speaker":"Wolfgang","startTime":5395.9,"endTime":5397.96,"body":"... sogar mit Bildern, wow!"},{"speaker":"Christian","startTime":5398.18,"endTime":5401.62,"body":"Ja, es ist wirklich so Peak Early 2000 Webdesign."},{"speaker":"Wolfgang","startTime":5399.74,"endTime":5400.02,"body":"..."},{"speaker":"Christian","startTime":5401.71,"endTime":5405.16,"body":"Da fehlt eigentlich nur noch der Hinweis Best Viewed with IE6 bei."},{"speaker":"Wolfgang","startTime":5405.74,"endTime":5408.32,"body":"Das war noch vor 2000, also das war d\u00fcrft so..."},{"speaker":"Wolfgang","startTime":5409.68,"endTime":5411.14,"body":"... wann habe ich damit gestartet?"},{"speaker":"Wolfgang","startTime":5412.03,"endTime":5414,"body":"Ich sch\u00e4tze mal so '98 oder so."},{"speaker":"Enrico","startTime":5415.12,"endTime":5417.4,"body":"Ich wollte mal gucken, der letzte, der erste"},{"speaker":"Enrico","startTime":5417.9,"endTime":5419.24,"body":"Punkt ist 1999"},{"speaker":"Wolfgang","startTime":5419.8,"endTime":5421.2,"body":"Ja."},{"speaker":"Christian","startTime":5420.18,"endTime":5420.7,"body":"Wow."},{"speaker":"Enrico","startTime":5420.82,"endTime":5421.78,"body":"im November,"},{"speaker":"Enrico","startTime":5422.24,"endTime":5423.4,"body":"dass die Wayback Machine das"},{"speaker":"Enrico","startTime":5425.48,"endTime":5426.14,"body":"aufgesogen hat."},{"speaker":"Enrico","startTime":5426.68,"endTime":5427.44,"body":"Wie viele CDs mit"},{"speaker":"Enrico","startTime":5427.52,"endTime":5428.4,"body":"Word Arts hattest du?"},{"speaker":"Wolfgang","startTime":5431.02,"endTime":5448.62,"body":"Ich hatte auch noch eine Webseite davor, die hat gehei\u00dfen all4free.net. Das war nur so eine Auflistung, wo du gratis Zeug bekommen kannst. Irgendwie so gratis Icons, gratis Webcounter f\u00fcr Administratoren, gratis anderes Zeug. Das war glaube ich wirklich 96 oder so."},{"speaker":"Enrico","startTime":5449.04,"endTime":5450.4,"body":"Hammer, ja, das"},{"speaker":"Enrico","startTime":5451.56,"endTime":5452.76,"body":"hier, das, da gibt's"},{"speaker":"Enrico","startTime":5452.76,"endTime":5454.62,"body":"auch noch einen Wegpunkt in der"},{"speaker":"Enrico","startTime":5454.74,"endTime":5456.339,"body":"Waybig Machine, pack ich auch mit rein"},{"speaker":"Christian","startTime":5456.28,"endTime":5456.8,"body":"Hammer."},{"speaker":"Enrico","startTime":5456.36,"endTime":5458.86,"body":"das kann also sein, dass"},{"speaker":"Enrico","startTime":5459.5,"endTime":5461.22,"body":"ich mein nicht selbst"},{"speaker":"Enrico","startTime":5461.42,"endTime":5463.12,"body":"gebautes G\u00e4stebuch oder"},{"speaker":"Enrico","startTime":5463.24,"endTime":5464.26,"body":"Besucher-Counter"},{"speaker":"Enrico","startTime":5465.04,"endTime":5467.22,"body":"f\u00fcr meine BeepWorld-Seite oder was auch immer"},{"speaker":"Enrico","startTime":5467.26,"endTime":5468.26,"body":"damals so aktiv war"},{"speaker":"Enrico","startTime":5468.8,"endTime":5470.52,"body":"von dir noch bekommen habe"},{"speaker":"Christian","startTime":5471.02,"endTime":5472.78,"body":"Wahnsinn, da kommen Erinnerungen hoch."},{"speaker":"Enrico","startTime":5473.3,"endTime":5475.06,"body":"das Internet war ein sch\u00f6ner Platz"},{"speaker":"Christian","startTime":5475.26,"endTime":5480.74,"body":"ja ist so also auch hier diese auflistung der emotikons von damals ja also"},{"speaker":"Enrico","startTime":5481.14,"endTime":5483.08,"body":"ich finde das passt aber auch in die Episode"},{"speaker":"Enrico","startTime":5483.26,"endTime":5485.019,"body":"wir reden ja schlie\u00dflich \u00fcber 30 Jahre"},{"speaker":"Enrico","startTime":5485.04,"endTime":5487.4,"body":"MySQL und da geh\u00f6rt auch"},{"speaker":"Enrico","startTime":5487.46,"endTime":5489.14,"body":"irgendwie 30 Jahre Internetgeschichte"},{"speaker":"Enrico","startTime":5489.24,"endTime":5491.22,"body":"mit dazu. Machst du nix."},{"speaker":"Christian","startTime":5490.28,"endTime":5495.42,"body":"ja voll ab absolut ja ich finde es auch sch\u00f6n das sind sch\u00f6ne erinnerungen an die zeit von"},{"speaker":"Christian","startTime":5495.5,"endTime":5499.66,"body":"damals also auch an die erste webseite die man hochgeladen hat und dann sich rum \u00e4rgern musste"},{"speaker":"Christian","startTime":5499.68,"endTime":5505.2,"body":"wie man jetzt das PHP auf dem Managed Server aktiviert bekommt und in der Punkt-HTACCESS"},{"speaker":"Christian","startTime":5505.38,"endTime":5509.06,"body":"rumfummeln musste und so weiter. Das m\u00f6chte ich nicht missen."},{"speaker":"Wolfgang","startTime":5509.139,"endTime":5511.62,"body":"Also es waren sch\u00f6ne Zeiten,"},{"speaker":"Wolfgang","startTime":5511.71,"endTime":5513.64,"body":"wo man mit Tabellen noch irgendwelche,"},{"speaker":"Wolfgang","startTime":5513.81,"endTime":5515.22,"body":"mit Icons in Tabellen,"},{"speaker":"Christian","startTime":5515.1,"endTime":5515.58,"body":"Ja."},{"speaker":"Wolfgang","startTime":5515.4,"endTime":5517.54,"body":"mit Images und Transparent GIFs"},{"speaker":"Wolfgang","startTime":5517.57,"endTime":5520.22,"body":"und sch\u00f6ne Designs gebastelt hat."},{"speaker":"Enrico","startTime":5518.34,"endTime":5518.8,"body":"Ja, ja, ja."},{"speaker":"Wolfgang","startTime":5520.4,"endTime":5522.02,"body":"Das waren noch die guten alten Zeiten, ja."},{"speaker":"Christian","startTime":5522.12,"endTime":5527.7,"body":"HTML 4.0.1 in der Transitional und in der Strict Variante habe ich sehr intensiv genutzt damals,"},{"speaker":"Christian","startTime":5527.82,"endTime":5538.96,"body":"Das wei\u00df ich noch. Ja, wunderbar. Wir haben auch ein paar Fragen aus der Community gesammelt und Enrico hat auch eine mit reingemogelt. Was wollen die Leute denn da drau\u00dfen so wissen \u00fcber unser Thema heute?"},{"speaker":"Enrico","startTime":5539.44,"endTime":5540.4,"body":"Also Dirk"},{"speaker":"Enrico","startTime":5541.02,"endTime":5543.06,"body":"wollte auf jeden Fall wissen, wie eigentlich"},{"speaker":"Enrico","startTime":5543.26,"endTime":5545.02,"body":"aus der Tabellenverwaltung so eine"},{"speaker":"Enrico","startTime":5545.1,"endTime":5547.12,"body":"echte Datenbank geworden ist."},{"speaker":"Enrico","startTime":5548.12,"endTime":5548.6,"body":"So geschichtlich."},{"speaker":"Enrico","startTime":5549,"endTime":5550.539,"body":"Haben wir das eigentlich schon, das haben wir schon"},{"speaker":"Enrico","startTime":5550.56,"endTime":5552.44,"body":"so ein bisschen mit abgehandelt"},{"speaker":"Enrico","startTime":5552.52,"endTime":5552.88,"body":"heute, oder?"},{"speaker":"Wolfgang","startTime":5553.699,"endTime":5561.3,"body":"Also grunds\u00e4tzlich die Tabellenkalkulation, die klassische Tabellenkalkulation war eigentlich sp\u00e4ter, w\u00fcrde ich sagen."},{"speaker":"Wolfgang","startTime":5561.68,"endTime":5573.42,"body":"Weil die ersten Datenbanken waren ja wirklich in den 60ern. Das waren die Netzwerkdatenbanken, die eben wirklich als Netzwerk auf diesen B\u00e4ndern oben gewesen sind."},{"speaker":"Wolfgang","startTime":5574.24,"endTime":5588.08,"body":"Oder die hierarchischen Datenbanken, auch noch sowas, das waren so die ersten, wo man eben das noch nicht getrennt hat, wie speichert man die Daten, wie fragt man die ganzen ab und ich glaube, dass es zu dieser Zeit gar keine klassische Tabellenkalkulation schon gegeben hat."},{"speaker":"Enrico","startTime":5582.54,"endTime":5582.6,"body":"Ja."},{"speaker":"Christian","startTime":5587.82,"endTime":5588.88,"body":"Ja."},{"speaker":"Wolfgang","startTime":5588.22,"endTime":5609.2,"body":"Also ich vermute mal, die ist erst so mit Windows 3.11 gekommen. Da gibt es ja dieses bekannte Werbevideo mit Steve Palmer, glaube ich, wo er so anpreist, dass sie jetzt Tabellenkalkulationen haben in 3.11 oder so. Wobei wahrscheinlich hat es in DOS-Zeiten auch schon Tabellenkalkulationen gegeben. Aber ich vermute fast, dass Datenbanken fr\u00fcher waren."},{"speaker":"Enrico","startTime":5596.76,"endTime":5598.5,"body":"Ja, stimmt."},{"speaker":"Enrico","startTime":5598.61,"endTime":5599.14,"body":"Und das..."},{"speaker":"Enrico","startTime":5601.42,"endTime":5601.56,"body":"Ja."},{"speaker":"Christian","startTime":5610.08,"endTime":5632.9,"body":"Ist auch so. Also ich meine, wir reden, wenn wir \u00fcber Tabellenkalkulation reden, dann denken die meisten Leute, glaube ich, erstmal an Excel bzw. der Vorg\u00e4nger davon, Microsoft Multiplan. Und das war so zu Windows 2.0 Zeiten, also Anfang der 80er, so 82 rum. Und das ist nat\u00fcrlich v\u00f6llig recht, da gab es im wissenschaftlichen Bereich oder im industriellen Bereich auf jeden Fall vorher schon Datenbanken und das ist schon eine ganze lange Weile."},{"speaker":"Enrico","startTime":5633.54,"endTime":5638.92,"body":"Ja, dann hatte ich mich noch gefragt, was ist eigentlich der Unterschied zwischen InnoDB"},{"speaker":"Enrico","startTime":5639.1,"endTime":5643.74,"body":"und MyISAM und ich habe mich halt immer daran erinnert, dass man konnte das halt setzen,"},{"speaker":"Enrico","startTime":5643.93,"endTime":5647.58,"body":"wenn man so eine, ich glaube, wenn du eine Datenbank angelegt hast, war es, da konntest"},{"speaker":"Enrico","startTime":5647.58,"endTime":5650.92,"body":"du ein unterschiedliches Dingens davon w\u00e4hlen."},{"speaker":"Enrico","startTime":5651.52,"endTime":5657.86,"body":"Sehr viel davon haben wir heute schon mit besprochen, dementsprechend w\u00fcrde ich mir"},{"speaker":"Enrico","startTime":5657.96,"endTime":5660.42,"body":"merken, InnoDB ist the way to go."},{"speaker":"Wolfgang","startTime":5661.44,"endTime":5663.34,"body":"Genau, das kann man auch so sagen."},{"speaker":"Wolfgang","startTime":5663.7,"endTime":5664.5,"body":"Ich glaube, dass"},{"speaker":"Wolfgang","startTime":5665.38,"endTime":5667.18,"body":"Maya Aysam gar nicht mehr mitgeschiebt wird."},{"speaker":"Wolfgang","startTime":5667.86,"endTime":5669.12,"body":"W\u00fcrde mich jetzt ehrlich gesagt"},{"speaker":"Wolfgang","startTime":5669.28,"endTime":5671.44,"body":"sogar wundern. Ja, ich bin mir nicht ganz"},{"speaker":"Wolfgang","startTime":5671.6,"endTime":5672.3,"body":"sicher. Vielleicht kann man,"},{"speaker":"Wolfgang","startTime":5673.02,"endTime":5674.88,"body":"es liegt jetzt noch irgendwo im Hintergrund rum, aber"},{"speaker":"Wolfgang","startTime":5675.2,"endTime":5677.24,"body":"heutzutage spricht eigentlich nichts mehr gegen InnoDB."},{"speaker":"Enrico","startTime":5676.82,"endTime":5678.22,"body":"Ja."},{"speaker":"Wolfgang","startTime":5678.4,"endTime":5680.76,"body":"und ist seit MySQL 5.5"},{"speaker":"Wolfgang","startTime":5680.78,"endTime":5682.24,"body":"auch der Standard"},{"speaker":"Wolfgang","startTime":5682.42,"endTime":5684.3,"body":"und MySQL 5.5 ist schon"},{"speaker":"Wolfgang","startTime":5685.04,"endTime":5686.5,"body":"schon ziemlich alt"},{"speaker":"Wolfgang","startTime":5686.62,"endTime":5688.54,"body":"also es war irgendwann 2010 oder so"},{"speaker":"Wolfgang","startTime":5688.62,"endTime":5690.08,"body":"ist man schon \u00fcber 15 Jahre her sein"},{"speaker":"Enrico","startTime":5690.339,"endTime":5691.16,"body":"Ja."},{"speaker":"Wolfgang","startTime":5690.52,"endTime":5690.66,"body":"..."},{"speaker":"Enrico","startTime":5692.1,"endTime":5692.98,"body":"Sounds about right."},{"speaker":"Wolfgang","startTime":5692.24,"endTime":5692.38,"body":"..."},{"speaker":"Enrico","startTime":5694.36,"endTime":5695.64,"body":"Christian, hast du noch was aus"},{"speaker":"Christian","startTime":5694.76,"endTime":5696.82,"body":"... Musik..."},{"speaker":"Enrico","startTime":5695.82,"endTime":5697.86,"body":"Mastodon und anderen Kan\u00e4len an Fragen bekommen?"},{"speaker":"Christian","startTime":5700.06,"endTime":5703.2,"body":"Philipp vom Klick-Klack-Hack-Podcast, der auch schon mal bei euch zu Gast war,"},{"speaker":"Wolfgang","startTime":5701.06,"endTime":5701.2,"body":"..."},{"speaker":"Wolfgang","startTime":5701.32,"endTime":5701.46,"body":"..."},{"speaker":"Wolfgang","startTime":5702.64,"endTime":5702.78,"body":"..."},{"speaker":"Christian","startTime":5703.47,"endTime":5706.12,"body":"war eine sch\u00f6ne Folge \u00fcber mechanische Tastaturen,"},{"speaker":"Wolfgang","startTime":5706.8,"endTime":5707.36,"body":"..."},{"speaker":"Christian","startTime":5706.86,"endTime":5709.26,"body":"kann ich sehr empfehlen, packen wir auch mal in die Shownotes."},{"speaker":"Christian","startTime":5709.75,"endTime":5713.08,"body":"Der wollte wissen, woher der fr\u00fchere All-Cups-Zwang kommt"},{"speaker":"Christian","startTime":5713.19,"endTime":5714.86,"body":"und ich muss zugeben, wenn ich Statements schreibe,"},{"speaker":"Christian","startTime":5714.86,"endTime":5715.92,"body":"ich schreibe die immer noch in Cups."},{"speaker":"Christian","startTime":5715.95,"endTime":5718.08,"body":"Macht ihr das auch oder bin ich jetzt hier der Boomer unter uns?"},{"speaker":"Wolfgang","startTime":5717.86,"endTime":5720.34,"body":"Na, ich mach das auch so meistens."},{"speaker":"Enrico","startTime":5720.36,"endTime":5723.1,"body":"Ich schreibe keine Statements mehr."},{"speaker":"Christian","startTime":5724.44,"endTime":5727.18,"body":"Ja, du l\u00e4sst die Vibe schreiben, ich wei\u00df schon."},{"speaker":"Christian","startTime":5728.5,"endTime":5730.7,"body":"Wipe-Prompting f\u00fcr Sequel-Statements,"},{"speaker":"Christian","startTime":5730.79,"endTime":5733.16,"body":"das ist doch jetzt der neue hei\u00dfe Schei\u00df vielleicht."},{"speaker":"Wolfgang","startTime":5732.659,"endTime":5735.86,"body":"Ja, aber die KI schreibt normal auch Gro\u00dfbuchstaben."},{"speaker":"Wolfgang","startTime":5736.26,"endTime":5743.58,"body":"Es hat sich irgendwie so etabliert als Standard, ist aber kein Standard, ist nur Konvention und funktioniert \u00fcblicherweise auch,"},{"speaker":"Wolfgang","startTime":5743.95,"endTime":5752.66,"body":"kannst auch Camel Case schreiben oder so, funktioniert meistens auch, machen ja auch viele und kommt einfach historisch aus der ganzen Mainframe-Zeit"},{"speaker":"Wolfgang","startTime":5753.4,"endTime":5761.1,"body":"beziehungsweise Terminal-Zeit, wo man wahrscheinlich einfach nur Gro\u00dfbuchstaben hatte oder keine Ahnung, dass halt Gro\u00dfbuchstaben immer geschrieben hat."},{"speaker":"Wolfgang","startTime":5761.36,"endTime":5763.82,"body":"Also ich bin zwar alt, aber so alt bin ich jetzt auch noch nicht,"},{"speaker":"Wolfgang","startTime":5764.54,"endTime":5766.54,"body":"dass ich Terminalzeiten miterlebt habe."},{"speaker":"Wolfgang","startTime":5766.7,"endTime":5767.92,"body":"Das war dann wirklich vor meiner Zeit."},{"speaker":"Wolfgang","startTime":5768.18,"endTime":5773.16,"body":"Aber scheinbar war das fr\u00fcher, aus den Zeiten kommt das Ganze."},{"speaker":"Wolfgang","startTime":5773.22,"endTime":5777.4,"body":"Ob das da Pflicht war bei so ganz uralten IBM System R,"},{"speaker":"Wolfgang","startTime":5777.54,"endTime":5780.34,"body":"das war so die erste relationale Datenbank, die es \u00fcberhaupt gegeben hat,"},{"speaker":"Wolfgang","startTime":5781.2,"endTime":5782.3,"body":"ist eine gute Frage."},{"speaker":"Wolfgang","startTime":5783.58,"endTime":5786.8,"body":"Aber wie gesagt, der Standard sagt nichts dazu aus,"},{"speaker":"Wolfgang","startTime":5787.1,"endTime":5789.16,"body":"beziehungsweise gibt keine Verpflichtung diesbez\u00fcglich."},{"speaker":"Wolfgang","startTime":5789.96,"endTime":5795.72,"body":"Wobei, ich habe jetzt neulich mal mit Oracle zu tun gehabt, da war irgendeine Gro\u00dfschreibpflicht bei irgendeinem Keyword."},{"speaker":"Enrico","startTime":5796.3,"endTime":5798,"body":"Beim Semikolon, oder?"},{"speaker":"Christian","startTime":5801.52,"endTime":5802.96,"body":"Stimmt, verwechsel ich auch st\u00e4ndig."},{"speaker":"Christian","startTime":5803.06,"endTime":5804.58,"body":"Wobei, es gibt doch dieses eine Symbol,"},{"speaker":"Christian","startTime":5804.79,"endTime":5806.32,"body":"das wie ein Semikolon aussieht,"},{"speaker":"Christian","startTime":5806.57,"endTime":5808.42,"body":"aber halt einen anderen ASCII-Wert hat."},{"speaker":"Christian","startTime":5808.55,"endTime":5811.44,"body":"Und das war doch lange so ein geheimer Trick,"},{"speaker":"Christian","startTime":5811.79,"endTime":5813.98,"body":"wenn du deine Kolleginnen abnerven willst,"},{"speaker":"Christian","startTime":5814.19,"endTime":5816.08,"body":"dann tauschst du einfach an manchen Stellen"},{"speaker":"Christian","startTime":5816.15,"endTime":5817.72,"body":"das Semikolon durch dieses Zeichen aus,"},{"speaker":"Christian","startTime":5817.75,"endTime":5819.86,"body":"sie sehen es nicht und \u00e4rgern sich dann,"},{"speaker":"Wolfgang","startTime":5819.4,"endTime":5819.92,"body":"..."},{"speaker":"Christian","startTime":5819.91,"endTime":5820.98,"body":"weil sie stundenlang debuggen."},{"speaker":"Wolfgang","startTime":5821.62,"endTime":5825.58,"body":"Als \u00d6sterreicher muss ich sowieso sagen, dass eigentlich ein Semikolon"},{"speaker":"Wolfgang","startTime":5825.76,"endTime":5829.6,"body":"ja viel zu kompliziertes Wort ist, weil wir sagen einfach Strichpunkt."},{"speaker":"Christian","startTime":5829.88,"endTime":5831.58,"body":"Okay, ja, Strichpunkt, stimmt"},{"speaker":"Enrico","startTime":5829.88,"endTime":5831.28,"body":"Ah."},{"speaker":"Wolfgang","startTime":5832,"endTime":5834.76,"body":"In \u00d6sterreich hei\u00dft es Strichpunkt und das Komma hei\u00dft Beistrich."},{"speaker":"Christian","startTime":5835.82,"endTime":5837.94,"body":"Ah, okay, aber letzteres ergibt wenig Sinn"},{"speaker":"Christian","startTime":5838.08,"endTime":5840.14,"body":"Irgendwie f\u00fcr mich, oder liegt es jetzt an mir"},{"speaker":"Wolfgang","startTime":5839.8,"endTime":5840.84,"body":"Der Beistrich."},{"speaker":"Christian","startTime":5840.98,"endTime":5842.06,"body":"Ja, das klingt irgendwie"},{"speaker":"Christian","startTime":5842.5,"endTime":5842.9,"body":"merkw\u00fcrdig"},{"speaker":"Wolfgang","startTime":5843.739,"endTime":5848.86,"body":"Ja, ihr habt da auch schon sehr viele Probleme in Pair Programming Sessions erlebt"},{"speaker":"Wolfgang","startTime":5848.88,"endTime":5850.32,"body":"zwischen \u00d6sterreichern und Deutschen,"},{"speaker":"Wolfgang","startTime":5851.39,"endTime":5852.36,"body":"weil Beistrich einfach,"},{"speaker":"Wolfgang","startTime":5852.86,"endTime":5854.64,"body":"passiert mir selber auch teilweise noch,"},{"speaker":"Wolfgang","startTime":5854.85,"endTime":5858.88,"body":"aber bei uns sagt niemand Komma."},{"speaker":"Wolfgang","startTime":5859.01,"endTime":5860.4,"body":"Das gibt es in \u00d6sterreich nicht."},{"speaker":"Wolfgang","startTime":5860.9,"endTime":5861.28,"body":"Sagt niemand."},{"speaker":"Christian","startTime":5861.84,"endTime":5862.92,"body":"Bei euch ist ja auch der"},{"speaker":"Christian","startTime":5863.1,"endTime":5864.6,"body":"J\u00e4nner und nicht der Januar, ne?"},{"speaker":"Wolfgang","startTime":5864.94,"endTime":5865.64,"body":"Genau, ja."},{"speaker":"Christian","startTime":5866.47,"endTime":5867.26,"body":"Ich war neulich auch mal"},{"speaker":"Christian","startTime":5867.42,"endTime":5868.9,"body":"in \u00d6sterreich unterwegs im Urlaub und"},{"speaker":"Christian","startTime":5869.23,"endTime":5871.1,"body":"hab dann auch so manche Gepflogenheiten"},{"speaker":"Christian","startTime":5871.26,"endTime":5872.58,"body":"musste ich mir dann erstmal dolmetschen. Ah,"},{"speaker":"Christian","startTime":5872.92,"endTime":5873.78,"body":"Januar hei\u00dft das."},{"speaker":"Enrico","startTime":5873.099,"endTime":5877.2,"body":"Ja, willkommen im Kultur- und Sprachpodcast."},{"speaker":"Christian","startTime":5877.82,"endTime":5878.3,"body":"Genau."},{"speaker":"Wolfgang","startTime":5878.199,"endTime":5878.84,"body":"Genau."},{"speaker":"Christian","startTime":5879.46,"endTime":5880.2,"body":"Das w\u00e4re doch"},{"speaker":"Enrico","startTime":5879.46,"endTime":5880.14,"body":"Finde ich gut."},{"speaker":"Christian","startTime":5881,"endTime":5882.5,"body":"auch mal so eine Folge wert,"},{"speaker":"Christian","startTime":5882.6,"endTime":5884.66,"body":"so die sprachlichen Gepflogenheiten."},{"speaker":"Christian","startTime":5884.66,"endTime":5886.28,"body":"Das k\u00f6nntet ihr doch auch mal bei euch mit"},{"speaker":"Christian","startTime":5886.66,"endTime":5888.16,"body":"aufnehmen, so kulturelle Challenges."},{"speaker":"Wolfgang","startTime":5887.92,"endTime":5893.68,"body":"Wir machen das eigentlich eh st\u00e4ndig, also diese kulturelle Challenge besteht st\u00e4ndig zwischen mir und Andi."},{"speaker":"Wolfgang","startTime":5894.48,"endTime":5897.24,"body":"Und ich habe mir gedacht, Andi hat nach drei Jahren jetzt irgendwas gelernt,"},{"speaker":"Wolfgang","startTime":5897.47,"endTime":5902.56,"body":"aber wenn ich ihn jetzt frage, was hei\u00dft, es geht sich aus oder du gehst mir ab,"},{"speaker":"Wolfgang","startTime":5902.76,"endTime":5904.34,"body":"sagt er mir garantiert auch wieder das Falsche."},{"speaker":"Christian","startTime":5906.3,"endTime":5906.66,"body":"Wunderbar."},{"speaker":"Christian","startTime":5906.99,"endTime":5908.54,"body":"Ja, ich blicke auf"},{"speaker":"Christian","startTime":5908.67,"endTime":5910.78,"body":"ein Pad, das voller Notizen ist"},{"speaker":"Christian","startTime":5910.79,"endTime":5912.78,"body":"und ich glaube, wir haben alles so mehr oder weniger abgehandelt."},{"speaker":"Christian","startTime":5912.84,"endTime":5914.64,"body":"Gibt es irgendwas, das wir vergessen haben zu fragen,"},{"speaker":"Christian","startTime":5914.88,"endTime":5915.22,"body":"Wolfgang?"},{"speaker":"Wolfgang","startTime":5916,"endTime":5920.68,"body":"N\u00f6, ich glaube, wir sind ganz gut durch die Geschichte gesprungen"},{"speaker":"Wolfgang","startTime":5920.7,"endTime":5927.7,"body":"und haben auch gezeigt, dass nach 30 Jahren MySQL immer noch gut am Weg ist"},{"speaker":"Wolfgang","startTime":5927.82,"endTime":5929.28,"body":"und eine gute Datenbank ist."},{"speaker":"Wolfgang","startTime":5929.29,"endTime":5931.66,"body":"Und auch wenn es jetzt so einen Postgres-Hype gibt,"},{"speaker":"Wolfgang","startTime":5931.81,"endTime":5935.98,"body":"ich pers\u00f6nlich bleibe meistens zumindest MySQL immer noch treu."},{"speaker":"Wolfgang","startTime":5936.05,"endTime":5942.3,"body":"Ich kann auch mit der Konsole irgendwie besser umgehen als mit der BG Shell"},{"speaker":"Wolfgang","startTime":5942.6,"endTime":5944.32,"body":"und es ist einfach nicht meins."},{"speaker":"Christian","startTime":5952.02,"endTime":5953.42,"body":"Ja."},{"speaker":"Wolfgang","startTime":5955.14,"endTime":5958.76,"body":"Aber ist nat\u00fcrlich auch unfair, wenn man das irgendwie 20 Jahre trainiert hat, dann"},{"speaker":"Wolfgang","startTime":5959.26,"endTime":5961.26,"body":"ist klar, was man lieber macht und einfacher."},{"speaker":"Wolfgang","startTime":5961.54,"endTime":5970.54,"body":"... Musik..."},{"speaker":"Christian","startTime":5961.65,"endTime":5962,"body":"Ja."},{"speaker":"Christian","startTime":5962.02,"endTime":5966.72,"body":"Vor allem habe ich so das Gef\u00fchl, dass da auch einfach andere Use Cases noch mit rein spielen."},{"speaker":"Christian","startTime":5966.88,"endTime":5972.84,"body":"Also wir haben jetzt ja geh\u00f6rt, MySQL und MariaDB sind vor allen Dingen relationale Datenbankmanagement-Systeme,"},{"speaker":"Enrico","startTime":5967.32,"endTime":5967.86,"body":"..."},{"speaker":"Christian","startTime":5972.94,"endTime":5976.34,"body":"w\u00e4hrend Postgres ja ein objektrelationales Datenbankmanagement-System ist."},{"speaker":"Christian","startTime":5976.34,"endTime":5982.6,"body":"Das hei\u00dft, da \u00e4ndert sich ja rudiment\u00e4r, so mein Verst\u00e4ndnis als Leier, auch die Art und Weise, wie Informationen gespeichert werden."},{"speaker":"Christian","startTime":5982.9,"endTime":5986.84,"body":"Wir haben halt keine Tubel, Zahlen, Spalten, sondern also schon in der Repr\u00e4sentation,"},{"speaker":"Christian","startTime":5986.98,"endTime":5990.1,"body":"aber ich glaube, es wird im Bin\u00e4rformat ganz anders gehandhabt, oder?"},{"speaker":"Wolfgang","startTime":5990.72,"endTime":6016.94,"body":"Meines Wissens ist Postgres schon auch ganz klassisch relational. Also die klassischen objektrelationalen Datenbanken, das waren eigentlich immer nur Aufs\u00e4tze, die probiert haben, die Objektwelt irgendwie zu \u00fcbertragen auf relationale Welten, also sowas \u00e4hnliches wie die Objektrelational Mapper, die ORMs, aber schon in der Datenbank quasi, dass die das direkt \u00fcbersetzen, haben sich aber nie durchgesetzt."},{"speaker":"Christian","startTime":5993.48,"endTime":5994.88,"body":"Okay."},{"speaker":"Wolfgang","startTime":6017.1,"endTime":6025.82,"body":"Vielleicht hat Postgres da mal irgendwie einen Anlauf auch gewagt, aber eigentlich speichert Postgres schon die Daten ganz klassisch auch in einem relationalen Modell ab."},{"speaker":"Wolfgang","startTime":6026.82,"endTime":6039.98,"body":"Es gibt aber wesentlich mehr Plugins und M\u00f6glichkeiten, da auch andere Storage-Engines in dem Sinne zu verwenden bei Postgres, auch so Column-Stores, wobei MariaDB auch mittlerweile einen Column-Store hat."},{"speaker":"Wolfgang","startTime":6040.16,"endTime":6066.66,"body":"Also wenn man das nicht zeilenbasiert, sondern spaltenbasiert abspeichern will, um der Performance rauszubekommen bei Big Data Anwendungen. Also das kann MariaDB mittlerweile auch, aber Postgres hat da sicher mehr M\u00f6glichkeiten oder jetzt auch mit AI-Vektor-Datenbanken, die da dr\u00fcber gest\u00fclpt werden. Also da gibt es schon einiges, was bei Postgres passiert und das ist vielleicht auch aktuell dem Hype geschuldet, weil da einfach mehr Leute auf Postgres setzen."},{"speaker":"Christian","startTime":6066.8,"endTime":6071.96,"body":"Ich sehe das vor allen Dingen bei Anwendungen, muss ich zugeben, also Anwendungen im Sinne von Server-basierter Anwendung."},{"speaker":"Christian","startTime":6072.02,"endTime":6073.82,"body":"Und bei Web-Anwendungen sehe ich das gar nicht so h\u00e4ufig."},{"speaker":"Christian","startTime":6074.02,"endTime":6074.86,"body":"Also klar, das gibt es auch."},{"speaker":"Christian","startTime":6075.02,"endTime":6078.36,"body":"Wenn du dir einen WordPress oder generell einen CMS oder einen Wiki installierst,"},{"speaker":"Christian","startTime":6078.74,"endTime":6080.7,"body":"haben die meisten g\u00e4ngigen Projekte da auch Support f\u00fcr."},{"speaker":"Christian","startTime":6081.1,"endTime":6083.06,"body":"Aber ich sehe das h\u00e4ufig bei so Server-basierten Anwendungen,"},{"speaker":"Christian","startTime":6083.1,"endTime":6084.76,"body":"bei so einer Patch-Management-Suite zum Beispiel."},{"speaker":"Christian","startTime":6084.84,"endTime":6086.22,"body":"Da ist halt eine Postgres hinten dran."},{"speaker":"Christian","startTime":6087.06,"endTime":6089.96,"body":"Und da geht es mir wie Enrico, wenn ich da Dinge tun muss."},{"speaker":"Christian","startTime":6090.04,"endTime":6091.82,"body":"Also ich habe mir mittlerweile so ein paar Sachen gemerkt,"},{"speaker":"Christian","startTime":6092.08,"endTime":6095.28,"body":"wie Backslash-D, um die Tabellen zu sehen."},{"speaker":"Christian","startTime":6095.46,"endTime":6097.92,"body":"Backslash-Q, um die Shell wieder zu verlassen."},{"speaker":"Christian","startTime":6098.18,"endTime":6101.74,"body":"Und okay, man sich dann einfach in einen Switch-User,"},{"speaker":"Christian","startTime":6101.98,"endTime":6103.74,"body":"dann auch zu machen, auf den Datenbank-User"},{"speaker":"Christian","startTime":6103.86,"endTime":6106.26,"body":"und dann da in die Datenbank-Session reinzuspringen,"},{"speaker":"Christian","startTime":6106.58,"endTime":6107.62,"body":"kann ich mich auch dran gew\u00f6hnen."},{"speaker":"Christian","startTime":6107.68,"endTime":6108.88,"body":"Aber es gibt schon so ein paar Dinge,"},{"speaker":"Christian","startTime":6109.42,"endTime":6111.44,"body":"die kriege ich halt nach \u00fcber zehn Jahren"},{"speaker":"Christian","startTime":6111.82,"endTime":6114.58,"body":"MySQL und MariaDB benutzen einfach nicht mehr eintrainiert."},{"speaker":"Christian","startTime":6114.58,"endTime":6115.44,"body":"Da bin ich ganz ehrlich."},{"speaker":"Enrico","startTime":6116.2,"endTime":6120.16,"body":"Turns out, irgendjemand hat es auf jeden Fall geschafft, Doom auf Postgres zu laufen zu bringen."},{"speaker":"Enrico","startTime":6120.21,"endTime":6122.54,"body":"Das habe ich f\u00fcr MySQL jetzt noch nicht gefunden."},{"speaker":"Wolfgang","startTime":6121.34,"endTime":6122.52,"body":"Ah, ja, ja, ja."},{"speaker":"Christian","startTime":6123.88,"endTime":6125.54,"body":"Pegi Doom, sehr, sehr sch\u00f6n."},{"speaker":"Christian","startTime":6125.68,"endTime":6127.22,"body":"Auch die Namensgebung eingehalten."},{"speaker":"Christian","startTime":6128.2,"endTime":6129.08,"body":"Das ist ja grandios."},{"speaker":"Christian","startTime":6129.5,"endTime":6131.32,"body":"Okay, ich kann leider kein Kyrillisch,"},{"speaker":"Christian","startTime":6131.58,"endTime":6132.92,"body":"aber wir packen das."},{"speaker":"Enrico","startTime":6132.42,"endTime":6134.32,"body":"Unten drunter ist noch ein Link mit Englisch."},{"speaker":"Christian","startTime":6134.84,"endTime":6135.5,"body":"Ah, super."},{"speaker":"Christian","startTime":6136.4,"endTime":6136.54,"body":"Cool."},{"speaker":"Enrico","startTime":6138.5,"endTime":6139.88,"body":"Ja, was hat dich alles gebt, wa?"},{"speaker":"Christian","startTime":6140.12,"endTime":6140.98,"body":"Ja, spannend."},{"speaker":"Christian","startTime":6141.64,"endTime":6145.06,"body":"Nee, aber Wolfgang hat es ja schon kurz zusammengefasst."},{"speaker":"Christian","startTime":6145.16,"endTime":6148.06,"body":"Also beide Projekte werden trotzdem weiterhin noch aktiv entwickelt."},{"speaker":"Christian","startTime":6148.34,"endTime":6152.44,"body":"Also MySQL 9.4 ist am 9.7.2025 erschienen,"},{"speaker":"Christian","startTime":6152.58,"endTime":6153.8,"body":"an meinem Geburtstag, sehr sch\u00f6n."},{"speaker":"Christian","startTime":6154.12,"endTime":6157.24,"body":"Und die 8.4. LTS ist im April rausgekommen, 2024,"},{"speaker":"Christian","startTime":6157.84,"endTime":6159.98,"body":"und wird auch bis 2032 unterst\u00fctzt."},{"speaker":"Christian","startTime":6160.64,"endTime":6164.34,"body":"Und ja, also Grunde, beide Projekte sind immer noch lebendig."},{"speaker":"Christian","startTime":6164.38,"endTime":6165,"body":"Es tut sich da viel."},{"speaker":"Christian","startTime":6165.16,"endTime":6166.88,"body":"Ich muss auch regelm\u00e4\u00dfig in meinen Setups"},{"speaker":"Christian","startTime":6167,"endTime":6168.54,"body":"die Container-Images hochbumpen,"},{"speaker":"Christian","startTime":6168.94,"endTime":6170.82,"body":"weil mal wieder eine neue Version rausgekommen ist."},{"speaker":"Christian","startTime":6170.92,"endTime":6172.96,"body":"Und gibt es irgendwas, das euch fehlt,"},{"speaker":"Christian","startTime":6173.02,"endTime":6176.04,"body":"dass ihr dem Projekt auf die To-Do-Liste packen w\u00fcrdet"},{"speaker":"Christian","startTime":6176.12,"endTime":6177.26,"body":"f\u00fcr die n\u00e4chsten 30 Jahre?"},{"speaker":"Enrico","startTime":6177.14,"endTime":6178.54,"body":"Nein."},{"speaker":"Wolfgang","startTime":6179.1,"endTime":6183.06,"body":"Also ich bin auch eigentlich sehr zufrieden, muss ich sagen."},{"speaker":"Wolfgang","startTime":6183.21,"endTime":6189.16,"body":"Und eigentlich alle Use Cases, die ich so ben\u00f6tige, kann man eigentlich ganz gut mit irgendwelchen Tools abbilden."},{"speaker":"Wolfgang","startTime":6190.12,"endTime":6192.02,"body":"Also ich bin nie eigentlich an Grenzen gesto\u00dfen,"},{"speaker":"Wolfgang","startTime":6192.78,"endTime":6195.68,"body":"zumindest an keine klassischen Grenzen,"},{"speaker":"Wolfgang","startTime":6195.7,"endTime":6197.54,"body":"die jetzt feature-technisch irgendwie w\u00e4ren."},{"speaker":"Wolfgang","startTime":6198.14,"endTime":6199.82,"body":"Optimizer-Grenzen gibt es immer,"},{"speaker":"Wolfgang","startTime":6199.88,"endTime":6201.08,"body":"aber die gibt es in jeder Datenbank."},{"speaker":"Christian","startTime":6201.66,"endTime":6202.36,"body":"Bei mir \u00e4hnlich."},{"speaker":"Christian","startTime":6202.52,"endTime":6217.34,"body":"Also ich glaube, ich nutze vermutlich 0,9% der Features der Datenbanken und seitdem auch Encoding mit UTF-8 nicht mehr so ein Thema ist, ich glaube, da habe ich irgendwann aufgeh\u00f6rt, neue Features zu ben\u00f6tigen, zumindest in meiner Wahrnehmung. Also w\u00fcrde ich mich anschlie\u00dfen."},{"speaker":"Christian","startTime":6217.68,"endTime":6242.1,"body":"Nat\u00fcrlich w\u00fcrde ich dem Projekt auch f\u00fcr die n\u00e4chsten 30 Jahre alles Gute w\u00fcnschen und hoffen, dass es mindestens genauso weiterentwickelt wird wie bisher. Und ich glaube, das kann man auch mal zum Anlass nehmen, den EntwicklerInnen zu danken, die da regelm\u00e4\u00dfig ihrer Arbeit nachgehen und Bugs fixen, neue Features einbauen und daf\u00fcr sorgen, dass man halt eben auch in einer aktuellen News-Distribution das einfach konsumieren kann. Auch das, glaube ich, ist jetzt kein einfaches Unterfangen immer."},{"speaker":"Enrico","startTime":6242.5,"endTime":6243.42,"body":"Ja, voll nett."},{"speaker":"Wolfgang","startTime":6244.4,"endTime":6249.26,"body":"Und es ist einfach eine Datenbank, die sich 30 Jahre lang schon optimiert hat."},{"speaker":"Wolfgang","startTime":6249.5,"endTime":6254.2,"body":"Also vielleicht ist sie einfach featuretechnisch ausgereizt schon, w\u00fcrde ich jetzt mal nicht sagen,"},{"speaker":"Wolfgang","startTime":6254.32,"endTime":6259.18,"body":"weil PostgresCAD immer noch mehr Features, aber ich w\u00fcrde sagen, es ist schon eine solid Datenbank,"},{"speaker":"Wolfgang","startTime":6259.52,"endTime":6263.52,"body":"die man jedem ans Herz legen kann, die super schnell ist, die auch funktioniert,"},{"speaker":"Wolfgang","startTime":6263.79,"endTime":6266.88,"body":"wenn man zum Beispiel nur 100 Megabyte RAM oder so hat."},{"speaker":"Wolfgang","startTime":6267.15,"endTime":6270.84,"body":"Das ist nat\u00fcrlich auch noch eine Seltenheit, die man zum Beispiel in einem Docker-Container betreiben kann,"},{"speaker":"Wolfgang","startTime":6271.31,"endTime":6272.06,"body":"mit ganz wenig RAM."},{"speaker":"Wolfgang","startTime":6272.71,"endTime":6275.46,"body":"Also das sind schon Vorteile und die Einfachheit."},{"speaker":"Wolfgang","startTime":6275.63,"endTime":6281.42,"body":"Das hei\u00dft, ich w\u00fcrde es immer noch empfehlen, auch wenn heute ganz viele auf dem Postgres-Zug nat\u00fcrlich aufspringen."},{"speaker":"Enrico","startTime":6281.52,"endTime":6285.26,"body":"Ich w\u00fcrde eher sagen, f\u00fcr die n\u00e4chsten 30 Jahre w\u00fcnsche ich dem Projekt,"},{"speaker":"Enrico","startTime":6285.4,"endTime":6292.68,"body":"dass sie die Aufgabe, die sie gut machen, weiter gut machen und nicht anfangen, eine eierlegende Wollmichsau werden zu wollen."},{"speaker":"Christian","startTime":6292.739,"endTime":6297.1,"body":"Also du willst kein MySQL GPT, habe ich das jetzt richtig verstanden?"},{"speaker":"Enrico","startTime":6298.76,"endTime":6307.66,"body":"Das, also eine AI, die mir erkl\u00e4rt, wie ich damit umgehen kann, schon, aber ich will jetzt nicht, dass die n\u00e4chste serverless Function,"},{"speaker":"Enrico","startTime":6309,"endTime":6311.46,"body":"bau dir hier dein Frontend, hast du nicht gesehen,"},{"speaker":"Enrico","startTime":6311.7,"endTime":6314.42,"body":"Clicky Wunty, Low-Code, No-Code, Workflow-Geschichte,"},{"speaker":"Enrico","startTime":6315.02,"endTime":6317.56,"body":"daraus w\u00fcrde mich traurig machen."},{"speaker":"Christian","startTime":6320.12,"endTime":6323.52,"body":"Ja, dann w\u00fcrde ich sagen, springen wir mal in die Tool und Medien Tipps."},{"speaker":"Christian","startTime":6326.76,"endTime":6328.38,"body":"Wolfgang, du hast uns auch einen Tipp mitgebracht."},{"speaker":"Christian","startTime":6328.56,"endTime":6329.5,"body":"Worum geht es bei deinem Tool?"},{"speaker":"Wolfgang","startTime":6329.56,"endTime":6339.36,"body":"Und zwar ist das Schema.io ein wirklich cooles Tool, was erm\u00f6glicht, dass du, man kennt"},{"speaker":"Wolfgang","startTime":6339.38,"endTime":6344.1,"body":"ist vielleicht klassischerweise, wenn man Migrations macht in der Software, das hei\u00dft,"},{"speaker":"Wolfgang","startTime":6344.14,"endTime":6349.74,"body":"dass die Tabellen sich updaten, man hat da irgendwie eine komische, meistens eine DSL"},{"speaker":"Wolfgang","startTime":6349.86,"endTime":6354.24,"body":"oder eine gewisse Syntax, wie man in Code dann die Tabellen definieren muss, damit man"},{"speaker":"Wolfgang","startTime":6354.24,"endTime":6358.38,"body":"dann sagen kann, okay, eine neue Spalte und die wird dann abgedatet. Und Schema geht da"},{"speaker":"Wolfgang","startTime":6358.44,"endTime":6363.6,"body":"eigentlich einen bisschen anderen Weg. Das ist eigentlich ein Management-System, das dir"},{"speaker":"Wolfgang","startTime":6364.74,"endTime":6365.46,"body":"erm\u00f6glicht, die"},{"speaker":"Wolfgang","startTime":6365.94,"endTime":6367.5,"body":"Unterschiede vor allem zwischen zwei"},{"speaker":"Wolfgang","startTime":6368.44,"endTime":6369.92,"body":"Schema in einer Datenbank"},{"speaker":"Wolfgang","startTime":6370.36,"endTime":6372.2,"body":"herauszufinden. Das hei\u00dft, wenn du Produktiv-Schema"},{"speaker":"Wolfgang","startTime":6372.26,"endTime":6373.52,"body":"hast, ein Developer-Schema,"},{"speaker":"Wolfgang","startTime":6374.11,"endTime":6375.78,"body":"dann kann dir dieses Schema das alles"},{"speaker":"Wolfgang","startTime":6375.94,"endTime":6377.58,"body":"managen. Das hei\u00dft, es wei\u00df genau, okay,"},{"speaker":"Wolfgang","startTime":6378.08,"endTime":6379.84,"body":"bist du jetzt im Dev-Zustand,"},{"speaker":"Wolfgang","startTime":6380.02,"endTime":6381.22,"body":"bist du im Prod-Zustand,"},{"speaker":"Wolfgang","startTime":6382.18,"endTime":6383.9,"body":"erzeugt dir dann auch automatisch diese"},{"speaker":"Wolfgang","startTime":6384.08,"endTime":6385.78,"body":"ganzen Queries, die du brauchst, um von"},{"speaker":"Wolfgang","startTime":6385.94,"endTime":6387.7,"body":"einem Schema ins andere zu kommen, also"},{"speaker":"Wolfgang","startTime":6387.76,"endTime":6389.7,"body":"diesen Migration-Pfad, auch"},{"speaker":"Wolfgang","startTime":6389.78,"endTime":6391.94,"body":"diesen Pfad zur\u00fcck, wenn du ein Rollback machen musst."},{"speaker":"Christian","startTime":6390.32,"endTime":6392.38,"body":"Mhm."},{"speaker":"Wolfgang","startTime":6392.84,"endTime":6397.98,"body":"Also das ist eigentlich daf\u00fcr ausgelegt, m\u00f6glichst viel am Schema direkt zu arbeiten,"},{"speaker":"Wolfgang","startTime":6398.39,"endTime":6400.36,"body":"ohne dass du jetzt irgendeinen speziellen Syntax brauchst."},{"speaker":"Wolfgang","startTime":6401.02,"endTime":6403.7,"body":"Dann kannst du das Ganze nat\u00fcrlich in GitHub auch dokumentieren."},{"speaker":"Wolfgang","startTime":6404.19,"endTime":6407.24,"body":"\u00c4h, nicht in GitHub, nat\u00fcrlich mit jedem Git, sorry, keine Weibung."},{"speaker":"Wolfgang","startTime":6407.96,"endTime":6411.62,"body":"Kannst du mit jedem Git machen, dass du wirklich die \u00c4nderungen von deinem Schema"},{"speaker":"Wolfgang","startTime":6411.72,"endTime":6417.28,"body":"dementsprechend committest immer, dokumentierst und das unterst\u00fctzt das Tool auch sehr gut damit."},{"speaker":"Wolfgang","startTime":6417.33,"endTime":6421.159,"body":"Du kannst nat\u00fcrlich dann auch schnell in deinem Docker irgendwie in eine Datenbank hochfahren"},{"speaker":"Wolfgang","startTime":6421.18,"endTime":6423.88,"body":"und gleich das Schema implementieren oder deployen."},{"speaker":"Wolfgang","startTime":6424.48,"endTime":6426.32,"body":"Du kannst es auf verschiedenen Servern deployen,"},{"speaker":"Wolfgang","startTime":6426.36,"endTime":6428.24,"body":"auch wenn du ein Cluster hast, gibt es da M\u00f6glichkeiten."},{"speaker":"Wolfgang","startTime":6429.18,"endTime":6431.92,"body":"Und wer sich da mal anschauen will,"},{"speaker":"Wolfgang","startTime":6432.5,"endTime":6434.46,"body":"wie das dann in der K\u00f6nigsklasse funktioniert,"},{"speaker":"Wolfgang","startTime":6435.14,"endTime":6438.66,"body":"denen empfehle ich einen Vortrag von der FOSDEM."},{"speaker":"Wolfgang","startTime":6438.94,"endTime":6442.98,"body":"2020 ist schon etwas \u00e4lter, aber ist wirklich ein sehr cooler Vortrag"},{"speaker":"Wolfgang","startTime":6444.1,"endTime":6447.42,"body":"vom Schlomi Noack, der bei GitHub,"},{"speaker":"Wolfgang","startTime":6448.28,"endTime":6449.82,"body":"damals war der, war fr\u00fcher bei Booking,"},{"speaker":"Wolfgang","startTime":6450.54,"endTime":6455.2,"body":"dann bei GitHub und hat sich immer im MySQL gek\u00fcmmert und war da auch Contributor."},{"speaker":"Wolfgang","startTime":6456.12,"endTime":6461.84,"body":"Und der hat eigentlich gezeigt, wie er mit Schema, beziehungsweise wie GitHub mit Schema zusammen"},{"speaker":"Wolfgang","startTime":6462.76,"endTime":6467.22,"body":"die kompletten Datenbank\u00e4nderungen von 1000 MySQL-Servern eigentlich managt."},{"speaker":"Wolfgang","startTime":6467.42,"endTime":6471.06,"body":"Die haben sich da noch was dr\u00fcber gebaut, weil die haben nat\u00fcrlich ganz viele Schema-Updates"},{"speaker":"Wolfgang","startTime":6471.12,"endTime":6476.02,"body":"und so ein Schema-Update ist immer ein Problem, weil wenn du eine Spalte hinzuf\u00fcgst auf ein Produktivsystem,"},{"speaker":"Wolfgang","startTime":6476.76,"endTime":6481.46,"body":"dann geht das System mal f\u00fcnf Stunden schlafen oder 24 Stunden schlafen,"},{"speaker":"Wolfgang","startTime":6481.62,"endTime":6483.82,"body":"macht eine Spalte hin dazu und dann kommt es wieder mal,"},{"speaker":"Wolfgang","startTime":6484.62,"endTime":6486.34,"body":"was eher schlecht ist, wenn du GitHub bist."},{"speaker":"Wolfgang","startTime":6487.05,"endTime":6491.1,"body":"Und darum haben die ein Online-Schema-Change-Tool entwickelt,"},{"speaker":"Wolfgang","startTime":6491.35,"endTime":6493.94,"body":"das auf diesem Schema-IO basiert."},{"speaker":"Wolfgang","startTime":6494.57,"endTime":6498.94,"body":"Das hei\u00dft, die Grundlage bietet das Schema-IO, die ganzen Unterschiede"},{"speaker":"Wolfgang","startTime":6498.96,"endTime":6501.46,"body":"und wie die das dann ausrollen auf ihre tausenden Servern,"},{"speaker":"Wolfgang","startTime":6502.02,"endTime":6508.7,"body":"automatisiert \u00fcber Git nat\u00fcrlich mit Code Reviews oder SQL Reviews, wie man das auch sehen will."},{"speaker":"Wolfgang","startTime":6508.75,"endTime":6513.8,"body":"Das muss am Ende dann noch ein DBA abnicken und dann geht das in eine komplett automatisierte Pipeline"},{"speaker":"Wolfgang","startTime":6514.2,"endTime":6516.06,"body":"und wird auf allen Systemen ausgerollt."},{"speaker":"Wolfgang","startTime":6516.16,"endTime":6518.94,"body":"Also es ist wirklich sehr cool zu sehen, der ganze Prozess."},{"speaker":"Wolfgang","startTime":6519.47,"endTime":6525.44,"body":"Und darunter liegt eben dieses Schema I.O., mit dem man die ganzen Schema da managen kann."},{"speaker":"Wolfgang","startTime":6525.76,"endTime":6529.88,"body":"Und kann ich demnach nur empfehlen, wer jetzt nicht auf Code Migrations arbeitet,"},{"speaker":"Wolfgang","startTime":6530.82,"endTime":6537.62,"body":"Sobald man eben irgendwie mit \u00c4nderungen zu tun hat, ist das super, weil das einfach automatisch alle Unterschiede auch erkennt."},{"speaker":"Wolfgang","startTime":6537.77,"endTime":6541.48,"body":"Und wenn man das mal h\u00e4ndisch gemacht hat, wei\u00df man, wie kompliziert das ist."},{"speaker":"Wolfgang","startTime":6541.51,"endTime":6548.94,"body":"Und dann hat man im Dev-Schema noch irgendwo was ge\u00e4ndert, vergisst da was abzudaten und man hat aktuell absolutes Chaos."},{"speaker":"Wolfgang","startTime":6549.47,"endTime":6551.38,"body":"Und dieses Chaos verhindert dieses Tool."},{"speaker":"Christian","startTime":6552.22,"endTime":6553.52,"body":"Cool, klingt sehr spannend."},{"speaker":"Christian","startTime":6554.48,"endTime":6555.82,"body":"Was hast du uns mitgebracht, Enrico?"},{"speaker":"Enrico","startTime":6556.22,"endTime":6557.64,"body":"Ich bin heute mit dem Thema"},{"speaker":"Enrico","startTime":6557.68,"endTime":6559.48,"body":"mal frech, aber da Jan noch im Urlaub ist,"},{"speaker":"Enrico","startTime":6559.63,"endTime":6561.32,"body":"nehme ich mir einfach seinen"},{"speaker":"Enrico","startTime":6561.5,"endTime":6563.34,"body":"Spot f\u00fcr seinen Tooltip. Ich habe"},{"speaker":"Enrico","startTime":6563.51,"endTime":6564.14,"body":"zwei Dinge, die"},{"speaker":"Enrico","startTime":6566.52,"endTime":6567.4,"body":"visuell veranschaulichen,"},{"speaker":"Enrico","startTime":6567.99,"endTime":6569.34,"body":"was denn die Datenbank"},{"speaker":"Enrico","startTime":6569.43,"endTime":6571.32,"body":"so tut oder was man da so hat und wie"},{"speaker":"Enrico","startTime":6571.37,"endTime":6572.8,"body":"das irgendwie so alles zusammenh\u00e4ngt."},{"speaker":"Enrico","startTime":6573.7,"endTime":6575.06,"body":"Das eine ist"},{"speaker":"Enrico","startTime":6575.2,"endTime":6577.36,"body":"das PRP My Admin. Das hat wahrscheinlich"},{"speaker":"Enrico","startTime":6578.16,"endTime":6579.38,"body":"jeder, der auf seinem"},{"speaker":"Enrico","startTime":6580.16,"endTime":6581.4,"body":"XAMPP-Stack irgendwie mal"},{"speaker":"Enrico","startTime":6581.5,"endTime":6582.78,"body":"sowas zusammengebastelt hat,"},{"speaker":"Enrico","startTime":6583.47,"endTime":6585.1,"body":"das schon mal gesehen. Einfach eine sch\u00f6ne"},{"speaker":"Enrico","startTime":6586.08,"endTime":6587.64,"body":"Web-Editor oder"},{"speaker":"Enrico","startTime":6587.66,"endTime":6589.4,"body":"beziehungsweise Web-Verwaltungsoberfl\u00e4che,"},{"speaker":"Enrico","startTime":6589.4,"endTime":6590.52,"body":"wo ich dann meine Daten sehen kann,"},{"speaker":"Enrico","startTime":6591.34,"endTime":6593.36,"body":"Queries fahren kann, mal was exportieren kann,"},{"speaker":"Enrico","startTime":6593.48,"endTime":6594.44,"body":"was am Schema \u00e4ndern kann."},{"speaker":"Enrico","startTime":6595.02,"endTime":6596.38,"body":"Das fand ich eine ganz sch\u00f6ne Sache."},{"speaker":"Enrico","startTime":6597.3,"endTime":6600.5,"body":"Und wenn man jetzt nicht irgendwie noch einen Web-Server"},{"speaker":"Enrico","startTime":6600.64,"endTime":6602,"body":"neben seiner Datenbank laufen hat,"},{"speaker":"Enrico","startTime":6602.38,"endTime":6605.84,"body":"fand ich immer ganz gut MySQL Workbench als Client,"},{"speaker":"Enrico","startTime":6606.96,"endTime":6607.64,"body":"den man nutzen kann."},{"speaker":"Enrico","startTime":6608.2,"endTime":6609.32,"body":"Da fand ich auch ganz nett,"},{"speaker":"Enrico","startTime":6609.5,"endTime":6613.3,"body":"das hat auch so einige Performance-Grafen und sowas,"},{"speaker":"Enrico","startTime":6613.5,"endTime":6616.16,"body":"dass man ein bisschen reingucken kann,"},{"speaker":"Enrico","startTime":6616.38,"endTime":6620.6,"body":"was ist da eigentlich gerade, was laufen da vielleicht gerade auch f\u00fcr Queries so mit drin."},{"speaker":"Enrico","startTime":6620.69,"endTime":6624.16,"body":"Also das fand ich sehr interessant, hat mir oft geholfen,"},{"speaker":"Enrico","startTime":6624.77,"endTime":6630.72,"body":"wenn kein PHP-MyAdmin vorhanden war und ich zu faul oder unwissend f\u00fcr die CLI war."},{"speaker":"Enrico","startTime":6631.94,"endTime":6632.38,"body":"Und du, Christian?"},{"speaker":"Christian","startTime":6632.46,"endTime":6637.84,"body":"coole sache ja ich habe einen exporter mitgebracht und zwar f\u00fcr promis es gibt es"},{"speaker":"Christian","startTime":6637.92,"endTime":6643.26,"body":"einen mysql die exporter und da kann man eben bei einer mysql oder maria db installation wenn"},{"speaker":"Christian","startTime":6643.26,"endTime":6648.3,"body":"das ausgef\u00fchrt wird so diese g\u00e4ngigen metriken die man vielleicht im monitor haben m\u00f6chte an"},{"speaker":"Christian","startTime":6648.48,"endTime":6653.9,"body":"promis aus senden das hei\u00dft man sie dann was f\u00fcr cues werden gerade gemacht ich kann auf"},{"speaker":"Christian","startTime":6654.2,"endTime":6658.6,"body":"gewisse datenbanken mich nur limitieren und kann dann sehen wird mehr lied gemacht wird"},{"speaker":"Christian","startTime":6658.62,"endTime":6660.56,"body":"mehr right gemacht. Also alles, was man in so einem sch\u00f6nen"},{"speaker":"Christian","startTime":6660.56,"endTime":6662.6,"body":"Dashboard vielleicht mal visualisieren will, um zu gucken, ob es"},{"speaker":"Enrico","startTime":6661.82,"endTime":6662.1,"body":"..."},{"speaker":"Christian","startTime":6662.66,"endTime":6664.56,"body":"meiner Anwendung und der Datenbank"},{"speaker":"Christian","startTime":6664.6,"endTime":6666.48,"body":"dahinter gut geht, das hilft"},{"speaker":"Christian","startTime":6666.62,"endTime":6668.64,"body":"bestimmt bei dem ein oder anderen Analyseproblem."},{"speaker":"Christian","startTime":6669.48,"endTime":6670.56,"body":"Und damit, glaube ich, haben wir das Thema"},{"speaker":"Christian","startTime":6670.68,"endTime":6672.48,"body":"ganz gut zusammengefasst. Vielen Dank,"},{"speaker":"Christian","startTime":6672.56,"endTime":6674.4,"body":"lieber Wolfgang, dass du dir die Zeit genommen hast,"},{"speaker":"Christian","startTime":6674.48,"endTime":6676.44,"body":"mit uns \u00fcber ein sehr wichtiges Thema"},{"speaker":"Christian","startTime":6676.52,"endTime":6677.18,"body":"zu sprechen."},{"speaker":"Wolfgang","startTime":6678.46,"endTime":6681.48,"body":"\u00dcber Datenbanken spreche ich immer gerne, gar kein Problem."},{"speaker":"Christian","startTime":6680.96,"endTime":6681.28,"body":"Ja."},{"speaker":"Wolfgang","startTime":6683.08,"endTime":6683.72,"body":"Stundenlang."},{"speaker":"Christian","startTime":6684.48,"endTime":6686.5,"body":"Ja, ich fand es auf jeden Fall spannend, auch mal"},{"speaker":"Christian","startTime":6686.52,"endTime":6688.58,"body":"so zu h\u00f6ren, wo das Ganze herkommt und"},{"speaker":"Christian","startTime":6688.6,"endTime":6692.38,"body":"Vor allen Dingen, was man damals f\u00fcr Probleme hatte und wie man sie vielleicht dann auch gel\u00f6st hat."},{"speaker":"Christian","startTime":6692.58,"endTime":6696.18,"body":"Und nicht alles schlecht war es ja der \u00dcbernahme von Oracle."},{"speaker":"Christian","startTime":6696.36,"endTime":6700.16,"body":"Das fand ich auch ganz interessant mal zu sehen, weil da habe ich \u00fcberhaupt keinen Einblick zu gehabt."},{"speaker":"Christian","startTime":6700.32,"endTime":6702.88,"body":"Also vielen Dank f\u00fcr die ganzen Anekdoten und Details dazu."},{"speaker":"Wolfgang","startTime":6703.64,"endTime":6707.36,"body":"wie der andy mein kohaus immer sagt der alte mann erz\u00e4hlt vom krieg"},{"speaker":"Wolfgang","startTime":6707.48,"endTime":6707.5,"body":"Danke."},{"speaker":"Christian","startTime":6709.28,"endTime":6713.4,"body":"Ja, ich bin ohnehin mal gespannt, lieber Andi, falls du hier zugeh\u00f6rt haben solltest,"},{"speaker":"Christian","startTime":6713.82,"endTime":6717.2,"body":"wie die Reaktion auf die Intro-Parodie bei dir angekommen ist."},{"speaker":"Christian","startTime":6717.38,"endTime":6720.02,"body":"war nat\u00fcrlich mit einem Augenzwingen und mit einer Wertsch\u00e4tzung verbunden."},{"speaker":"Christian","startTime":6720.13,"endTime":6722,"body":"Wir hoffen nat\u00fcrlich, das kam auch so an."},{"speaker":"Enrico","startTime":6722.5,"endTime":6723.54,"body":"Abmahnung ist raus."},{"speaker":"Christian","startTime":6723.94,"endTime":6726.58,"body":"Abmahnung ist raus, genau, Jingle verwendet, zack."},{"speaker":"Christian","startTime":6728.5,"endTime":6731.84,"body":"Ja, wenn unsere Zuh\u00f6renden Feedback an uns richten wollen,"},{"speaker":"Christian","startTime":6732.47,"endTime":6733.68,"body":"wie machen sie das am besten, Enrico?"},{"speaker":"Enrico","startTime":6734.26,"endTime":6737.98,"body":"Ja, also erstmal sind alle Angaben nat\u00fcrlich wie immer ohne Propriet\u00e4r."},{"speaker":"Enrico","startTime":6738.4,"endTime":6740.32,"body":"Ihr k\u00f6nnt uns Kommentare hinterlassen."},{"speaker":"Enrico","startTime":6740.43,"endTime":6747.02,"body":"Ihr k\u00f6nnt uns insbesondere auch mal im Apple-Universum da bei Apple Podcast mal eine Bewertung da lassen."},{"speaker":"Enrico","startTime":6747.2,"endTime":6749.48,"body":"Wenigstens mal ein paar Sterne, das ist n\u00e4mlich noch komplett blank."},{"speaker":"Enrico","startTime":6749.74,"endTime":6751.78,"body":"Zumindest war es das das letzte Mal, als ich geguckt habe."},{"speaker":"Enrico","startTime":6752.32,"endTime":6758.2,"body":"Ihr k\u00f6nnt das bei Spotify tun, im Podcatcher eurer Wahl und wenn euch das nicht reicht, dann tut ihr das bei uns auf der Website."},{"speaker":"Enrico","startTime":6759.54,"endTime":6764.56,"body":"Und mein absolutes Lieblingsformat ist nat\u00fcrlich das gute alte analoge Fax."},{"speaker":"Enrico","startTime":6765.01,"endTime":6768.84,"body":"F\u00fcr diejenigen, die aus \u00d6sterreich zuh\u00f6ren, ihr m\u00fcsst dann eine Plus 4.9 vorw\u00e4hlen."},{"speaker":"Enrico","startTime":6769.23,"endTime":6779.06,"body":"Aber ansonsten k\u00f6nnt ihr uns gerne auch einen Fax schicken unter 0421 417 37109 und das lesen wir dann auch gerne in der n\u00e4chsten Episode vor."},{"speaker":"Enrico","startTime":6779.66,"endTime":6782.04,"body":"Ansonsten erreicht ihr uns auf Mastodon unter"},{"speaker":"Enrico","startTime":6782.24,"endTime":6785.38,"body":"atuserspace, atpodcast.social, im Matrix-Chat"},{"speaker":"Enrico","startTime":6785.52,"endTime":6788.2,"body":"und Urlaub im Userspace auf Matrix.org."},{"speaker":"Enrico","startTime":6788.32,"endTime":6791.32,"body":"Und ja, Christian, was ist eigentlich der Hashtag der Episode?"},{"speaker":"Christian","startTime":6789.34,"endTime":6792.58,"body":"Ich hab mir gedacht,"},{"speaker":"Christian","startTime":6792.84,"endTime":6811.84,"body":"Wir k\u00f6nnten auf jeden Fall mal MySQL 30 nehmen und genau, richtig, MySQL 30, jetzt haben wir es schon, MySQL 30 und da wir hier so eine sch\u00f6ne Kollabo haben, finde ich, ist auch der Hashtag Urlaubskiosk auch angebracht, wie ich finde."},{"speaker":"Wolfgang","startTime":6797.48,"endTime":6799.32,"body":"MySQL wolltest du sagen?"},{"speaker":"Enrico","startTime":6803.32,"endTime":6804.38,"body":"MySquirrel30, ja?"},{"speaker":"Wolfgang","startTime":6812.599,"endTime":6813.92,"body":"Sehr sch\u00f6n, sehr sch\u00f6n."},{"speaker":"Christian","startTime":6815.34,"endTime":6822.88,"body":"Ja, in dem Sinne, vielen Dank an euch, liebe Zuh\u00f6rende, f\u00fcrs Zuh\u00f6ren. Vielen Dank an euch f\u00fcrs Mitmachen. Es war mir ein innerliches Blumenpfl\u00fccken. Hat sehr viel Spa\u00df gemacht."},{"speaker":"Wolfgang","startTime":6823.36,"endTime":6825.74,"body":"Ein seelischer Gabelbissen. Vielen Dank."},{"speaker":"Christian","startTime":6827.82,"endTime":6829.06,"body":"Macht's gut, bis dahin. Ciao."},{"speaker":"Enrico","startTime":6829.18,"endTime":6829.88,"body":"Bis dann, ciao"}]}