Datenbank und Netzwerk ... Was? - Wie ? - Wo?

Hallo Leute,

ich brauch mal ein wenig Unterstützung, denn anscheinend sehe ich vor lauter Arbeit und Unterschiedlichesten Programmierungen den Wald vor lauter Bäumen nicht mehr.

Es geht um das leidige Thema Netzwerkdatenbank.

Meine alte Datenbank kann ich ja für mein neues Projekt aus vielerlei Gründen vergessen und es macht mir eh schwer zu schaffen, dass ich all die Mühe nun in die Tonne kloppen kann. Darum will ich beim Aufbau der neuen Datenbank 100% sicher gehen um mir derartiges zu ersparen.

Voraussetzungen:
Audiofiles und die Datenbank selbst sollen auf dem NAS-Server liegen, diese soll dann später über diverse Systeme pflegbar sein.
Einen dauerhaften Zugriff darauf soll selbstverständlich die Automation, also das 24/7 System haben, dann für den Anfang das LAN-Studio 01 und ein oder später zwei PCs zur Datenbankpflege. Möglicherweise sollen im weiteren Verlauf auch das ein oder andere Studio über das Internet daruf zugreifen können, sofern da dann auch die notwendigen technischen Voraussetzungen gegeben sind.

Für den Anfang würde ich aber gerne erst mal genau verstehen welche DB-Variante ich aus welchem Grund nutzen soll, denn das ist aktuell noch ein Buch mit sieben Siegeln für mich.

Im Moment vermute ich folgendes:
Auf dem späteren 24/7 System läuft Professional, mit dem eine SQL-Datenbank auf dem NAS angelegt wird. Zusätzlich muß dazu dann auch der mAirList DB-Server aktiv sein, damit alle anderen Editionen darauf zugreifen können. Doch kan ich und macht es Sinn die DB selbst auf dem NAS zu haben oder gibt es zwingende Gründe die DB selbst auf dem 24/7-System vor zu halten und welche DB-Variante soll ich einsetzen?

Ich bin echt verwirrt was das Thema betrifft.

Hallo Anna,

Zugegeben hat mich das am Anfang auch ein wenig verwirrt.
Was letzt endlich besser für den Multiuser Zugriff auf die Zentral Datenbank besser ist, kann ich dir leider nicht im Detail erklären da ich mich mit dem Thema SQL etc zu wenig aus kenne.

Grundlegender Gedanke ist, das alle sich im Netzwerk befindlichen Studios (auch übers Internet möglich) auf die Zentral Ausspielung (Ergo das Zentralstudio) zugreifen können.

In der Regel kann das der Hauptsendeplatz sein auf dem deine Professional läuft. Und im Hintergrund, auf dem selben Rechner, die mAirList Server Applikation die für den Datentransfer und die Benutzerverwaltung zuständig ist. Also nicht nur die Datenbank Verbindung zu den “externen” Studios bereit stellt, sondern auch dafür sorgt das die Audiodateien “on the fly” zu den externen mAirList Anwendungen gelangen.

Ob nun die Musik selbst auf dem Hauptsenderrechner intern liegt oder auf einem angebundenen NAS Laufwerk, spielt dabei eigentlich nur eine Nebenrolle. Denn diese wird stets durch die Professional Anwendung und dessen mAirList Server Anwendung auf dem übertragen.

Zur generellen Betriebssicherheit ist ein NAS Laufwerk natürlich ratsam, falls irgendwann mal was mit dem Zentralstudiorechner sein sollte.
Also immer Config Backups auf dem NAS machen.:wink:

Die Außenstudios selbst brauchen daher nicht zwingend die NAS Verbindung.

Ob die Zentral Ausspielung nun ein Hauptsendeplatz ist oder eine virtuelle Windows Maschine ist egal. Auch muss diese Virtuelle Maschine, die bspw mit mAirList in 24/7 läuft, nicht im heimischen Netzwerk sein. Diese kann auch auf einem Hoster im Internet sich befinden.
Aber das ist eher für Webradios interessant die fast nur aus Aussenstudios bestehen :blush:

1 Like

Dabei kommt es nun darauf an was alles in der alten Datenbank ist. Insofern es sich um Cuepunkte und Titelinformationen geht, so kannst du das gut als mmd. Datei exportieren.
Beim erneuten Importieren in die neue Datenbank, einfach vorher in der Konfiguration darauf achten das folgender Hacken aktiviert ist.

Insofern du in der alten Datenbank natürlich per Massenbearbeitung alle Dateien als MMD exportiert hast.
image
Damit lässt sich zumindest mal das wichtigste sichern.

Ob nun auch Virtuelle Ordner und spezial Einstellungen innerhalb der alten DB exportiert werden können, kann ich leider nicht beantworten.

Wieso kannst du die alte DB nicht weiter verwenden?

1 Like

Tom, ich möchte deine Hilfsbereitschaft ja nicht bremsen, aber nicht alles was du schreibst ist empfehlenswert (wenn auch nicht zwingend falsch, höchstens umständlich).
Vielleicht mal einen Schritt kürzer treten, vor allem, wenn…

:wink:

Nur mal so als “Erste Hilfe”: Datenbanken kann man klonen. :bulb:
Ist sogar ein ganz normaler Menüpunkt in der Datenbank.

Auf die anderen Fragen von Anna und einige Bemerkungen von Tom komme ich später zurück.

1 Like

Das ist soweit richtig.

Hier wird es knifflig. :wink:
Generell hast du recht.

Aber hierbei sollte unterschieden werden:

  • Zugriff aus dem eigenem LAN
  • Zugriff von extern

Warum ?
Der mAirList DB-Server stellt beim Zugriff eine Art „Flaschenhals“ dar.
Alle Anfragen an die Datenbank gehen eben über den mAirList DB-Server.
Die Musikdateien werden Transcodiert (also herunter gerechnet ) etc.

  1. Dauert das einige Millisekunden
  2. Ist damit kein paralleler Zugriff auf die Datenbank möglich

Ich möchte das nur kurz erwähnen, denn das schnellste LAN nützt dir hier nichts, wenn der Zugriff im LAN über den mAirList DB-Server erfolgt.

Von extern ist das durchaus vertretbar, im LAN jedoch nicht wirklich Praktikabel.

Das macht schon deshalb sinn, weil du durch eine vernünftige Backup Lösung oder ein Raid die notwendige Sicherheit hast.

Das hängt vom Geldbeutel ab.

Ich würde hier eine SQL-Datenbank (PostgreSQL, MySQL/MariaDB) bevorzugen.
Aber dann benötigst du innerhalb des LANs auch jeweils eine mAirlist Professional Version, von jedem anderen PC, auf dem Mairlist läuft.
Somit summieren sich die 1190 €
Anders bleibt nur als Datenbank die SQL-Lite Version zu nutzen.
Dann benötigst du aber auch keine Professional Version und es würde die Advanced Server reichen.
Zumindest solange du nicht eine der weiteren Features der Professional-Version benötigst.

1 Like

So, jetzt habe ich endlich Zeit, mal ein wenig aufzuräumen.

Wenn ein NAS als voll netzwerkfähige Datenbank ins Spiel kommt (PostgreSQL etc.), muss mAirList Professional Studio ran. Das erst mal als Basis.

Innerhalb des gleichen LAN kommt als Client nur mAirList Professional Studio in Frage (zweites Studio) oder die Professional Management (mit oder ohne VT, für Redaktions- und / oder Sprecherplätze).

Zugriffe von außerhalb erfolgen über den mAirListDB Server; eine Funktion, die mit der Professional Studio (und auch der Advanced Server) ausgeliefert wird. Dieses Zusatzprogramm wird separat gestartet und läuft parallel. Mit dem LAN-internen Zugriff (der grundsätzlich zu bevorzugen ist) hat das erstmal nichts zu tun; es ist die Option für Außenstudios (aka “Regionalstudios”).


Streichen, unsinnig!

Wo aber parke ich jetzt die mAirListDB (die eigentliche *.mldb-Datei)?
Tipp: Nicht auf dem NAS selber, sondern dem Ausspielrechner, der für die 24/7-Automation zuständig ist.
Dort läuft dann mit hoher Wahrscheinlichkeit auch der mAirListDB Server. :wink:


Hier geht’s weiter:

Wie das in der Praxis funktioniert, kannst du gerne mal bei den (super lieben!) Kollegen von @SFFehmarn anfragen, die haben so was am laufen: Hauptstudio rennt 24/7, Studio außerhalb mit Datenbank-Zugriff schaltet sich entsprechend auf etc. pp., kann die Sendungen aber schön vorplanen.

Viel Erfolg, Anna. :slightly_smiling_face:

1 Like

Welcher Vorteil ergibt sich daraus?
Im Falle einer Professional Version sollte dann auch auf dem 24/7 Ausspielrechner ein MySQL Server o.ä auf diesem installiert werden?

Wenn mit einer SQL-Lite Version, also einer *.mldb gearbeitet wird, geht doch der Geschwindigkeitsvorteil durch den MairlistDB Server eh flöten.

1 Like

Woher weißt du das?

Nur insofern man die Transcodierung auch im mAirList DB Server aktiviert hat. :wink:
Das macht insofern Sinn wenn diese auf einer Virtuellen Maschine irgendwo im Netz läuft, aber selbst hier bremst nur der eigene Anschluss Zuhause. Im LAN kann ich mir das noch weniger vorstellen.

Hängt natürlich auch davon ab ob ich ausslieslich MP3s oder Flacs in der DB hab :sweat_smile:

Haben seit etwa 2,5 Jahren genau das (Windows Server mit Pro) und mir sind noch nie Performance Einbußen aufgefallen. Selbst wenn wir von ner halben Sekunde sprechen, lädt mAirlist die Dateien ja lange genug vor bevor diese gespielt werden.

1 Like

Selbst probiert.
Ich habe dies hier so im Einsatz.
Im DBServer kannst du im Logging sehen, was dort passiert.

Natürlich. Aber das macht schon Sinn, für den externen Zugriff.
Aber für den Zugriff im LAN ist ein direkter Zugriff auf die Datenbank und die Audiodateien schneller.

Gerade wenn man mit Dateien wie flac o.ä arbeitet macht sich das extrem bemerkbar.

Und wie ich @Anna_On_Air verstanden habe, möchte sie nicht im Internet Hosten, sondern alles in ihrem Netzwerk.

Jaein, gerade das Arbeiten in großen Musikarchiven mittels MairlistDB (Suche etc.) kann über den MairlistDB-Server länger dauern.
Denn da wird nichts vorgeladen.

1 Like

Ich sollte Feierabend machen… :roll_eyes:
Gemeint war natürlich der Client zum Zugriff auf die SQL-Datenbank auf dem Server. Ich habe den entsprechenden Abschnitt angepasst. Sorry und danke!

Das hatte ich gemeint und war durcheinandergeraten.

Edit: Ich glaube, wir hatten mal jemand, der seine *.mldb auf dem NAS geparkt hatte und ich war kurz konfus.

Also meine *.mldb habe ich auch auf einem NAS geparkt. :wink:

1 Like

Ah, prima, danke.

Nun ja… um also die Informationen von der mAirList-Datenbank zu holen, greift das System auf das NAS zu und arbeitet dann auf einer Datei, die auf dem NAS liegt.
Klingt spontan ganz logisch, aber: Die Software, die das Element (und die Informationen, die in der *.mldb enthalten sind), sprich: mAirList, befindet sich auf deinem PC.

Informationsfluss:
mAirList-PC > mldb-Aufruf > NAS > mAirList-PC (Bearbeitung der Datenbank) > NAS (physischer Speicherort des Elements) > mAirList-PC (Speichern des geänderten Datenbank-Eintrags) > NAS (mldb) 

… habe ich was vergessen?

Ja, man kann es so machen, klar. Aber ich würde das in dem Fall nicht so machen, weil ich Teile dieses Datenverkehrs einfacherweise auf meinem PC behalten kann.

1 Like

Meine Überlegungen waren damals folgende:

Der PC, der die 24/7 automation abspiel, hat am Tag 48 Zugriffe auf die Datenbank.

  • zu jeder Stunde eine Playlist generieren
  • Diese Playlist zu laden.

Mehr passiert damit nicht.

Gleichzeitig gibt es noch 2 Rechner im gleichen LAN.
Und diese werden für Live Sendungen genutzt, bzw zur Musikplanung und oder zum bearbeiten des Musikarchiv es.

Für diese beiden Rechner ist es egal, ob die Datenbank nun auf einem NAS liegt oder auf dem 24/7 PC.
In jedem Falle muss eine Verbindung zu einem anderen System aufgebaut werden.

Daher habe ich mich für das NAS entschieden, da ich hier neben einem RAID auch ein zusätzliches Backup habe.
Beides spaare ich mir auf dem 24/7 PC und fahre bisher gut damit.

Unser 24/7 PC ist gleichzeitig auch die Tür für das externe Arbeiten. Deshalb läuft hier neben Mairlist auch der MAirListDB-Server.
Dieser 24/7 Rechner steht Baugleich und fertig konfiguriert als Ersatz im Schrank und lässt sich im Notfall binnen Minuten austauschen.

Betriebstechnisch würde ich die *mldb Datei zwar auf dem Hauptrechner belassen, sie jedoch mittels CronJob stündlich auf den NAS kopieren als Backup.

Fällt der Hauptrechner aus, kann ich diese schnell in ein anderes System einhängen und weiter fahren. Zur Not kann das auch mal schnell ein Laptop sein das nur auf den Encoder spielt.

Ob letztendlich für den Multiuser Zugriff eine PostgreSQL besser ist oder eine *mldb das auch tut kann ich nicht beantworten.
Das meinte ich mit:

Was natürlich nicht geht, und es schon nach Konflikten schreit wäre ein und die selbe *mldb auf einem NAS mit zwei verschiedenen Rechnern simultan zu verwenden.

Und genau hier liegt ist das Verständigungsproblem.

Unser 24/7 Rechner ist nicht der “Hauptrechner”.
Das ist einfach nur ein mini Pc mit möglichst wenig Stromaufnahme.
Das Ding passt in jede Handtasche :joy:

Wie macht Ihr das mit der IP-Adresse? Fest?

Jeder Titel, der gespielt wurde, bekommt in der *.mldb einen Eintrag als “last played”.
Soll heißen: Neben dem Zugriff auf das Audio-Element an sich erfolgt auch ein Zugriff auf die Datenbankdatei zwecks interner Protokollierung.

Es kommen also noch 24* [Elemente pro Stunde] Zugriffe auf die *.mldb hinzu - abgesehen von den eigentlichen Zugriffen auf die Audio-Elemente, die ja ohnehin bei jeder Element-Ausspielung geschehen, ganz unabhängig von der Datenbank selbst.

  • Innerhalb eines LAN mit Mehrplatzumgebung: PostgreSQL oder Verwandte mit mAirList Professional Studio.
    Ein NAS, das nicht nur als einfache lokale (!) Datenbank dienen soll, geht in diese Richtung (um mal wieder Richtung @Anna_On_Air zu blinzeln). Denn der Mehrfach-Zugriff wird von PostgreSQL einfach besser und konfliktfreier gemanaged.

  • Für das “typische” Webradio reicht SQLite (*.mldb) auf einem Server mit mAirList Advanced Server (ggf. “Home”, je nach Webradio).
    Damit kann ich allen Clients (den quer durch die Republik verteilten Heimstudios) über den enthaltenen mAirListDB Server Zugriff auf die Radiodatenbank gewähren; ein mehrfacher zeitgleicher Zugriff ist hier eher unwahrscheinlich. Und als Zuckerl obendrauf bekomme ich den Stream Monitor dazu, der die Übergänge von Automation zu Live-Stream und zurück perfekt regelt.

Per DHCP aber die wichtigsten Geräte bekommen immer die gleiche.
Einmal kurz in Betrieb genommen um das am Router festzulegen.

Geht das nicht über die MAC-Adresse? Anders gefragt: Mein Router meckert, wenn ich zwei verschiedenen MAC-Adressen dieselbe IP zuweisen will. (Man kann natürlich die MAC-Adresse manipulieren.)

Genau so.
Die beiden (Baugleichen) Rechner haben unterschiedliche IP Adressen.
Was in unserem Fall auch problemlos funktioniert weil es ja nur der 24/7 ausspiel Rechner ist.