Frage: Für die Coding Challenge ... Da ich an dem besagten Wochenende nicht Teilnehmen kann (andere Termine), gibts die Challenges für später irgendwo zum abruf?
Warum lässt man sowas nicht über ne Cloud laufen? Das erwähnte Problem sollte über ne Multi-Region Verteilung der Datenbank doch auch gelöst sein oder?
Sehr interessant. Fazit für mich, ich bleibe bei PostgreSQL. Warum? Weil ich seit über einem Jahr damit arbeite. Warum wurde es PostgreSQL? Mein Chef hat gesagt, nimm das Mal. 😁 Vorher habe ich nie wirklich DBs gearbeitet.
@@eMgotcha77 Ich weiß das auch nicht. Habe bis jetzt lediglich PostgreSQL auf 2-3 Servern installiert und speichere dort Messdaten (Gamma-Dosisleistung) in einfachen Tabellen. Alles noch mehr oder weniger experimentell. Eigentlich wollen wir von unserer Altlast Ingres weg.
ich hatte vor vielen Jahren schlechte Erfahrungen mit MySQL gemacht. Postgres fand ich intuitiver. Beruflich werde ich aber zu Oracle gezwungen, weil unsere Kunden das so wollen.
@@dralger Wir haben davon 140 Stück am laufen ... und eizelne Abteilungen haben noch ein paar Postgres-Datenbanken, die aber nicht von unserer DB-Abteilung betreut werden
Eine Frage zu Triggern und Procedures in DBs allgemein: eine Datenbank kann schnell mal zum Flaschenhals werden. DBs sind auch 'schwieriger' zu skalieren, als z.B. Web-Server oder Caching-Server. Warum erzeuge ich dann mehr Last durch Trigger bzw. Procedures? Das habe ich nie so richtig verstanden... Ja es gibt Situationen wo es nicht anderst funktioniert aber davon bekomme ich immer etwas Bauchweh :)
Wenn du parallel auf Tabellen bzw Rows zugreifst / modifizierst, verwendest du sogenannte Transactions um Race Conditions etc. zu verhindern. Diese Transactions lösen intern Locks aus, was dazu führt, dass andere Transactions eventuell warten müssen. Wenn du also Prozeduren in deiner App lokal ausführst, kommt auf diese Wartezeit immer der Network Delay mit drauf. Das führt dazu, dass erheblich weniger Zugriffe / Modifikationen auf deine Tabelle möglich sind. Beim Skalieren wird das natürlich umso problematischer. Achso und um mit Triggern / Prozeduren / Functions etc. die Datenbank zum Flaschenhals werden zu lassen, musst du schon echt komplexe Sachen bauen.
Warum verwendet man nicht New-SQL Datenbaken wie z.B. Yugabyte, welche den kompletten PostgreSQL Dialekt + Geo Replication unterstützen? Viel weniger Aufwand durch Migration von Apps + besserer cloud native support (Helm Chart + K8s Operator) und effizientere Storage Layer (mehr Ops/Sec). Verwende bei dem Unternehmen, in welchem ich arbeite Yugabyte in Production und habe bisher sehr wenig Probleme gehabt. Vor allem horizontale Skalierbarkeit ist sehr nice. Die Entscheidung zwischen CockroachDB am Anfang war jedoch relativ schwierig
Ich arbeite im RZ von einer Bank - wir haben 140 Datenbanken laufen wo ständig Backups laufen .. Wenn man sich die Vorgaben der BAFIN anschaut wird einem schlecht ....
Wäre da nicht vielleicht eine Cluster Datenbank sinnvoller gewesen wie CockroachDB oder Yugabyte DB? Ich weis das Master-Master in Postgres nicht so gut funktioniert. Da ist das in MySQL/MariaDB mit Galera schon deutlich besser gelöst. Kann es schon nachvollziehen aber mein innerer Monk sagt mir das da eine Clusterdatenbank besser wäre.
Die Bank meinte ja es könnte sein dass es mit Postgres auch irgendwie geht. Aber mit MySQL haben sie Erfahrung. Wahrscheinlich wäre Cockroach oder Yugabyte für die Bank auch etwas Neues. Ich frage mich eher warum sie mit Postgres angefangen haben wenn sie doch schon viel MySQL benutzen. Außerdem gibt es die beiden Datenbanken noch nicht so lange. Steuerungen für Atomkraftwerke werden auch in C geschrieben und nicht in Rust weil sich das noch 20 Jahre oder so bewähren muss. Banken sind oft sehr konservativ. Clusterdatenbanken können ja auch besonders gut skalieren. Es könnte sein dass eine Bank nicht so viel skalieren muss - denn Geld ist am Ende nur ein Integer.
@@axelneumann8443 Danke für deinen interressanten Kommentar. Kann natürlich sein das die Bank dann lieber auf altbewährtes setzt. Aber ich dachte mir halt, wenn sie eh schon die datenbank umstellen wäre es vielleicht sinnvoll auf eine db zu wechseln perfekt für ihren anwendungsfall. Das banken sehr konservativ sind ist ja leider nichts neues. Der ansatz hat halt den Haken dass man eventuell bessere systeme auslässt weil noch noch nicht bewährt. Ich hab es in den Jahren mit denen ich jetzt mit den verschiedenen Datenbanken intensiv gearbeitet und auf verschiedenen systemen installiert habe bisher nie probleme mit cockroachdb gehabt. wenn sie einmal konnte ich sie so oft force shutdownen wie ich will hat immer funktioniert. das einzige manko sind postgresql und mysql imports die gehen nicht immer. aber postgresql und mysql installationen hab ich schon so oft zerschossen das ich sie gar nicht mehr zählen kann XD. Ich denke die bank wollte ja vor allem eine georedundanz hinbekommen und genau dafür sind ja clusterdatenbanken da 😊
Also Master-Master hat eigentlich schon 'immer' ohne 3rd Party Software funktioniert. Seit 5.7 gibt es auch mit Group-Replication und GTID die Möglichkeit grössere Cluster mit Multi-Primary aufzusetzen. Du kannst mehrere Replication-Channels haben, über getrennte Netzwerke, d.h. du kannst die redundant Anbindung eines Datencenters ausnutzen usw.
Wie unterscheidet sich V von Go? - Compile und Build Größe und Zeit -> Also gerade für kleine Embeded IoT Geräte vielleicht interessant. Die Frage ist wie bei vielen ab wann ist die Unterstützung groß genug -> Beispiel Julia hat das Potential R und eventuell auch Python im Datascience Bereich abzulösen. -> Wo sind also die Anwendungsgebiete für V?
Ich habe mich vor einigen Jahren für PostgreSql entschieden, weil hier die Datenbank automatisch auf Files von max. 1GB aufgeteilt werden und (zumindest damals) das mit MySQL nur machbar war, wenn man das per Hand macht. Trigger verwende ich zB dafür, um automatisch ein ein Erstellungsdatum (erstes Insert) und letzes Änderungsdatum einzufügen.
Ich suche nach einem DBMS um sowhl Audiodatein, als auch Dokumente (v. a. PDF) zu speichern (zusätzlich zu üblichen Daten in Form von Strings und floats). Was würde man für soetwas nehmen? Danke!
Ich habe bisher 2 Varianten gesehen: 1. In der Datenbank nur Pfade, Dateien in einem Dateisystem 2. Dateien als Large Object Datentyp in der Datenbank Beides sollte mit allen gängigen relationalen DBs gehen.
Wenn euch flexibles Arbeiten, Home Office, sehr gute Bezahlung und ein Top Notch Tech Stack wichtig sind, dann würde ich an eurer Stelle nicht bei Check24 arbeiten. Wenn ihr allerdings gern ins Büro kommt und euch selbst vielleicht garnicht so als Rockstar Developer seht, dann ist Check vermutlich keine schlechte Wahl.
Heisst das nicht aber auch das Sie keine Lust haben Entwickler zu bezahlen damit diese die Funktionalität in PostgreSQL entwickeln und testen? Stattdessen nehmen sie das was ANDERE vorher schon entwickelt haben. Klingt für mich eher nach Missbrauch der OpenSource-community.
Quereinsteiger sind ja auch billiger als Entwickler mit Studium und wer will schon nach Frankfurt? :D MS SQL ist nur so weit oben weil es von vielen geschäftlichen Softwarelösungen voraus gesetzt wird, die komplett im MS Umfeld laufen und das sind nicht gerade wenige. Da muss man ja nur mal an die ganzen Steuerberater- und Rechtsanwaltslösungen denken. Viele Finanzdienstleistunslösungen laufen auch nur auf MS SQL. Aber er lässt sich gut managen. Warum Java mit MySQL Probleme haben soll entzieht sich mir komplett. Es gibt einen guten Connector. Das Einzige was man dabei beachten muss ist die richtige JDBC URL zu verwenden, die eine etwa komische Syntax hat. Alle Datenbanksysteme nehmen sich nicht viel, aber Postgres lässt nur eine Multimaster-Replikation zu. Ob Master-Master in vielen Fällen sinnvoll ist sei mal dahin gestellt. Gerade bei langen Signalwegen kann es da zu wirklichen Problemen kommen. Aber Check24 wird schon wissen was sie da tun .)
Das liegt daran dass Oracle für ihr DBMS auch echt guten Enterprise-Support bietet und selbst in Deutschland viel Rücken von Datenbank-Unternehmen bekommt, weil es ein lukratives Lizenzierungsmodell bietet.
Vielen Dank für deine tollen Tutorials!
Ich war eine Weile raus in Sachen IT und du hast mir den Wiedereinstieg deutlich erleichtert.
Herzlichen Glückwunsch zu den 200.000 abos!
hast es echt verdient :)
Da ist ja das SQL Video, kann mich zwischen den DB Engines selbst nie entscheiden XD Danke für deine Arbeit!
Access bahnt sich den Weg zum Standard? 🤔
Also das würde ich stark bezweiflen. Access kann man nichtmal Feature-mäßig mit den anderen vergleichen
Allein, dass die Datenbank keine 2GB überschreiten kann, macht Access zu einem NoGo.
Freut mich dass du so coole Partnerschaften bekommst :)
Glückwunsch zu 200k Abos
Danke 🥳
Wenn du zufällig über die anderen Datenbanken was sagst magst du influxDB, also zeitbasierte Datenbanken mit berücksichtigen?
Nice, genau zur richtigen Zeit, die Frage stellte ich mir auch
bitte mehr über Datenbanken und diesem Themenbereich! Gerne auch zu NoSQL ;)
Frage: Für die Coding Challenge ... Da ich an dem besagten Wochenende nicht Teilnehmen kann (andere Termine), gibts die Challenges für später irgendwo zum abruf?
Ja, die bleiben in unserem coding Challenge interface, geben aber halt keine Punkte mehr
Warum lässt man sowas nicht über ne Cloud laufen? Das erwähnte Problem sollte über ne Multi-Region Verteilung der Datenbank doch auch gelöst sein oder?
Sehr interessant. Fazit für mich, ich bleibe bei PostgreSQL.
Warum? Weil ich seit über einem Jahr damit arbeite.
Warum wurde es PostgreSQL?
Mein Chef hat gesagt, nimm das Mal. 😁
Vorher habe ich nie wirklich DBs gearbeitet.
Ich hatte auch mit PostgreSQL zu tun, aber war nie bei einem Update dabei. Wie funktioniert das im laufenden Betrieb?
@@eMgotcha77 Ich weiß das auch nicht. Habe bis jetzt lediglich PostgreSQL auf 2-3 Servern installiert und speichere dort Messdaten (Gamma-Dosisleistung) in einfachen Tabellen.
Alles noch mehr oder weniger experimentell. Eigentlich wollen wir von unserer Altlast Ingres weg.
ich hatte vor vielen Jahren schlechte Erfahrungen mit MySQL gemacht. Postgres fand ich intuitiver. Beruflich werde ich aber zu Oracle gezwungen, weil unsere Kunden das so wollen.
@@eMgotcha77 Sei froh ... Ein Datenbank-Update kann einem um die Ohren fliegen ... letztens erst erlebt
@@dralger Wir haben davon 140 Stück am laufen ... und eizelne Abteilungen haben noch ein paar Postgres-Datenbanken, die aber nicht von unserer DB-Abteilung betreut werden
Eine Frage zu Triggern und Procedures in DBs allgemein: eine Datenbank kann schnell mal zum Flaschenhals werden.
DBs sind auch 'schwieriger' zu skalieren, als z.B. Web-Server oder Caching-Server.
Warum erzeuge ich dann mehr Last durch Trigger bzw. Procedures?
Das habe ich nie so richtig verstanden...
Ja es gibt Situationen wo es nicht anderst funktioniert aber davon bekomme ich immer etwas Bauchweh :)
Wenn du parallel auf Tabellen bzw Rows zugreifst / modifizierst, verwendest du sogenannte Transactions um Race Conditions etc. zu verhindern. Diese Transactions lösen intern Locks aus, was dazu führt, dass andere Transactions eventuell warten müssen. Wenn du also Prozeduren in deiner App lokal ausführst, kommt auf diese Wartezeit immer der Network Delay mit drauf. Das führt dazu, dass erheblich weniger Zugriffe / Modifikationen auf deine Tabelle möglich sind. Beim Skalieren wird das natürlich umso problematischer.
Achso und um mit Triggern / Prozeduren / Functions etc. die Datenbank zum Flaschenhals werden zu lassen, musst du schon echt komplexe Sachen bauen.
Warum verwendet man nicht New-SQL Datenbaken wie z.B. Yugabyte, welche den kompletten PostgreSQL Dialekt + Geo Replication unterstützen? Viel weniger Aufwand durch Migration von Apps + besserer cloud native support (Helm Chart + K8s Operator) und effizientere Storage Layer (mehr Ops/Sec). Verwende bei dem Unternehmen, in welchem ich arbeite Yugabyte in Production und habe bisher sehr wenig Probleme gehabt. Vor allem horizontale Skalierbarkeit ist sehr nice. Die Entscheidung zwischen CockroachDB am Anfang war jedoch relativ schwierig
Gutes Video. Woher hast Du das T-Shirt?
Ist mein Merch 😊
Ich arbeite im RZ von einer Bank - wir haben 140 Datenbanken laufen wo ständig Backups laufen .. Wenn man sich die Vorgaben der BAFIN anschaut wird einem schlecht ....
Wäre da nicht vielleicht eine Cluster Datenbank sinnvoller gewesen wie CockroachDB oder Yugabyte DB? Ich weis das Master-Master in Postgres nicht so gut funktioniert. Da ist das in MySQL/MariaDB mit Galera schon deutlich besser gelöst. Kann es schon nachvollziehen aber mein innerer Monk sagt mir das da eine Clusterdatenbank besser wäre.
Die Bank meinte ja es könnte sein dass es mit Postgres auch irgendwie geht. Aber mit MySQL haben sie Erfahrung. Wahrscheinlich wäre Cockroach oder Yugabyte für die Bank auch etwas Neues. Ich frage mich eher warum sie mit Postgres angefangen haben wenn sie doch schon viel MySQL benutzen.
Außerdem gibt es die beiden Datenbanken noch nicht so lange. Steuerungen für Atomkraftwerke werden auch in C geschrieben und nicht in Rust weil sich das noch 20 Jahre oder so bewähren muss. Banken sind oft sehr konservativ.
Clusterdatenbanken können ja auch besonders gut skalieren. Es könnte sein dass eine Bank nicht so viel skalieren muss - denn Geld ist am Ende nur ein Integer.
@@axelneumann8443 Danke für deinen interressanten Kommentar. Kann natürlich sein das die Bank dann lieber auf altbewährtes setzt. Aber ich dachte mir halt, wenn sie eh schon die datenbank umstellen wäre es vielleicht sinnvoll auf eine db zu wechseln perfekt für ihren anwendungsfall. Das banken sehr konservativ sind ist ja leider nichts neues. Der ansatz hat halt den Haken dass man eventuell bessere systeme auslässt weil noch noch nicht bewährt. Ich hab es in den Jahren mit denen ich jetzt mit den verschiedenen Datenbanken intensiv gearbeitet und auf verschiedenen systemen installiert habe bisher nie probleme mit cockroachdb gehabt. wenn sie einmal konnte ich sie so oft force shutdownen wie ich will hat immer funktioniert. das einzige manko sind postgresql und mysql imports die gehen nicht immer. aber postgresql und mysql installationen hab ich schon so oft zerschossen das ich sie gar nicht mehr zählen kann XD. Ich denke die bank wollte ja vor allem eine georedundanz hinbekommen und genau dafür sind ja clusterdatenbanken da 😊
Also Master-Master hat eigentlich schon 'immer' ohne 3rd Party Software funktioniert.
Seit 5.7 gibt es auch mit Group-Replication und GTID die Möglichkeit grössere Cluster mit Multi-Primary aufzusetzen.
Du kannst mehrere Replication-Channels haben, über getrennte Netzwerke, d.h. du kannst die redundant Anbindung eines Datencenters ausnutzen usw.
Magst du mal dir neue Programmiersprache V unter die Lupe nehmen?
Noch nie gehört, schau ich mir an, danke
Ich hoffe eher das aus golang noch was wird
Wie unterscheidet sich V von Go?
- Compile und Build Größe und Zeit -> Also gerade für kleine Embeded IoT Geräte vielleicht interessant. Die Frage ist wie bei vielen ab wann ist die Unterstützung groß genug -> Beispiel Julia hat das Potential R und eventuell auch Python im Datascience Bereich abzulösen. -> Wo sind also die Anwendungsgebiete für V?
interessant!
Ich habe mich vor einigen Jahren für PostgreSql entschieden, weil hier die Datenbank automatisch auf Files von max. 1GB aufgeteilt werden und (zumindest damals) das mit MySQL nur machbar war, wenn man das per Hand macht. Trigger verwende ich zB dafür, um automatisch ein ein Erstellungsdatum (erstes Insert) und letzes Änderungsdatum einzufügen.
Was hat das für einen Vorteil die Datenbank auf 1 GB zu limitieren?
Ich suche nach einem DBMS um sowhl Audiodatein, als auch Dokumente (v. a. PDF) zu speichern (zusätzlich zu üblichen Daten in Form von Strings und floats). Was würde man für soetwas nehmen?
Danke!
Ich habe bisher 2 Varianten gesehen:
1. In der Datenbank nur Pfade, Dateien in einem Dateisystem
2. Dateien als Large Object Datentyp in der Datenbank
Beides sollte mit allen gängigen relationalen DBs gehen.
Bei PostgreSQL finde ich die Trigger besser als die bei MySQL
Wenn euch flexibles Arbeiten, Home Office, sehr gute Bezahlung und ein Top Notch Tech Stack wichtig sind, dann würde ich an eurer Stelle nicht bei Check24 arbeiten.
Wenn ihr allerdings gern ins Büro kommt und euch selbst vielleicht garnicht so als Rockstar Developer seht, dann ist Check vermutlich keine schlechte Wahl.
Ok.. also wenn meine App nicht Atombombensicher sein muss, kann ich wohl Postgresql nutzen, gut zu wissen :D
ja gut für solch ein usecase wäre da doch EDB ganz sinnvoll.
Heisst das nicht aber auch das Sie keine Lust haben Entwickler zu bezahlen damit diese die Funktionalität in PostgreSQL entwickeln und testen? Stattdessen nehmen sie das was ANDERE vorher schon entwickelt haben. Klingt für mich eher nach Missbrauch der OpenSource-community.
Quereinsteiger sind ja auch billiger als Entwickler mit Studium und wer will schon nach Frankfurt? :D MS SQL ist nur so weit oben weil es von vielen geschäftlichen Softwarelösungen voraus gesetzt wird, die komplett im MS Umfeld laufen und das sind nicht gerade wenige. Da muss man ja nur mal an die ganzen Steuerberater- und Rechtsanwaltslösungen denken. Viele Finanzdienstleistunslösungen laufen auch nur auf MS SQL. Aber er lässt sich gut managen. Warum Java mit MySQL Probleme haben soll entzieht sich mir komplett. Es gibt einen guten Connector. Das Einzige was man dabei beachten muss ist die richtige JDBC URL zu verwenden, die eine etwa komische Syntax hat. Alle Datenbanksysteme nehmen sich nicht viel, aber Postgres lässt nur eine Multimaster-Replikation zu. Ob Master-Master in vielen Fällen sinnvoll ist sei mal dahin gestellt. Gerade bei langen Signalwegen kann es da zu wirklichen Problemen kommen. Aber Check24 wird schon wissen was sie da tun .)
Hey @TheMorpheusTutorials Könntest du mal eine reihe über MongoDB machen? Davon gibt es leider nicht viel xD
Oracle so weit vorne wtf?
Das liegt daran dass Oracle für ihr DBMS auch echt guten Enterprise-Support bietet und selbst in Deutschland viel Rücken von Datenbank-Unternehmen bekommt, weil es ein lukratives Lizenzierungsmodell bietet.
0xDEADBEEF HexDez-Shirt ;-)