PostgreSQL und die Auswahl der richtigen Datenbank #67 - podcast episode cover

PostgreSQL und die Auswahl der richtigen Datenbank #67

Sep 24, 20241 hr 3 minEp. 67
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Datenbanken sind das Herzstück jeder modernen Softwareentwicklung – sie speichern und verwalten die Informationen, die eine Anwendung am Laufen halten. Wenn es um strukturierte und unstrukturierte relationale Daten geht, setzen wir klar auf PostgreSQL. Aber warum genau? In dieser Folge werfen wir einen detaillierten Blick auf die Kriterien, die bei der Auswahl der richtigen Datenbank entscheidend sind: von der Datenstruktur über Lese- und Schreiboperationen bis hin zu Standardisierung, Lizenzkosten und Erweiterbarkeit. Dabei zeigen wir, wie PostgreSQL in all diesen Kategorien punktet und welche Zusatzfunktionen es von anderen relationalen Datenbanksystemen abhebt.

Natürlich werfen wir auch einen Blick auf den ISO-Standard für SQL-Datenbanken und die Geschichte von PostgreSQL, die dieses System so mächtig gemacht haben. Doch um fair zu bleiben, stellen wir PostgreSQL im Vergleich mit anderen beliebten RDBMS wie MySQL, Oracle, Microsoft SQL Server, MariaDB und SQLite auf den Prüfstand. Du wirst sehen, dass viele dieser Systeme ihre eigenen Stärken haben – aber am Ende bleibt für uns nur eine wahre Lieblingsdatenbank. Welche das ist? Du ahnst es vielleicht schon – und wir verraten dir heute, warum!

---

Einfach Komplex ist ein Podcast von Heisenware. Alle Infos und Kontakte findest du im Linktree:

⁠⁠⁠https://linktr.ee/heisenware

---

⁠Dr. Burkhard Heisen⁠⁠ und ⁠⁠Gerrit Meyer⁠⁠ sprechen heute über:

(00:00) Intro und SQL

(05:00) Warum brauchen wir Datenbanken?

(07:00) Eigenschaften einer idealen Datenbank

(21:30) Historie und Nutzung von PostgreSQL

(28:30) Eigenschaften PostgreSQL

50:30) Alternative SQL-Datenbanksysteme

Transcript

Intro und SQL

Moin, zu einfach komplex, dem Podcast für Software It Line von heisenware Ich bin Gerrit und heute spreche ich mal wieder mit Burkhard, unserem Experten. Moin Moin aus Hamburg, wir haben mal in Folge 6 das Thema Datenbanken auseinandergenommen, die Folge läuft ziemlich gut, es ist tatsächlich unsere erfolgreichste Folge am beliebtesten und da jetzt wiederholt auch die Nachfrage kam, wie wählt man denn eigentlich eine gute Datenbank aus, was ist denn eigentlich das

Besondere an Post Dress, die öfter mal genannt wurde von Burkhard? Ja, soll das heute auch unser Thema sein? Burkhard, Was haben wir uns

vorgenommen. Ja, Gerrit, Wir wollten heute mal über Postgeist SQL sprechen oder Postgrests, so hieß das initiale Projekt und gar nicht so einfach, wenn man sich jetzt so eine Datenbank Implementierung, sage ich mal rauspickt, muss man erstmal überlegen, wie geht man dann so eine Folge an und der Plan für die Folge wäre, dass wir einfach mal besprechen, was wäre denn die ideale theoretische Datenbank, was müsste sie denn eigentlich können um alle

glücklich zu machen. Und das wollen wir mal kurz so n bisschen durchexerzieren. Und wenn wir das verstanden haben, dann können wir ja mal gucken, wie weit Post Kress dabei ist, diesen idealen Standard zu erfüllen.

Das wär die Idee und gleichzeitig besprechen wir dann n bisschen die Technik, das machen wir ja immer, also versuchen zu verstehen, warum ist das dann auch gut gelöst oder nicht, dann können wir natürlich noch ein bisschen auf die Historie gucken, wie ist das soweit gekommen und zum Schluss gucken wir natürlich noch einmal ein bisschen, machen wir das Fenster auf, denn wir wollen ja nicht sagen Post resistiert die

ultimative. Number One Waffe für Datenbanken, sondern es gibt ja noch andere und dann machen wir noch mal einen kleinen Vergleich das wir eine gute Übersicht haben, das ist der Plan für die Folge denke ich mal. Kann man das dann überhaupt so generell sagen? Die Datenbank ist gut und die ist schlecht oder kann man das eigentlich nur sagen, also relativ für meinen Anwendungsfall ist eine bestimmte Datenbank gut oder

schlecht? Ich bin sowieso ein Freund von differenzierter Betrachtung. Also insofern muss man immer Anwendungsfälle mit in Betracht ziehen. Man kann aber schon. Man kann aber schon schon n paar Kriterien raus packen, die idealer wenn sie dann gehen würden. Was ich technisch bezweifle, dass du halt alle Anwendungsfälle gleich gut abdecken kannst. Oft halt einfach technisch nicht möglich, ne, weil du entweder optimierst, weil die eine

Richtung oder die andere. Aber man kann es schon formulieren, was ne richtig coole Datenbank wäre, das glaub ich schon. Ja die Anwendungsfälle sind, ich sag es mal gleich, also der krasseste Unterschied der Anwendungsfälle ist halt, ob ich nun viele relationale Daten hab. Und Relational heißt. Ich sag es jetzt mal in ganz einfachen Worten, wenn man, wenn man das Gefühl hat, seinen seine Daten, die man im Kopf hat oder die man verwalten will, in Excel

abzubilden. Ja, das hat man ja oft, ne, du hast irgendwie, willst irgendwie was was weiß ich, du hast zum Beispiel ne Liste oder irgendwie was mit mit mit Leuten die zur Party kommen oder irgendsowas und dann willst du irgendwie noch das Essen dazu organisieren oder sowas, da hat man, da hätte ich jetzt von mir aus wirklich so ein Tool nehmen wie Excel, ich fange an strukturierte Daten zu haben und so weiter.

Und es gibt aber ganz andere Probleme, wo du sagst, aber ich nehme mal ein Word Dokument her, weil ich habe da noch ein Bild und hier noch einen Link und irgendwie wuseliges gemischtes Zeus. Ja das ist halt unstrukturiert.

Ja das sind so die 2 unterschiedlichen, vielleicht noch einen dritten, ich habe irgendwas was wo die Zeit, das hatten wir auch schon mal gesagt, eine Time Series ja wo ich irgendwas aufzeichnen will über die Zeit ja Datenpunkte sind so 3 ganz krass unterschiedliche Kategorisierungen von Daten die ich. Behandeln möchte, sind relationale, strukturierte und dann sehr unstrukturierte, nicht relationale Daten oder Daten, die Halt einer Zeit, die einer Zeit einer Zeitfolge folgen.

Und für diese 3 sehr unterschiedlichen Anwendungsfälle gibt es natürlich auch unterschiedliche Datenbanklösungen. Host Res QL das SQL steht für Relation ne das wir, wir gucken heute so n bisschen mehr diese relationalen. Button an, aber ob strukturiert oder nicht, das will ich sogar noch mal offen lassen, ne? Dann eine Frage vorweg SQL, wofür steht das? Structured Curie language. OK. NSQL das kann man ja vielleicht noch mal als Recap sagen.

SQL ist im Prinzip ein. Mehr Sprache kann man fast sagen, aber nicht so wirklich. Es ist eigentlich ne Abfragesprache und das ist ganz krass das also wenn man Informatik studiert, lernt man das, dahinter liegt die sogenannte relationale Algebra, dass ein Bereich der Mathematik ja, denn wenn man, wenn man Relationen verwaltet, dann kann man das sehr stark mathematisch ausdrücken.

Ja, das ist Mengenlehre und Relationslehre, es gibt eine richtige mathematische Abhandlung, und das hat dann mit SQL noch nichts zu tun und. Wenn man das quasi dieses mathematische Konstrukt aber jetzt in die Hand geben möchte, um es nutzen zu können, um relationale Daten einzufügen, abzufragen, zu bearbeiten in der Datenbank, dann brauche ich ein bisschen was hochsprachigeres als die pure Matte.

Und daraus ist SQL entstanden. Sql ist ein ISO Standard sogar auch das ist eine Art und Weise wie ich quasi relationale Daten managen kann um mal kurz zu verstehen, was SQL ist. Ja, hat aber englische Worte, sie sieht so aus wie Select. Stern from und dann kommt der Tabellen Name Where The Beding

Warum brauchen wir Datenbanken?

Bedingung zum Beispiel ID größer als 4 oder irgend sowas so ungefähr. Kann man sich vorstellen, sieht SQL aus? Ja, ist schon sehr alt, gibt schon sehr lange, ist schon sehr viel standardisiert worden, ich glaub der zweitausendsechzehner Standard ist der aktuelle ist Halt die.de facto Abfragesprache für Datenbanken. Ja, OK, für alle Datenbanken dann, oder? Also für die SQL Datenbanken ganz genau.

Ja ganz. Genau, ja prima, jetzt hast du gesagt, wollen wir erstmal gucken, wie sieht dann eigentlich so eine ideale Datenbank aus, was sind da Kriterien die du anlegst? Genau. Jetzt musst du dann einmal auch kurz verstehen, warum. Überhaupt Datenbanken. Warum brauchen Sie, warum brauchen wir sie und also, was machen sie klar, also sie speichern halt Daten und zwar und das vielleicht gar nicht so klar, sie speichern Sie halt einfach, ohne dass eine

Anwendung dabei laufen muss. Ich habe ja 2 Sachen, ich habe meine Daten und ich habe meine Anwendungslogik oder mehrere Anwendungslogiken, ist ja ganz egal. Also ich habe einfach einen Haufen von Daten und dann habe ich zum Beispiel eine Anwendung, die die Daten liest. Anzeigt. Ja, wir hatten jetzt letztens in der letzten Folge mal so einen blogspot, da könnten Blogeinträge sein oder ein Order Management System oder oder e Commerce. Und so weiter.

Da hab ich ja ganz viele Daten von meinen Warehouse, von meinen Produkten, von den Kunden und so weiter und dann hab ich ne Anwendung die damit arbeiten muss. So ja das sind die 2 Dinger und während die Anwendung abgeschaltet werden kann und auch umgebaut werden kann, müssen die Daten ja aber. Gehalten werden auf einer Festplatte ja, und zwar im besten Falle sehr strukturiert. Es wird halt nicht einfach auf die Festplatte irgendwie geschrieben, sondern halt in Form einer Datenbank, ja.

Und, und jetzt kommt die Schwierigkeit, die man als Entwickler hat. Das will ich auch einmal noch mal kurz sagen, denn ich habe die Perspektive der Datenbank, ist halt eine Art und Weise diese Daten quasi zu halten, zu strukturieren und hinzulegen. Während ich in der Anwendung

ganz andere Konstrukte habe. Ich hab in der Anwendung programmiere ich normalerweise keine Tabellen hin und Relation, sondern ich hab da Objekte, wir sprechen ja die meisten Sprachen, sind objektorientiert, OOP, Object oriented.

Eigenschaften einer idealen Datenbank

Programming machen wir und dann haben halt Objekte quasi selber Daten in in drin, die haben Vererbung, die beziehen sich aufeinander und jetzt muss ich schaffen quasi die Daten die in der Datenbank in Tabellen abgebildet sind. So rauszuziehen, dass sie meine Objekte, die in der Runtime entstehen, in der Businesslogik füllen und dass die sinnvoll arbeiten können. Das das ist ne Schwierigkeit und das hat was mit Datenstrukturen und Datentypen zu tun.

Und das ist der erste Punkt, der eine ideale Datenbank macht, aus, dass sie im Prinzip keine Einschränkung dem Entwickler bietet. Auch die wildesten Datentypen und Strukturierungen, die ich quasi in der Business Logik brauche, abzubilden und auf die Festplatte zu schreiben, ja.

Also ich brauche die ganze Breite aller Datentypen und die ganze Kombinatorik aller Datentypen und auch komplexer Datenstrukturen. Ne, wenn ich dazu grad limitiert bin, dann muss ich halt, wenn ich aus der Datenbank meine Daten auslese, erstmal ganz viel Umformung machen. Datenmanagement um überhaupt die Daten in meine Anwendungslogik zu haben, das will ich nicht, ich will halt im Prinzip das was ich im Code habe abbilden können. Ein Beispiel also, wo ich immer auch durcheinander komme.

Bei den Datentypen ist ja, man kann ja auch eine Zahl. Laienhaft ausgedrückt in verschiedenen Arten, als integer, als als was gibt es da noch? Ja, float float, genau integer in verschiedenen Auflösungen.

Es gibt integer, 8 bit 16 Bit 32 Bit, dann gibt es die Gesignt und Ungesigned, also ob ich ob brauche, ich brauche ich jeden Vorzeichen quasi ne kann ich eine Minuszahl haben oder nicht und so weiter und sofort habe ich eine Glide kommazahl also hier 4,321 ja und wie krass muss sie aufgelöst werden und so weiter hat ihn hat die Floating Practitioner Double Position und so weiter das sind alles Sachen. Ja, die sind im Code, sage ich mal, heutzutage gar nicht mehr ganz so relevant.

Aber natürlich, das hat alles auch was mit Größe und Speicher zu tun. Ja, also ich sag mal jetzt KI zum Beispiel ja, wird das wieder total relevant, da hab ich halt so viele zahlen, ja das wissen wir ja, wir haben ja Billionen von Parametern noch mehr an Gewichten und so weiter das macht schon einen Unterschied ob ich jetzt jedes einzelne Gewicht als Double Precision Speicher, das dann irgendwie 64 bit nimmt.

Oder als Single Precision. Also das muss halt dann die Datenbank auch abkönnen, das muss halt quasi in der Lage sein genau diese Sachen sauber hinzu Hinzudefinieren genau deswegen gibt es dann eine relativ große Menge an Datentypen.

Verstanden. Zum ersten Punkt kapiert, da mit dem Erster. Punkt kapiert, zweiter Punkt, ganz klar, wir wollen natürlich auch wenn die Datenbank sehr voll wird, ja und ganz viele Einträge hat, also Analogie, du hast eine Excel Tabelle, die hat halt irgendwie 10 000 100 000. Fast 1000000 Rose Einträge kann ja mal passieren, wollen wir immer noch sehr sehr schnell lesen können. Also wir müssen etwas besser werden als bei jeder Anfrage, quasi alle alle Reihen durchzugehen und zu gucken.

Ist es das, was ich brauche, so, ja, das wäre ein bisschen langsam. Ja, das wäre quasi dieser Vorloop, da ist das Stichwort Indexing und so weiter kommen wir später drauf, also ich will unglaublich schnell lesen

können. Das ist vor allen Dingen für diese ganzen Webanwendungen, die ja wo du wo du Daten rausziehst ja so Spotify und youtube und so weiter das ist total wichtig, ja wo nicht so viel rein, also wo du nicht dass das reinschreiben die Geschwindigkeit gar nicht so wichtig, aber im besten Falle will ich auch das schnell machen können, ist der dritte Punkt ich will unglaublich schnell schreiben können und jetzt kommt es ganz wichtig gleich mal vorweg gesagt Wir haben ja eine

Datenbank normalerweise also mindestens logisch haben wir einen Satz von diesen ganzen Informationen die wir zusammenführen. Wir haben aber vielleicht.

Zehntausende Hunderttausende von Klienten, ne, weil wir, weil das zum Beispiel ne Webanwendung gibt und jeder hinter seinem Browser sitzt und jeder gerade was hochlädt n neues Video n neuen Blog erstellt oder irgend sowas und das im besten falle sogar irgendwie gleichzeitig auf der Welt kann man ja nicht kontrollieren ne so das heißt es muss jeder der jetzt gerade was in diese eine Datenbank einfügen will in der Lage sein es sehr

sehr schnell zu tun und für die Datenbank sieht's halt grauselig aus weil die kriegt quasi alles ab alles gleichzeitig ja muss das so schnell wie möglich abfrühstücken und konsistent. Ohne Fehler einspeichern ne. Du hast nen den den Fachbegriff dafür glaub ich noch aufgeschrieben, oder? Ja, man sagt Concurrency oder Parallelität oder genau, und das ist technisch total, also. Es ist einfach nicht ne.

Wir haben ja quasi Reihen und wenn du jetzt gleichzeitig was schreiben willst, da kann viel schief gehen, wenn man da auch schon normal drüber nachdenkt, wenn ich dann auch noch Beziehungen habe zwischen den Dingern, ich muss mir ganz viele Gedanken machen, was ich wie Sperre für einen kurzen Moment, also Locking ist da das Stichwort, der eine User muss halt sicher seine Daten reinpacken können und der andere vielleicht gleichzeitig, aber die Datenbank muss wissen ist

das jetzt, kann da was anbrennen wenn die das gleichzeitig machen oder nicht ja also. Das da steckt ziemlich viel Brandpower hinter und gleichzeitig wird natürlich auch noch gelesen von allen gleichzeitig muss halt alles in Datenbank abkönnen, genau und dann dann will ich eigentlich, dass du eine Datenbank vollständig standardisiert ist.

Wir hatten es ganz am Anfang gesagt, also wenn wir über SQL sprechen dann und SQL ist halt ein ISO Standard, da steht ganz schön viel drin was was also der theoretische Implementierung alles können muss. Dann erwarte ich das von einer idealen Datenbank, dass die halt vollständig diesen SQL Standard bedient und und mit einer hohen Geschwindigkeit alle diese Anfragen verarbeitet. Ja und auch quasi im Prinzip für

jedes Operating System, da ist. Ja ich will die Datenbank ja nicht auf einer speziellen Hardware laufen lassen können, nur. Sondern auf allem, was so, was

man halt so kennt. Ja dann find ich das jetzt wieder so mein Ding, weil ich bin da hier n Verfechter von open Source und ich bin bin natürlich auch im Klamm Geldbeutel immer unterwegs also ich finde im besten Falle kostet die Datenbank nichts ja und ist auch noch gleichzeitig Open Source und zwar unter einer Lizenz die ich mich auch nicht zwingt sogar meine meine eigenen Code Open Source zu stellen sondern eine Open Source Lizenz wo ich sogar quasi auch noch.

Einen Enterprise Produkt Mitverkaufen kann und ist trotzdem ein Bauender erfahren. Das wäre natürlich das Non plus ultra sage ich mal ja. Du meinst, wo du selbst ein Close Source Produkt draus machen darfst? Richtig, genau. Also wir sprechen halt von BSD Lizenzen oder es gibt ja so ein paar LGPL und Mi t. Das sind so die Lizenzen die die das erlauben. Wie alleine stehst du da oder wie viele andere Entwickler hast du da draußen, die das auch so sehen, oder?

Glaubst du, da sind auch welche, die sagen, es ist besser? Weiß ich nicht. Kauf bei Oracle oder sowas ich glaube ich der größte Datenbankanbieter noch immer oder war es zumindest lange ich nehme die Oracle Datenbank und dann habe ich dahinter eine Firma und bezahle dafür lieber. Also meine Meinung ist ganz klar, ich muss nichts bezahlen müssen in meiner idealen Datenbank kostet die nichts und es gibt keine Firma die dahinter steckt warum?

Ich kann es auch sagen und also warum kann man sich auch anhören in unserer Open Source Folge, da habe ich das sehr stark ausgelegt aber es. Ist halt einfach so, wenn es Open Source ist, heißt ja, dass der Quelltext offen ist. Das heißt, und wenn ich dann auch noch eine große Community habe, das bekomme ich immer dann, wenn das ein Projekt ist, als sehr viel Mehrwert bietet und was viele Leute anfangen zu nutzen. Ja, dann hab ich halt einfach.

Dann hab ich quasi Zehntausende von Entwicklern die da drauf gucken und sicherstellen, dass das auch funktioniert, der neuesten Technologie angepasst ist und sicher ist, weil alle diese Entwickler machen das ja im Auftrag für ne andere Firma und haben großes Eigeninteresse dran, dass das robust ist, stabil ist und sicher ist. Und wie kann ich mir sicherer sein, dass das ein tolles Projekt ist, wenn es quelloffen

ist und mir das angucken kann? Ja, ansonsten muss ich halt Oracle vertrauen, ob die das auch ordentlich machen und es werden weniger Entwickler sein bei Oracle, die haben zwar viele. Als die Community groß ist, von einem großen Open Source Projektor, deswegen sag ich immer nem Alt open Source mit großer Community.

Ja, also jetzt vielleicht nicht irgendein Open Source Projekt, aber halt die relevanten großen, ja die sind im Notfall besser geprüft und besser gecheckt als das jetzt eine einzelne Firma stemmen kann in ihrem Closed Source Business genau und dann ist natürlich so eine Datenbank wenn man ich sag mal wenn man halt nicht nur vorgesetzt bekommt was sie alles genau macht, sondern wenn man es quasi darauf anlegt, dass jetzt ein

bisschen was technischer. Man sagt, OK, ich bereite das Feld der Technologie so vor, dass ich sie auch erweitern kann in Zukunft mit was weiß ich was da kommt.

Ja, der hat zum Beispiel Post Dress, die haben ja da, die sind ja in den Achtzigern gestartet, da gab es ja noch keine AI und so weiter haben die also noch nicht noch nicht antizipieren können, dass wir dann auf einmal irgendwie zum Beispiel jetzt sowas haben wie ganz viele matrizenmäßige Floating Values, die ich eigentlich speichern will.

Aber wenn ich jetzt quasi die Technologie so offen lasse, dass ich jetzt noch nacharbeiten kann, Module einfügen kann, die das quasi die die Grundtechnologie dieser Datenbank so hinbauen, dass ich auch noch neue Anforderungen mit verhaften kann, dann ist natürlich auch super plus, dass ich quasi auch, und das ist auch wichtig, sage ich nochmal eine

Datenbank ist. Manchmal nicht nur stumpf zum reinschreiben und auslesen, sondern hat auch ein bisschen Logik selber, also auf der untersten Ebene. Es können also kleine Events passieren, die dann also. Ich füge, was zum Beispiel ein in eine Datenbank von außen, und dann gibt es eine Logik in der Datenbank, die sagt, wenn du das einführt, dann machst du danach noch dies, das und das in den Daten meiner Datenbank auf anderen Tabellen oder Irgendsowas, also kleine Logiken.

Ja, das ist auch wichtig, dass sowas da ist, damit ich, damit ich quasi sehr zügig und per Post Daten manipulieren kann, da wo sie halt quasi auch existieren auf der Platte. Ja, also. Es ist wieder ein Punkt, wo sie dir einfach wieder mehr abnimmt, was du nicht selber manuell dann dann lösen müsst. Ja, genau.

Und vor allen Dingen ist n Performance Punkt den wenn ich es erstmal auslesen muss und dann in meinem Anwendungscode manipuliere um es dann wieder zurückzuschreiben kannst du dir ja gleich vorstellen, dass das halt viel ineffizienter ist, als wenn ich jetzt zum Beispiel so eine kleine Routine direkt in der Datenbank schreiben kann, muss ich es nämlich nicht auslesen und wieder zurückschreiben. Das ganze Locking und so weiter angucken, sondern es passiert direkt da. Wo es sein soll?

Gut, das waren 6 Punkte. Jetzt kommt der siebte. Jetzt kommt der letzte genau im besten Falle. Jetzt bringe ich so ein bisschen die Zeit rein, auch rein und die Analytik, Analytik, die Datenanalyse, aber stell dir vor, du hast zum Beispiel eine Tabelle oder Sensordaten, ausliest sehr sehr sehr sehr viele über Jahre hinweg und jetzt willst du zum Beispiel einen Chart, also willst du es einfach anzeigen lassen, die Sensordatenpunkte ja.

Dann willst du ja nicht in deinem armen Java Script Dashboard sage ich mal, wo dieser Chart aufgebaut wird. 2000000 Sensordatenpunkte von den letzten 2 Jahren haben, sondern da wirst du immer ne Statistik drauf machen, sag ich mal und fast quasi Datenpunkte zusammen und sagst zum Beispiel mach mir halt so nen so n Average jeden Monat, nimm alle Datenpunkte zusammen, mach davon average wert und dann kriegst du halt ne übersichtliche Anzahl von Datenpunkten die du anzeigen

kannst. Trotzdem über Jahre hinweg, ja jetzt ist die Frage, wo machst du das Averaging auch wieder so ein bisschen das sind. Ist ja ähnlich. Der Punkt den ich davor hatte oder nicht. Aber wenn jetzt zum Beispiel die Datenpunkte Datenbank so eine Art Windowing Aggregation, vorverarbeitung.

In einer Art von also Datenanalyse bietet, dann brauchst du auch erst gar nicht so viele Datenpunkte abfragen, dann sagst du mach halt averaging jeden Monat und dann bekommst du schon übers Netzwerk auch nur die Datenpunkte, die

schon vorverarbeitet sind. Ja, ansonsten müsste ich es wieder in meine Anwendungslogik machen, das wäre wieder viel Bandbreite vom Kabel und es wird halt langsamer, weil ich halt irgendwie das später mache, aber wenn ich Sachen früher erledigen kann, näher zu dem wo es wo der Datenpunkt gehalten wird, dann ist es immer besser, es ist wie beim Edge Computing. Cool, dann war das jetzt sozusagen die optimale Datenbank, die du beschrieben hast.

Ziemlich frei vom Anwendungsfall noch beziehungsweise ja, es geht um strukturierte Daten oder über die. Besprechung oder geht es auch immer? Noch? Nee, das war bunt gemischt. Ich hab sogar jetzt sogar noch n bisschen die Zeit rein mit reingebracht. Ja richtig, jetzt wo du es sagst. Ja genau, also das ist schon. Also wenn man jetzt, wenn man diese Punkte alle voll durchoptimiert hätte, hätte man es schon ziemlich gut optimierte Datenbank, die alles Mögliche schon abdecken könnte jetzt.

Habe ich noch eine Frage, weil das haben wir ja auch bei uns,

wir haben ja die Möglichkeit. Einen Eintrag in einer Reihe über die Zeit zu beobachten, zum Beispiel, wenn sich irgendwie, wenn du hast als als als einen Eintrag, als eine Row in einer Tabelle, also eine Person mit einer Adresse, meinetwegen, es ändert sich die Adresse von birkenweg auf den Lindenweg, meinetwegen die Straße, und jetzt will ich aber wissen zum Zeitpunkt x, wie war da die Straße, sowas können wir doch sogar auch machen mit der Post, dann wieder, oder willst du da

noch drauf eingehen? Ja nee, aber das, das kann eigentlich jeder. Bank, weil, weil jetzt da kannst du dir musst du einfach clever überlegen, wie speicherst du das ab, dann kannst du sagen ich hab halt quasi ne historische Tabelle also du hast die Tabelle addresses und dann hast du historical addresses dann machst du ne zweite Tabelle. Und jetzt ist es so. Wenn du das ändern würdest. Und jetzt kommt so n bisschen der der Trick diese Triggers.

Ja du sagst jetzt OK ich ändere eine Zeile die Adresse dann soll automatisch jetzt ist der Punkt automatisch, soll dann quasi eine Zeile angelegt werden in der historischen Adresse. Tabelle der dann sagt OK, hier wurde geändert auf ja zack das Delta und dann weißt du was los ist.

Aber das willst du quasi nicht in deinem Code verhaften, sondern du willst in deinem Code nur sagen hier Update neue Adresse aber die Datenbank hat jetzt n Trigger hinterlegt wenn sich die Adresse ändert, dann machst du einen Insert in den historischen Table automatisch, das ist ein Datenbank Business Logik quasi und mach das und Post press kann das ja so und so lösen wir das ja. Dann war das also eigentlich nur ein Beispiel für den sechsten Punkt, den du hattest, dass die

schon gewisse. Selber abbilden kann die die Daten. Genau. Customization, Small Programming und so weiter Events und so weiter ja. OK, verstanden so, dann ist ja die Frage, warum ist Postgrass jetzt auch bei uns die Datenbank

der Wahl? Und und so beliebt ne ganz genau, ja, weil und die Antwort ist natürlich, weil weil gut, das ist jetzt natürlich ne subjektive Geschichte, das kann ich jetzt einfach nur aus meiner warte ja sagen, weil ich finde, dass das postcrest Projekt halt am nahesten Drankommt, an dem, was ich jetzt auch so. Als ideale Datenbank gerade

formuliert. Hab ja, es ist halt für mich das Projekt was halt diese Punkte am besten ausfüllte, wenn im Vergleich zu den anderen angeboten die es so gibt ja. Warum das so ist, das können wir gleich im Einzelnen noch mal besprechen. Ne, vielleicht sag ich kurz was zum Bhost res Projekt, damit wir es mal kurz einordnen kann irgendwie auch. Ja, ja, gerne. Also wir müssen Historie, wo kommt es her? Wo wird es eingesetzt? Et cetera?

Ja genau, also das also diese, dieser Start, dieser ganzen Post. Grace, was man heute kennt, das heißt ja postquest QL und ist halt n Datenbanksystem. Der Start ist so alt wie ich selber und das ist schon ziemlich alt, also das ist Anfang der Achtzigern ist das quasi alles losgelegt worden von einem Herrn Michael,

Historie und Nutzung von PostgreSQL

wahrscheinlich hat er Michael Stonebreaker und der hat dann mal irgendwie Anfang der 80er dieses Post Quest Projekt gestartet. Noch ganz am Anfang glaube ich gar nicht mit mit dem mit dem Ziel jetzt SQL voll supporten, sondern eher mit dem Ziel die Datentypen gut zu unterstützen.

Das war in den Achtzigern noch das größere Problem, was ich ganz mit der ersten Punkt, den ich gesagt hatte, die komplexe Datentypen, alles Mögliche da verwalten und abbilden zu können, die ganzen Relationen. Gut und effizient zu managen, das war, glaube ich, der initiale Zündpunkt.

Da gab es dann noch nicht so viele Konkurrenzprodukte, die das gut konnten, ne. Deswegen wurde dieses Projekt ins Leben gerufen, 89 gab es das erste Release und mit einer Open Source Lizenz BSD, also mit einer sehr freien opensource Lizenz. Und dann hat man 94. Also das war der Stoneback hat angefangen, da gab es dann Studenten, PHD und das wurde dann sofort ne Community, war ja Open Source, also da haben mehrere Leute dran gearbeitet. In Berkeley. In Berkeley.

Das kann man mal sagen. Ja genau, das stimmt. War in. Den Achtzigern auch schon der, der der Ursprung der Großen, der großen Technologien, sag ich mal. Ja, da ging ja das Silicon Valley, also also da fing es an, die Erfolgsstory des Silicon Valleys. Ganz genau. Ja und? Und solche Projekte wie Post West gehören halt auf jeden Fall dazu.

Total erfolgreiche Projekte bis heute 94 wurde der SQL Support hinzugefügt und das sag ich jetzt gleich mal vorweg, einer der wenigen Datenbanken ist Post Dress die das die den diesen ISO Standard der wirklich heftig ist so komplett und getreu erfüllt, denn du hast ja immer also SQL ist halt ein stapel Papier wie es sein sollte in der Theorie und dann hast du halt natürlich die Implementierung, das muss erstmal so laufen dagegen ja und Podcast. Ich, einer der führenden

Implementierungen von Datenbanken, die das als wirklich zu einem sehr, sehr hohen Prozentsatz exakt so umsetzt. Ja, die Anforderung dieses ISO Standards, ja. Genau. Und 96 kam glaube ich der Name Post Grass QL zustande, also durch ne dadurch, dass der SQL Support mit rein kam und das auch n ja n wichtiger Feature Punkt war wo der SQL quasi dem Namen hinzugefügt und seitdem heißt es halt.

Bisschen sperrig, Post Grä Post Grass sie ist das Projekt, und dann haben Sie das Essen auf mit dem QL hinten dran, damit das Sequel, das heißt übrigens Sequel jetzt richtig ne SQL, das sind da die 3 Buchstaben für Structured Curry Language, man spricht es aber Sequel. Aus ja, da erkennt man immer die

Line für mich dran. Ich sag immer SQL und meine Gesprächspartner sagen immer Sequel, also wenn es wenn es Entwickler sind und ich Kriegs nicht auf die Kette, aber irgendwann will ich es noch schaffen. Ich schaffe es ja selber auch schon nicht. Bei postcress ich sag meistens postcremes, weil postcress Sequel heißt glaube ich nicht postcremes QL ist alles irgendwie zungenbrecher, aber wenn man es Post sagt Weißt du weißt schon der Rest was los ist.

Da gibt es auch sonst nichts, das ist dann immer das eine. Ja genau, denn jetzt muss ich vom Spicker ablesen, könnt ihr auch selber lesen, aber 97 Open Source Community entwickelt quasi das Projekt weiter, hat es übernommen worden, die treuen Hände gegeben, das klappt ja auch nicht immer bei so Open Source Projekten und 2005 steht ja noch Windows Support wurde eingeführt. Und mal für so ne Übersicht Post

res. Ich hab ja gesagt es ist halt Open Source und ist n wichtiges Datenbanksystem wie wichtig es ist erkennt man immer wenn man mal so n paar Beispiele nennt von Firmen, von einschlägigen Firmen und Institutionen die es nutzen die es vielleicht nicht exklusiv nutzen, aber.

Mindestens an wichtiger Stelle. Ja, ich les einfach mal vor Apple, Instagram, Reddit, Spotify, Debian, Debian ist die Linux Disco United States Federal Government, also da ist auch verbaut die in der ESA, Gitlab, Uber, tripadvisor, openstreetmap, openstreetmap halte ich kurz mal an openstreetmap ist ja also Navigationssystem, im Prinzip Datenbank und das ist cool, weil hier das Hochoptimiert für Geodaten. Es gibt einen Datentyp quasi der

für diese ganzen Geodaten optimiert ist und da hat man quasi eine Erweiterung eingebaut, weil es halt ging. Das ist nochmal erster Punkt, Komplexität, Datenstrukturen usw Weiterentwicklung möglich, ja und das hat man halt gemacht ja und hat ein Feature rangesetzt Twist heißt das glaube ich und das halt besonders krass und schnell Geodaten verarbeiten kann und darauf Anfragen machen kann Netflix.

Sales Force, Skype, Yahoo und Heroco kann man auch einmal kurzhaltig auch mal kurz an, ist quasi benutzt. Postgre und Butt macht. Macht da quasi den Service

drumherum. Ja, Service kann man dann irgendwie noch mal über andere Interfaces bedienen, könnt ihr selber gucken, also schon n paar einschlägige Firmen, bei denen halt innenproduktion sehr relevant ja und wichtig postgreß eingesetzt wird ja, ist also keine Randerscheinung, kein Nischending ist schon ist schon ein sehr krasser krasser Standard da. Das heißt, wir sind da in sehr guter Gesellschafter, in dem wir das auch nutzen.

Also man kann sagen, man macht nichts falsch, wenn man sich jetzt für Post Quest entscheidet. Hat man erstmal nichts falsch gemacht, dass das würde ich jetzt mal vorweg sagen, als Fazit. Diese Datenbank liefert alles was man braucht für also wenn ich jetzt nicht gerade irgendwie was weiß ich die neue Raumfahrt aufmache oder so oder die nächste Nasa bin, dann muss ich

vielleicht noch mal nachdenken. Aber also wenn ich jetzt irgendwie eine Webanwendung mache auch eine Komplexe, dann bin ich mit und auch mit vielen Daten, dann bin ich mit Postgras auf der sicheren Seite. Witzig, dass du es gerade sagst. Man begegnet mich gerade die Mondlandung, also ich glaube 69 oder so ne krasser Weise. Als du sagtest, Anfang der 80er, hat man da in Berkeley angefangen mit der Datenbank und man hat sich erstmal beschäftigt.

Halt da verschiedene Datentypen überhaupt abbildet und so weiter und dachte so hm 11 Jahre vorher ist man schon irgendwie zum Mond geflogen. Also es ging anscheinend trotzdem solche Sachen ne ja das ist mir sowieso n krasses Rätsel wie die das alles damals gemacht haben. Also das ist das sagen auch die Computer ganz anders aus, das waren ja Räume und keine Computer, das war Wahnsinn. Ne, da gibt es ne coole Dokumentation.

Muss man mal gucken. Ich weiß nicht wie sie heißt, aber es ging über die Technik der Mondlandung. Ja wer Bock hat kann ich empfehlen im Fernsehen das. Machen wir okay kleiner Ausflug wieder zurück zu Datenbanken und Post. Grass gut, bisschen über die Historie gesprochen. Wo wird es eingesetzt?

Es ist extrem verbreitet, du sagst man man macht nichts falsch wenn man es benutzt, ich glaube es ist trotzdem immer angeraten noch mal seine Anforderungen auf den Prüfstand zu stellen und zu gucken ob es wirklich passt. Aber nichtsdestotrotz eine Empfehlung an der Stelle und jetzt hast du gesagt wollen wir mal die Punkte vom Anfang durchgehen und gucken. Wie löst, wie werden die dann eigentlich gelöst? Jetzt bei Post Rescue oder? Ja, Post Dress, lass uns einfach.

Ich sag einfach postgruster macht es. Einfacher Postwest das fair. Dann mach ich auch mit. Das erste Thema waren die Datenstrukturen, ne wie die dort abgebildet werden können. Richtig, richtig. Also ich sag es noch mal. Wir haben im Prinzip 2 Varianten von Daten. Wir werden also wir können immer sagen, wenn Daten n Schema haben oder wenn ich das Gefühl hab, ich sag es noch mal, wenn ich Daten irgendwie ne Tabelle verhaften kann tatsächlich schon und nicht über Excel nachdenke

oder irgendsowas. Dann sind das immer strukturierte Daten, ne. Wenn jeder Datensatz eigentlich die gleichen Überschriften mal hat oder die gleichen

Eigenschaften PostgreSQL

Eigenschaften richtig in der Art ne. Ja, zum Beispiel. Denk nach irgendwie was weiß ich Studenten, ja die haben die halt nen Vornamen Nachnamen.

Was weiß ich nen Immatrikulationsdatum oder Irgendsowas. Ja das sind dann quasi Überschriften einer Tabelle, so ist es ja auch ne Datenbanken, Datenbanken, Tabellen am Ende des Tages ja und dann hab ich die Überschriften und dann hab ich die Einträge in der Datenbank sind quasi die Reihen einer Tabelle, so also in dem Studentenbeispiel bleibt das Halt immer gleich der Header und dann tacker ich die halt runter so und dann ist es das sagen wir

nochmal ganz klar also ich hab ne Überschrift also. Jetzt zum Beispiel Vorname. Ich hab die Tabelle students, dann habe ich First Name immer englisch und der First Name dieser dieses Feld, dieser Header, der hat jetzt einen definierten Datentyp zu haben. So der ist zum Beispiel String.

Ja String sagt dann aber zum Beispiel auch ist vielleicht darf dann halt maximal 128 Charakterlang sein, also 128 Zeichen, wenn der Vorname länger ist als 128 Zeichen passt es halt nicht in das Feld. Weil der Datentyp so festgelegt ist. So ja, muss ich überlegen, passt das für n Vorname ja wahrscheinlich schon.

Ja ansonsten muss ich n anderen Datentyp nehmen, wenn der halt länger ist, dann muss ich halt Text nehmen, zum Beispiel gibt es nen anderen Datentyp, da kannst du halt beliebig viele. Zeichen reinfügen jetzt kannst du sie aber natürlich vorstellen, dass nen begrenzter String viel effizienter abgehandelt wird, sowohl für das, für das also für das Speichern und für den Memory Footprint. Ja, als auch beim Lesen und schreiben als jetzt ein größerer Datentyp, das ist halt die Kunst.

Da lege ich mich fest. Und wenn ich jetzt aber mich festgelegt habe, dass ich sage okay ein Student sieht halt immer so aus, er hat ein Firstname, das ist ein String, der hat einen Lastname, ist auch ein String, dann hat er ihn immer artikulationsdatum, das ist halt ein. Spezielle Date Formate auch n Datenformat wie das Halt quasi gehalten wird. Dann hab ich ein Schema definiert, ein Schema ist quasi eine Definition. Wie meine Daten aus meine strukturierten Daten aus

Versehen haben. Ja, also wenn ich immer wenn ich n Schema habe, dann hab ich im Prinzip, dann sprech ich von strukturierten Daten ne so und dann hab ich noch die Relation wenn ich jetzt die Mentoren hab das sag ich noch mal kurz als Recap, das ist ja wichtig also wenn ich jetzt zum Beispiel mit Toren hab und jeder Student kann genau einen Mentor haben, dann packe ich jetzt die Mentoren nicht mit in die Studententabelle weil sonst also weil weil mehrere Studenten

können ja auch unter anderem den gleichen Mentor haben, sonst würde ich ja quasi den Dateninformationen zu dem Mentor kopieren müssen. Dann würd ich ja sagen, Student Alicia oder Irgendsowas hat den Mentor Werner Zimmermann oder Professor Werner Zimmermann oder irgend sowas.

Ja und dann kommt aber der Torben, der hatte auch den Professor Werner Zimmermann, weil der Halt quasi mehrere Studenten hat als Mentor. Ja, und jetzt müsste ich den Werner Zimmermann und seine Daten, wenn ich jetzt nur diese eine Tabelle hätte, ja in jede Zeile wieder mit voll reinschreiben, wenn ich schon erzähle, macht es keinen Sinn, ja, das nennt man dann auch Normierung nee Entschuldigung, nicht Normierung, sondern Normalisierung der Daten, das

heißt ich. Echt, ich guck mir das Problem an, ja und sag dann OK macht keinen Sinn das in den Süden zu machen, sondern ich nehm ne eigene Tabelle nur für die Mentoren, nenn die Halt Mentors, hab da quasi auch wieder First Name Last Name drin und vielleicht n paar andere Daten vielleicht für die Mentoren relevant sind. Seit wann ist der Mentor oder was weiß ich?

Ja und jetzt sage ich, wenn ich jetzt den Studenten den Mentor zuordnen will, und das ist die Relation, das ist wichtig, dass das, was Datenbanken gut können, jetzt sage ich quasi der Primary Key, also der, wenn ich so sagen will, der Ro Index ja von dem. Von dem Mentor, der steht jetzt quasi als Datentyp als weiteres Feld bei den Studenten mit drin. Ja, Mentor ID heißt es dann ja, also wie ich bei den students First Name Last Name, Matriculation Date und Mentor ID.

Ja und dann brauche ich nämlich nur noch ne ID einzumalen das ist total effizient gespeichert und referenziert quasi auf den Mentor und wenn jetzt 2 verschiedene Studenten den gleichen Mentor haben, dann steht da zweimal eine 1 drin und dann war es sparsam gespeichert. Ja, jetzt hast du ja sehr allgemein wieder erklärt. Was was ist da postkreis überlegen anderen Datenbanken an der Stelle, also was das Thema

angeht. Nein, aber ich habe deswegen so ausgeholt, weil ich jetzt einen Punkt noch machen möchte. Das waren jetzt die strukturierten Datenschema, das kann Post Grace genauso gut wie alle anderen Datenbanken ist, da weiß ich nicht, wahrscheinlich nicht überlegen, aber ich glaube, das ist gut implementiert haben und jetzt hast du es aber manchmal, dass das nicht so passt.

Jetzt hast du manchmal einfach Daten, die willst du nicht so, also es ist vielleicht ein großes Blob an Daten, jetzt hast du über Jason schon gesprochen, nicht auseinandernehmen, aber Jason ist quasi. Nächsten Objekt kannst du ja wieder also mehrere Datenpunkte ablegen.

Ja und jetzt könntest du sagen wollen, ich will ein Feld haben, das heißt halt nicht first nem müssen uns dringen, sondern das heißt halt irgendwie ich nenn es mal sogar fast Data um um es auszudrücken, dass es gar nicht so fest ist, ja. Und in diese in den Inhalt dieser Zelle quasi. Ja von Data will ich jetzt halt nicht ins dringen oder n Int oder n float oder irgendwas definiertes reinschreiben, sondern Jason. Und n Jason, das kann ja in

jeder Reihe anders aussehen. Ne, das definiere ich dann nicht mehr. Das hat dann im Prinzip kein Schema, außer dass es Jason sein muss, kann dann aber für jeden Reiheneintrag, für jeden Studenten den ich anlege, kann der halt n anderes json haben mit anderem Inhalt, ja.

Das sind so also ich würd nicht sagen unstrukturiert, aber halbstrukturiert es ist nicht mehr ganz so durchstrukturiert, ja so und was jetzt aber kommt ist das obwohl du Jason da reinpackst musst du jetzt nicht sagen, das ist jetzt irgendwie n String und ich sterilisation Instinkt sondern postcredit kapiert Jason als Datentyp. Du kannst jetzt sagen, Data ist vom Datentyp Jason und das. Kann ich alles?

Ja, das das muss n Jason sein, aber das kann da drin alles sein, so und jetzt und jetzt ist da aber mehr jetzt hat Post Dress da davon mehr Logik als zu sagen das ist jetzt einfach nur irgendein Blob oder ein String oder Bytes ja sondern es weiß es ist ein Jason und jetzt kannst du bei den Abfragen und bei dem Einspielen auf einmal auf extra Funktionalität zugreifen.

Du kannst jetzt zum Beispiel Teile von den JSON rausfiltern, es weist jetzt nämlich auf einmal doch ein bisschen mehr als nur, dass da irgendwas steht. Sondern es kennt die Struktur von Jason. Es kennt Keys und Values, es kann dir bei einer Abfrage zum Beispiel Jasons Zusammenaggregieren in ein großes Jason und so weiter und sofort.

Und das Gleiche gilt für XML. Ja, und was ich jetzt sagen will ist das Post res scheint weil es nämlich sowohl strukturierte Schema basierte Daten als auch zum Teil unstrukturierte Daten, wenn sie denn in JSON und XML aufgeschrieben werden unterstützt. Das heißt hier verschwimmen sogar die Grenzen von den No Sequel wie wir so schön sagen Databaces, die nur darauf optimiert quasi sowas wie Jason oder sowas zu speichern, so einen strukturierten Krams aber.

Postquest ist da ist, hat da nicht kein Feature, sondern das kann das halt auch. Ja, und das ist besonders stark an der Stelle, ja, das würde ich mal so sagen, das kann nicht jede Datenbank hat einen JSON Datentyp, ist auch nicht Teil vom SQL Standard oder irgend sowas heißt ist halt einfach ein Feature wo Post resql da richtig coolen Support hat. Das heißt, ich kann dann auch Currys Abfragen, schreiben nutzen, die auf die Inhalte dieser Jsons, wie du schon

sagst, zugreifen. Ja, richtig, bis zum Gewissen, bis zu gewissen Grenzen und so weiter aber genau das stimmt ja, wir können genau und es gibt sogar noch einen Typ. Jason B. Dann wird das Jason quasi noch mal binarisiert und noch mal optimierter gespeichert und so. Also es gibt da einfach sehr viel Support um diese und das ist wichtig, weil wir haben ja auch schon mal ne Folge gemacht, Jason ist halt einfach ein unglaublich wichtiges Austauschformat heute im Web. Ja, es ist.

Also für mich ist das einfach die Grundlage von von Datenaustausch. Und wenn ich natürlich n direkten JSON Support hab in der Datenbank ist halt unglaublich cool, ja. Und wir nutzen es auch und man kann es auch mixen. Ja, du kannst halt quasi auch n Urroul haben, wo du dann halt Datentypen machst, die Fest sind und dann hast du so n hast du so n für flexiblere Sachen hast du einfach n Jason, was du noch mit dran klebst.

Ja und dann bist du auf einmal hast du ne sehr mächtige Konstrukt gebaut wie du deine Daten halten kannst. Ja das zu Datenstrukturen, also da kann Post Quest also quasi im Prinzip alles bedienen was man so braucht. Ich würde mal ein Beispiel machen, vielleicht soll er dich dazu fragen. Ich hab.

Jetzt meine meine meinen Eintrag, meine Row in dem Fall meinetwegen jetzt also Kunden, ich rede jetzt über CRM, Customer Relationship management, ich habe da die Kunden und dann habe ich einen Header oder ein Feld, das heißt Notes, Notizen und das könnte ich als JSON deklarieren und dann kann ich in dem JSON als erstes sage ich mal dynamisch im Laufe der Nutzung dieser Anwendung Note 1, Note 2, Note 3, Note 4 et cetera anlegen, also jeweils als Key und dann in

value die jeweilige Notiz da reintippen so. Der eine Eintrag kann ja meinetwegen 3 Notizen haben. Der nächste Eintrag hat nur eine Notiz, der nächste hat vielleicht 50 oder sowas. Also sowas könnte ich ja damit eigentlich ganz gut abbilden dann. Das kannst du machen. Ja, das kannst du machen und die wird sofort schwindelig, weil man immer wieder dann drüber nachdenkt, ist das gut oder nicht, von der ja, das nennt sich also, das nennt sich Normalisierung.

Ja, es gibt, das ist auch mathematisch, also das Wort Normalisierung heißt quasi im Prinzip, ich guck mir meine ganzen Daten an und analysiere deren interne Abhängigkeiten und Versuche, und eigentlich also wenn man, wenn man Normalisierung ganz ernst nimmt und nicht über Jason nachdenkt, dann ist das eigentlich genau nicht, wie man es macht, was du sagst, die Notiz. En würde man nämlich normalerweise, wenn es eine normalisierte Datenbank ist, die

voll mit strukturierten Daten voll ist, dann würde man quasi ein Notizendabelle anlegen, wo du einfach die Notizen weißt. Du und jetzt Referenziere ist eine Relation, weil du hast gesagt, der Kunde der kann Notizen haben. So jetzt habe ich dann halt, dann habe ich halt eine runto many connection von den Notizen zu dem Kunden, also habe ich eben notiztabelle würde ich dann quasi eine Kunden id haben so. Und jetzt Gerrit. Jetzt merkst du schon, und das

ist halt. Die Kunst heute ja, die Kunst ist, wie designe ich meine Datenbank, wie designe ich meine Anwendungslogik? Weil ich halt diese Mittel habe zur Verfügung. Ja, mach ich es jetzt als Jason oder nicht? Ja, es kann auch manchmal vorteilhaft sein, die Datenbank nicht komplett mit Schema und strukturierten Daten aufzusetzen, nicht alles in 3000 tables aufzuteilen, weil, und das kannst du dir vorstellen.

Es führt zu Overhead. Ja, sowohl beim Einfügen, ja weil wenn ich wenn ich jetzt wenn du jetzt neuen Eintrag einfügen willst, dann musst du ja nicht nur in der Tabelle Kunden irgendwas einfügen, sondern auch in der Tabelle Notizen und so weiter und wenn du jetzt sag ich mal n großes Gewebe hast wo du 40 Tabellen irgendwie wo sich 40 Tabellen aufeinander beziehen um einen quasi logischen Datenpunkt abzubilden mit deren ganzen Abhängigkeiten, dann kann das

auch irgendwann langsam werden und man. Ist besser beraten, man packt dann so ein paar Sachen einfach in Jason rein, so wie du es gesagt hast, fette ich aus ja plus und das sage ich auch noch mal.

Wenn du jetzt was in eine neue Version führst, wenn du sagst, verflixt, wir brauchen jetzt hier noch nicht nur Notizen, sondern noch irgendwas anderes, dann fängst du ja an meiner Datenbank so eine Art schima Evolution, so heißt das fachworte du änderst dein Schema, weil du neue strukturierte Daten oder die strukturierten Daten ändern musst. Und das ist kompliziert, wenn deine Tabelle schon Daten drinne hat, dann brauchst du eine Migration, dann musst du quasi von dem einen Status in den

neuen. Standard, dass man Tabellen migriert, aber der Aufwand ist umso höher, desto mehr strukturierte Daten du hast. Wenn du unstrukturierte Daten hast, Cheat You Goal, dann sagst du halt OK.

In den Notizen kannst du jetzt noch das und das abspeichern und klatschtest halt mit in dein json rein, wie du es gesagt hast da. Da das richtige Mittel zu finden, da müssen wir halt die Software Architekten Fragen, ja das aber die Technologie bietet es dir halt ja die Datenbank, du kannst dir aussuchen ne. Doch wenn dein Fass aufgemacht. OK, Entschuldigung ja. Wurden ausgeschlagen. Na. Ja, alles klar, aber das sind ja genau die Insights, die halt spannend sind.

Ja, also. Es ist halt auch ja, und es ist für mich auch spannend jedes Mal.

Ja, es ist deswegen, es ist früher war es fast einfacher, ja, da konnten wir halt einfach nicht Jason abspeichern, da musstest du halt deine Notizen einfach normalisieren und dann war es ganz fertig, die gesagt Garrett, deine Notizendings da, das ist wieder ein Array in dem Rohr, sondern ist einfach eine notizentabelle und ist links da drauf, fertig ist der Lack, manchmal ist es ja auch eine Strafe, wenn man zu viele

Möglichkeiten hat. Ich wollte gerade sagen, wenn man weniger weiß, so wie ich, dann hat man auch nicht so viele Auswahlmöglichkeiten. Ja, genau. Das ist auch so. Ja, auch der. Softwareentwickler hat es manchmal gar nicht so einfach. Ja, weil er zu viel weiß. Man kann sich da nicht entscheiden. Dann lassen wir weitermachen. Wir. Machen mal weiter.

Wir sind jetzt fertig mit den Daten, mit den Datenstrukturen, ich komme zum nächsten Thema, Es war auslesen und schreiben, also möglichst schnell, jetzt gucken wir hier was macht Postquest beim Auslesen, was machen alle Datenbanken beim Auslesen so Punkt ja also wenn ich irgendwas finden will sagen wir mal wir haben da eine Excel Tabelle wieder ich bleibe jetzt mal bei den Studenten die hatten wir ja am Anfang ja und ich will jetzt einen bestimmten Studenten finden so wenn ich jetzt nichts

mache dann. Muss ich, dann muss der Computer auch wieder Mensch Reihe für Reihe angucken. Scrollst es durch, bist du halt was weiß ich Bob Marley oder irgendwas findest du ja in Reihe 1734 so bis dahin gescrollt und wenn er weiter hinten steht hast du halt Pech gehabt. Das ist natürlich nicht, was Datenbanken machen, sondern Datenbanken machen. Sogenannte Indizierung Indexing hat man vielleicht auch schon mal gehört. Ja, und was heißt Indexing heißt?

Ich nehme halt meine Einträge, die ich habe. Und jetzt sage ich zum Beispiel ein bestimmter Header, also eine Column in meinem in meiner Tabelle, die optimiere ich jetzt dazu, dass sie gesucht werden kann. Das wird immer auf dem Primary Key sowieso gemacht. Also der ne die die ID quasi der der Reihe.

Es kann aber zum Beispiel auch passieren und nicht ganz oft Frage, wenn ich zum Beispiel ganz oft nach dem nach dem First Name Suche und will halt alle sehen die den First Name Alice haben zum Beispiel ja da kann ich die Color First Name indizieren und indizieren heißt ich guck mir das quasi alles an und ich speichere eine zweite Datenstruktur hin und das ist das ist jetzt Computer Theorie das sind B Trees nennt man das oder auch Hashes und so weiter da gibt es verschiedene

Algorithmen und da. Quest übrigens auch. Deswegen postest du es cool. Postquest hat im Prinzip alle coolen Indexierungs Algorithmen implementiert, ja für alle möglichen Anwendungsfälle. Ja, manchmal will ich quasi direkt was finden, wo ich sage, ich will finden wo der Name gleich ist, ja oder wo irgendwas größer kleiner ist oder so ähnlich ist wie oder ich habe so eine fulltext Suche, das ist alles verschiedene Anforderungen an das gleiche Problem, ich will

schnell irgendwas finden. Und da hat Postquest sehr geile indexing Algorithmen und bietet das an. Indexing heißt immer, ich habe etwas mehr Memory Verbrauch, das ist die Backside, aber ich bin schneller beim Suchen also entweder bin ich langsam beim Suchen und habe fast keinen Brauch kein extra Memory oder ich speichere mir quasi zwischenstrukturen die mir das Suchen erleichtern damit ich schneller habe ich schneller gesucht und habe etwas mehr

Memory gebraucht das erinnert. Mich gerade so ein bisschen an irgendwelche. Suchmaschinen, zum Beispiel Google, die fangen ja auch nicht in dem Moment an, das Internet zu durchsuchen, wo ich dann meine Suchanfrage tippe, sondern dass es vorher schon die ganze Zeit, ich sag mal, gescrapt oder eingelesen, und ich springe dann an die richtige Stelle und und. Ganz genau. Geh bitte das raus, das ist

irgendwo zwischengespeichert. Das ist Ultra hart indexiert bei Google, denn die mal die antizipieren ja schon, was du noch nicht getippt hast und suchen damit schon auch los. Ja, gleichzeitig mit mehrfach und so weiter und sofort ja das ist Ultra krass. Ja genau. OK so. Das muss natürlich parallel passieren und so weiter und sofort ja, aber das verbirgt sich hinter dem Auslesen, da ist es also, das das was wichtigste

ist. Ist, da sind die indexing Algorithmen ja, also auslesen ist immer das einfachere Problem, das Informatischere ja weil wenn du liest manipulierst du ja nicht die Datenquelle ja das kannst du immer auch sehr schnell parallel machen, also da passiert nichts, lesen halt alle gleichzeitig shit egal. Aber wenn alle gleichzeitig schreiben hast du einen Riesenschmerzer schreiben ist ja so viel komplizierter als lesen. Immer in der Informatik und bei

Datenbanken halt auch. Ja so und jetzt und da ist glaube ich Post richtig richtig schnell ist und glaube 1 der besten also meiner Meinung nach besten Datenbanken System ist ist für das parallele ultraschnelle reinschreiben weil sich die Herren ich gehe da jetzt nicht in die Technik rein, aber die Herren haben sich Daten haben sich sehr viele Gedanken gemacht wie schaffe ich es wenn zig Anfragen zum Schreiben

gleichzeitig kommen. Und die schnell zu verarbeiten und sogar vielleicht, also in der gleichen Datenbank. Da gibt es ja verschiedene Tabellen. Ja, vielleicht kommt eine Anfrage, die schreibt in Tabelle students was rein und die andere Anfrage schreibt in die Tabelle usernay Users rein oder Mentors oder oder oder courses oder irgend sowas ja. Und die dann auch in Abhängigkeit voneinander sind. Vielleicht sogar das oder auch

nicht. Ja, und jedenfalls sortiert und du musst dich darum nicht kümmern. Postgre sortiert das für dich aus und das was parallel geschrieben werden kann, wird parallel gemacht, da wo ich kurz locken muss und aufpassen muss, dass ich da nichts ins Gefecht kommt und ich irgendwie so eine Art Race condition habe oder deadlocks ja, das kann auch passieren. Das ist unglaublich kompliziert, dass ich durch das eine Locken der andere festsitzt, der gerade eigentlich was machen muss.

Das entstehen Deadlocks und das ist alles gelöst. Es gibt Deadlock, Auflösungsalgorithmen und und und und und es ist alles furchtbar schnell und es wird nur minimal quasi die Datenbank für den minimalen Zeitpunkt und für den minimale Größe quasi gesperrt und gelockt, so dass ich Max mit maximaler Geschwindigkeit Daten rein Semmeln kann in meine Post Racer. Da sie glaube ich besser als viele andere Systeme so, und sie

nennen das selber mvcc. Multiversion concurrency Control glaub ich MVCC Multi Version bezieht sich dann quasi auf den Status, auf den Status der Datenbank, ne diesen also diesen Zustand. 1. Jetzt kommt n ne ne Einfügung, ja das ist dann quasi und danach es gibt ne neue Version der Datenbank, so sprechen die Datenbanken, also nicht Version von Postcrest, sondern eine Version vom Inhalt quasi ja Inhalt zur Version 10 und dann kommt ein Insert und dann ist

was anderes, dann ist quasi die Version 11 und Multi Version concurrency control heißt halt quasi ich hab halt hier parallele Inser. Dann entstehen parallele Versionen und so weiter und alles wird wieder zusammengeführt und zusammen zum Schluss bleibt da ein homogenes, kohärentes Bild und die Datenbank korrumpiert nicht innen drin. Ne, das haben Sie gut gelöst.

So Standard and open Source, da brauche ich glaube ich nicht Auswahl. Also wer Open BSD ist die Open Source Lizenz, also postgas ist Open Source kostet nichts, es gibt unglaublich viele. Software drumherum weil es Open Source ist. Wir haben Leute dazu beigetragen. Du kannst es im Docker starten, die Datenbank, es gibt Support dafür, du kannst sogenannte Object Relational Models dran ziehen, es gibt sprachunterstützung, es gibt Extrafunktionen, die später noch

hinzu kamen. Ich habe ja immer schon gesagt, dieses geographische suchen, Volltextsuche wurde später noch in Drangestückt, es gibt Tools, die können dir quasi eine gegebene Datenbank, das sind autoscantools, da wird dir quasi mitgeteilt, was ist da alles drin, welche Table, du kannst direkt weitermachen. Es gibt die Tools zum Verwalten, zum UI, mäßigen angucken. Was ist.

In meiner Datenbank sieht es aus PG Admin zum Beispiel ist ein krasses Tool, PG Admin 4 glaube ich sehr aktuelle Version. Das sind halt alles ja Vorteile, die dadurch zustande kommen, dass es erstens Open Source ist und nichts kostet, denn dann muss, sonst müsste ja jeder Entwickler erstmal hier Gebühr einzahlen, damit er was entwickeln kann. Muss ja testen ja und zweitens weil es durch krasser Standard

ist. Ja es QL Standard nach Papier, das heißt du kannst halt auch irgendwelche, du kannst halt einfach Post Quest nutzen, wenn du auch nur einfach SQL bedienst, kannst du sagen okay ist mir eigentlich egal was da für eine Datenbank ist. Post funktioniert auf jeden Fall, weil es halt auf jeden Fall den SQL Standard implementiert. Mega Mega, Mega wichtiger Punkt.

Ja, haben Sie sehr gut gelöst. Ja, das ist schon cool, das habe ich schon auch gar nicht bedacht, was da noch alles an Tools dann rundherum entsteht, die auch wieder aus der Community kommen und wieder für die Community freigegeben werden etc. Und die können ja nur aus der Community kommen, wenn es vorher quasi nichts gekostet hat, denn sonst kommen sie alle nur vom vom Enterprise Hersteller, der Datenbank von Oracle dann die haben natürlich auch ihre Tools,

aber die sind halt alle von Oracle, da entwickelt ja keiner nen Open Source datenbankmanagement Tool. Also gut vielleicht schon. Aber der, der, der müsste dann schon auch sehr leidenschaftsvoll sein, ne da dafür bezahlen Open Source Tools dann zu ja gibt es.

Alles weiß, da gibt es sicherlich auch Partnerschaften, dann bestimmt und so. Gibt es, gibt es alles, gibt es gibt nichts, was nicht gibt, aber ich sag mal so, also wenn es halt von vornherein open Source war, ist er halt einfach der das Portfolio der Auswahl größer, also riesig.

Ja, das ist schon okay, das ist ganz klar für uns der Weg, den wir gehen, ja. So und dann zu diesen Events und zu diesen inneren Logiken und so weiter da gibt es, das erzähle ich gar nicht so viel zu. Wir hatten ja auch gerade, glaube ich, ein Beispiel schon genannt, wo man es gebrauchen

kann. Anderes Beispiel ist Token Exploration zum Beispiel, das kann jeder sich vorstellen, da ist zum Beispiel so ein Session Token logs sich quasi eine Webseite und dann sagt man ja immer okay, das läuft halt irgendwie eine halbe Stunde und dann ist das quasi abgelaufen expired und dieses Experimente, das Ganze ist auch ein klassisches Ding was direkten Datenbank verhaften kannst. Du kannst sagen okay wenn das Token insert wurde, dann setzt du gleich mal einen u date ja 30 Minuten.

Zukunft muss das automatisch gelöscht werden? Ne dieses Token, ja das kannst du machen, ne und das kannst du machen mit einer Programmiersprache, die ist jetzt da gibt es mehrere, da gibt es Unterstützung glaub ich für für Pearl und was weiß ich aber es also es Postgress bietet so ne kleine Makro. Business Programmiersprache, in der du das ausdrücken kannst. Ja, und damit kannst du diese ganzen wichtigen anderen Events, Sachen, Triggers, kleine Businesslogiken und so weiter ausdrücken.

Ja, also auch prima gelöst. Kann man gut verstehen, liest man immer ne Doku und dann hat man das gemacht, ja. Und dann? Delta Analytics, hatte ich gesagt, ideale Datenbank. Bietet da auch da Features und auch hier Postcredit bietet ein sogenanntes Windowing mit allen möglichen statistischen Funktionen vor.

Hinterlegt, da kannst du einfach benutzen und kriegst halt super cool statistisch reduzierte Datensätze aus deinen großen Tabellen in Wahnsinnsgeschwindigkeit auch fertig, auch cool, also da fehlt auch an nichts, selbst wenn man jetzt, wenn der Anwendungsfall ist. Ich mache ein bisschen mehr Numerik, ein bisschen Data Science ist man bei Postwest jetzt auch nicht angeschmiert. Dann haben wir den Punkt auch schon durch. Ja, also die Sachen, die für Postcrash sprechen hast du mal

aufgezählt. Und ja, ich glaub zuletzt hattest du noch gesagt, wolltest du schon noch mal kurz n Überblick geben, was es dann eigentlich noch gibt da draußen? Was sind die Alternativen im Bereich SQL oder Secret oder

Alternative SQL-Datenbanksysteme

auch No secret? Ich weiß es Grad nicht. Was da noch war, also jetzt, die alte hat bei den Alternativen würde ich mich jetzt beschränken auf die auf die relationalen Kollegen, ansonsten gibt es einfach viel zu viele und es entstehen auch immer wieder neue und auch sehr gute Projekte und und und alle. Es ist auch gerechtfertigt.

Ja, es gibt zum Beispiel, ich sag's mal nur gerade aus Spaß, aber es gibt zum Beispiel diese Vector Datenbanken, dann stehe ich jetzt gerade ganz neue Sorte von Datenbanken, die halt einfach nur hoch optimiert sind für diesen Use Case KI und einfach diese Gewichte zu speichern, das ist ja aber auch klar, also postcaz hat ja nicht den Anspruch nur eine KI Datenbank zu sein, sondern genau den Anspruch was ich gesagt habe, eine ideale Datenbank mit all diesen.

Features eigentlich schon oder? Also schon sehr. Purple ja breit, breit, aber trotzdem in der Tiefe. Jedes einzelne Feature sehr gut und effizient realisiert. Ja, das ist halt der Punkt. Aber natürlich wenn deine wenn deine Voraussetzungen. Was ich mache? Eine Datenbank, die nur KI Gewichte speichern kann, sonst nichts können muss. Na ja, dass die dann in der Performance gewinnt ist wahrscheinlich ist.

Ist ja auch n unfairer vergleichbar ja, aber die hab ich jetzt mal kurz rausgelassen ne also wir wir vergleichen jetzt mal zu Datenbanken, also zu RDBMS wie man so schön sagt, Relational Database Management Systems, die also auch mal SQL Standard implementieren und so weiter also eine gewisse Breite auch darbieten wie jetzt Post Racer, denn sonst ist der Vergleich unfair. So und dann.

Ich gehe kurz durch, also das sind auch nicht so viele, nur die wichtigsten, bekannteste, vielleicht die 2 bekanntesten. Ich fange mit dem einen an, ist my Sequel, das ist so auch die Zeit, sag mal die Zeit der 90er 2000 er oder der Lambstack, also ganz viele erste Webseiten haben mit My Secret Datenbank Apache Server da da, da kommt dann mit My Secret arbeiten und so von Sun Micro Systems 2000 nee, nee, gar nicht.

Quatsch, was natürlich hier von 95 von My Secret ab gestartet und dann von Sun. Übernommen und ganz jetzt gehört es glaub ich zu Oracle seit 2010 ne Lizenz ist. Seitdem es zu Oracle gehört natürlich ne Commercial licence, aber es ist Dual lizenziert. Du kannst es auch unter der GPL Open Source Lizenz nehmen, GPL allerdings. Zwingt dich dazu, deinen eigenen, deinen eigenen Code, den du drumherum schreibst, auch zu öffnen.

Das hab ich mir gerade gedacht. Ja, das werden die ja kaum dann als Open Source erlauben und dann Kloß du das daraus zu machen. Genau. Und jetzt mal kurz die Unterschiede. Also My Secret ist auch einfach ein super System heutzutage, performt auch super, ist vielleicht sogar etwas besser, wenn man jetzt nur lesen will, also man. Harrt viel, schnell parallel auslesen will, was immer die Anwendung ist. Wenn du der Anwendungsfall ist.

Wenn du jetzt Webseiten bespielen willst mit Content einfach ganz viel rausspielen willst, ja und nicht so viel reinspielst ja. Genau dafür. Dafür gab es dann in im My Secret ganz am Anfang auch so Engines dahinter die eine Engine, die konnte gar keine Transaktionen verwalten, da musstest du heute aufpassen, dass du nicht durcheinander kamst, dass du quasi immer atomisch, quasi diese Inserts gemacht hast.

Ja, also nix hier mit Multi. Die Virgin Cunca Cancy Control später kam noch n anderes ne andere Engine inno DB hieß die die konnte das dann, das war aber nie so richtig cool designed von vornherein wie wie jetzt bei Postquest da auch der der die die die Standardimplementierung ist ist kompletter bei Post Quest als bei my Sequel ich muss das alles bitte mit Vorsicht, denn überall geht die Entwicklung weiter und so weiter und wir sind jetzt ja. Die Systeme sind alle schon

lange, lange nach langen Jahren angefangen und die sind alle sehr, sehr reif und sehr weit. Ja, also. Du hast doch mal gesagt, meine ich und das hab ich auch schon häufiger mal aufgefasst. Das ist auch ähnlich wie bei Programmiersprachen. Hab ich jetzt mal. Wenn irgendwas gut kannst und das ist völlig aus der Welt gefallen, ist so aus der Zeit gefallen, dann bleibt dabei ja.

Genau, ganz genau. Ja, ja, und man sieht auch, ich will auch und hier muss ich auch kurz vorsichtig sein, ich hab das auch mit KI hier mir ran geholt die Informationen weil es einfach wer nutzt das quasi also ich wollte euch mal erzählen. My Secret ist halt auch verbreitet. Ja, und ich hab gefunden, dass Facebook My Secret genutzt hat, initialy Build muchoffice Infrastructure using My secret steht hier ja, also Air BNB und github.

Ja, das sind jetzt auch keine kleinen Institutionen und so, die basieren auf auf auf My SGL kann man nehmen ja überhaupt gar kein Problem. Das zweite große Buttonbanksystem ist natürlich Oracle, also ich würde sagen, du hast selber gesagt, die haben auch glaube ich am allerersten gestartet, historisch gesehen 77 Larry. Allison hat das schon gestartet und ist einfach das.de facto. Das ist ein krasses Datenbanksystem, wenn du Geld

hast. Wenn du Geld hast, weil Oracle nichts hier Open Source ist, halt musst. Du ist für Enterprise Business ist gedacht, da schmeißt du Geld ein, hast du aber auch einen krassen Support und hast ein mega gutes Produkt da ist also performt überall genauso gut oder besser wie Postgress und kostet aber halt Geld, das ist ein großer Unterschied in meiner Liste fällt es da draus, weil ich finde. Ja, also ich würde halt Oracle alleine aus diesem Grund nicht einsetzen.

Amazon Nasa at also die amerikanische Telekom at t. Setzen auf Oracle da gibt es noch ganz viele andere als Beispiel. So, dann haben wir den Microsoft SQL Server, den kennen auch viele, die jetzt sehr viel im Windows System in der Windows Welt unterwegs sind, hier haben wir aber auch keine Open Source Lizenz, ist auch ein Commercial. Produkt ja, und für mich klarer Nachteil.

Das ist halt Microsoft SQL, das heißt es ist halt irgendwie krass auf den Windows Stack auf die Microsoft Technologie verhaftet. Ja ich bin ja von Hause aus ein Linux Manager und wenn man das halt nicht ist. Auch Superprodukt. Ja, ich hab auch hier n paar Beispiele Stack Overflow als wir mal dieses Nutzen go Daddy, JP Morgan und zig mehr ja noch mal so n paar rausgepickt. Und dann haben wir Maria DB, muss ich sagen, kenn ich auch.

Vom Namen hab ich noch nie genutzt, ist irgendwie der quasi, wenn ich es richtig verstanden hab der Open Source Teil von My secret geworden, nachdem Oracle hatte ich ja

gesagt My Secret übernommen hat. Haben sich da Entwickler abgespalten und quasi den Open Source Gedanken von My Secret weitergetragen und getauft in Maria DB auch GPR Lizenz, also Open Source. Und hat auch die waren ja auch nicht faul und haben sich hingelegt, sondern haben auch weitergemacht und haben viel Performance für vor allen Dingen für Datenanalyse noch hingeschrieben.

Hier Features like Column Store und so weiter müsst ihr selber nachlesen, kann ich nur auch sagen, habe ich noch nicht benutzt, wie gesagt kann dann auch für solche Anwendungsfälle cool sein, Wikipedia habe ich gefunden, nutzt angeblich Maria DB im Hintergrund die Deutsche Bank angeblich auch wie gesagt ohne Gewähr. Diese. Aussagen, aber ich glaube der spannende Fakt ist ja hier tatsächlich, dass es aus Mexiko hervorgegangen ist.

In dem Moment, wo das dann eben in Oracle aufgegangen ist. Insofern kann man auch relativ sicher sein, dass wenn man jetzt Anwendungen hatte, wo eine My Sequel Datenbank hinterstand eine Webseite, dass man die wahrscheinlich relativ easy in den Maria DB System umgetauft bekommt, dann habe ich als letztes eine, die ist ganz anders als alle, also die ist eigentlich nicht nur richtig nicht richtig vergleichbar, Sequel Light, SQL light geschrieben ist.

Eine Sequel Datenbank aber ganz anders irgendwie als alle anderen, weil weil sie. Alle ihre Daten, die Sie speichert, in ein einzelnes File reinspeichert da also die. Diese Datenbank wurde quasi gemacht um auf sowas wie ganz Hardware schwachen Geräten wie Embedded Devices und so weiter trotzdem. Daten zu halten ja die n gewissen Anspruch an Komplexität und Relationalität haben. Ja ist richtig cool, kann man mal wissen.

Ja Sequelight ist auch schnell installiert ja das das läuft halt immer dann wenn du ja wenn und man kann auch viele Instanzen von Sequelite haben, ja weil die braucht halt in sich kaum kaum Speicher, er ist total schlank. Benutzt halt dieses eine File wie gesagt als ganze Datenbank, das ist sonst nicht der Fall, so Post West. Datenbanken sind ja auch darauf aufgelegt irgendwie riesige

Enterprise Systeme zu bedienen. Ist secret mit Absicht nicht leicht, leicht und klein gehalten und findet. Man findet man viel auf so Edge Devices, also und zum Beispiel im Google Chrome. Angeblich. Ich habe es auch nicht im Code nachgelesen, aber angeblich zum Beispiel diese Browser Story ist und so weiter die jeder Entwickler der Frontend macht kennt basieren quasi auf Seculite würde auch Sinn machen. Die User Preferences and Browser history. Solche Dinge, genau da steht

wohl ein bisschen secret hinter. Ja, das waren jetzt mal die, die diese 5, die ich noch mal nennen wollte, also ich gehe sie noch mal durch, My secret, hatte ich gesagt, Oracle. Datenbanksystem Microsoft Secret Server und Maria DB als Nachfolger von Mysqal und am Secret. Mal so 5 rausgepickt. Es gibt viele, viele, viele mehr, aber in dem im Vergleich zu diesen 5 steht sich über

Postcrestian nichts nach. Ja und wie gesagt hat halt auch eine eine der schönsten Open Source Lizenzen und so Docker Support kann man also kann ich empfehlen wenn man wenn man jetzt einfach mal eine Datenbank braucht muss man nicht unbedingt ganz viel nachdenken, kann einfach zu Post West greifen, das wird schon funktionieren letzte Frage. Letzte Frage, wenn man zur Post greift, was heißt das? Das installiert man sich dann über. Als Entwickler weiß man das wie man das Macht oder?

Ja, ich hoffe. Also ich finde, wenn man heute in der Datenbank zu einer Datenbank greift, wie du sagst Gerät, dann greift man, dann greift man ins Docker. Also man geht auf eine Docker Registry, es gibt official Images für die Official Images, die sind quasi geprüft, nicht

von irgendjemandem. Von irgendeinem Entwickler opensource Beiträge alles was es dann quasi geprüfte offizielle Images Stocker Images für die Datenbanken ja so auch für Postgress, dann kriegst du das im Container im Docker Container, da läuft die Datenbank drin sauber in Capsulated die Daten wenn du das ordentlich machst. Speicherst du quasi persistierst du über nen Volume Mount, so nennt man das Dockerfolge gehabt.

Ja ist wunderbar und dann kannst du ne businesslogik Anklemmen in auch im besten Fall ist steht im Dockercontainer in der Sprache, in der Technologie deiner Wahl. Denn die Verbindung zu der Datenbank funktioniert über Web Requests. Ja, ist alles gelöst. Da gibt es zig Bibliotheken, muss man sich, kann man einfach, da hat man quasi nen Datenbank Klienten ne in der Technologie die du halt brauchst. Bei uns no JS. Ganz oft ja.

Und dann gibt es zig Klienten in Note TS, die mit Posts arbeiten und dann hab ich alle schön sauber verteilt, hab meine Datenbank da kann die updaten mit dem Container zur nächsten Version und so weiter und sofort ja. Wenn man n bisschen Docker kann, ist man in 10 Minuten soweit und hat ne Datenbank fertig. Ja, kann loslegen. Irgendwann muss ich es auch noch mal ausprobieren. Ja, kannst du mal machen. Ich zeig.

Es dir Grad zu machen, n bisschen juckt sie mich ja, je mehr wir sprechen, desto mehr juckt es mich, auch mal irgendwas ausprobieren, ne. Ja, aber gut, ja, Zeit muss gefunden werden. Gut. Apropos Zeit, Ich würde sagen, passt.

Wir haben über ne Stunde gemacht, war richtig cool und ja wir hoffen das erfüllt jetzt auch die Hörerfragen und Kommentare die es da gab dafür auf jeden Fall danke für diese für diesen Input und für dieses Piksen ja bitte hier und dazu noch mal was machen, das freut uns immer wenn da so ein Feedback kommt, also gerne weiter so. Ansonsten vielen Dank Burkhard. Ja, gerne hat Spaß gemacht heute. Ja, fand ich. Auch fand ich auch genau. Bis in 2 Wochen bei einfach komplex. Ciao ciao.

Tschüss aus Hamburg, einfach. Komplex wird präsentiert und produziert von heißem Ware. Wir freuen uns auf deine Fragen und deinfeedbackanpodcast@heiseweb.com vielen Dank fürs Hören dieser Folge bis Dienstag in 2 Wochen und Tschüss aus Hamburg.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android