Seite 1 von 2

Wie am besten große Datenmengen verwalten

Verfasst: 30.07.2008 16:17
von Morty
Hallo an alle, die gerade nicht in der Sonne liegen /:->

Letzte Woche kam man mit folgenden Problem auf mich zu:
Eine kleine Firma (10-20 Mitarbeiter) will ihre Daten die beim Arbeiten anfallen auf einem Server, der sich im Haus befindet, speichern.
Auf den Server soll jeder Lesezugriff haben, aber nur der entsprechende Nutzer schreibrechte.
Und jetzt der Knackpunkt: Am liebsten hätten die dort eine MySQL Datenbank wo alle Daten gespeichert sind und ein extra Programm von mir, um diese wieder anzuzeigen/auszulesen.

Ich meine, prinzipiell geht das schon. Nur wollte ich halt mal hier in der Runde diskutieren und schauen, ob da jemand schon Erfahrungen gesammelt hat? Ich meine wegen den großen Datenmengen (es sind wohl an die 600 GB). Das macht mir halt Kopfzerbrechen, nicht dass dann irgendwann was schief geht und deren gesammte Daten sind weg. Wäre blöd für mich.

Gruss, Morty

Verfasst: 30.07.2008 17:20
von Kaeru Gaman
> es sind wohl an die 600 GB
:shock: was für Daten verwalten die denn mit 10 Mann...
ist das die Zentrale der Illuminaten?


grundsätzlich solltest du die Möglichkeit zum Backup implementieren.
in der Firma wo ich in den 90ern war hatten wir eine AS400,
dort haben wir jeden Abend ein Backup der gesamten Datenbank auf Band gestreamed,
es waren drei Bänder im Haus, immer für die letzten drei Tage,
die lagen permanent im Feuerschutztresor.
(bis auf die Minuten in denen auf eines gesichert wurde)

Verfasst: 30.07.2008 17:33
von Morty
Hi Kaeru.

Ist ne Medienfirma. Machen viel Videos, Plakate und sowas. Da kommt schon einiges zusammen.

Der Tipp mit dem Backup kommt gleich in mein Ideenheft. Warum vergess ich sowas "simples" nur immer wieder ? *g*

Sorry, aber nochmal zurück zu meiner Grundfrage: Es macht einer MySQL Datenbank also nichts aus, wenn man da so riesige Daten bzw. Dateien reinschreibt? Irgendwie hab ich da noch Bauchschmerzen :(

Gruss, Morty

Verfasst: 30.07.2008 17:53
von Little John
Morty hat geschrieben:Sorry, aber nochmal zurück zu meiner Grundfrage: Es macht einer MySQL Datenbank also nichts aus, wenn man da so riesige Daten bzw. Dateien reinschreibt? Irgendwie hab ich da noch Bauchschmerzen :(
Das kann ich verstehen. Was steht denn diesbezüglich in der offiziellen Dokumentation?

Gruß, Little John

Verfasst: 30.07.2008 18:07
von Morty
Hmm, die offizielle Doku bremst mich wieder ein bissl aus, da steht nämlich folgendes:
MySQL supports BLOBs (Binary Large Objects), which means you can store any binary file into MySQL. Many people ask, what is the maximum size of a BLOB in MySQL.

The theoretical limit in MySQL 4.0 is 2G, however each blob requires generally to have 3 copies of it in the memory (stored in various buffers) so you need a lot of memory, if you have large BLOBs stored in MySQL. This is the reason, why the theoretical limit can be reached only on 64bit systems. The Practical limits are around some hundreds of megs per BLOB.
Ich meine, gesamt wird es eventuell egal sein, aber das Blob-Limit von ein paar hundert MegaByte ist schon nicht so toll.

Kennt jemand noch Alternativen?

Gruss, Morty

Verfasst: 30.07.2008 18:13
von Fluid Byte
Habe ich das richtig vestanden? Es sollen auch Videos und Bilder in der Datenbank gespeichert werden? Bei 600GB wäre das nämlich Overkill. Obwohl es zwar für MySQL kein Dateigrößenlimit gibt wird die Größe aber dennoch durch das Betriebssystem vorgegeben:

http://dev.mysql.com/doc/refman/6.0/en/full-table.html

Wie dem auch sei, aus meiner Erfahrung ist es eher unüblich auch Bilder und Videos in einer Datenbank zu speichern. Ich rede jetzt von kleinen 80x80 Avatarbildchen für die Datenbank eines Forums die man als Blob speichern kann. Bei uns zum Beispiel gibt zwei Backupserver, einen für die Datenbanken und einen für reguläre Daten wie Bilder, Videos, PDF's oder Kundenkorrespondenz. Sie sind mit ca. 800MB auch relativ groß wenn man bedenkt das sie ausschließlich Text enthalten.

Verfasst: 30.07.2008 18:47
von THEEX
Hmmm... ich bin jetzt nicht gerade der SQL-Kenner, aber wie speichert man Mediendateien in einer SQL-Datenbank? Die Datenbank ist doch normal nur zu Verwaltung der Medien vorhanden und nicht für deren Speicherung. Beim Verwalten dürften da kaum 600 Gig zusammen kommen.
Also normalerweise nimmt man dafür einfach Windows oder auch Linux. Schafft ein Laufwerk oder auch mehrere für die Daten an und unterteilt das in entsprechende Bereiche (Ordner). Über die Benutzer- (Gruppen) und Dateirechte kann man dann die Zugriffsrechte verwalten. Sowas ist doch im Endeffekt gemeint, oder hab ich das jetzt falsch verstanden? Für Backups gibt's dann Streamer und ähnliches.
Für laufende Projekt gibt's auch nochmal Software, ich glaub MS-Projekt, aber in unserer Firma wird ein günstigeres und auch mächtiges Programm genutzt, da müßte ich aber mal nachhaken, falls Interesse besteht.

Verfasst: 30.07.2008 21:50
von Daniel P.
Kaeru Gaman hat geschrieben:> es sind wohl an die 600 GB
:shock: was für Daten verwalten die denn mit 10 Mann...
Für eine Medienfirma ist das doch relativ wenig :freak:
THEEX hat geschrieben:ABSOLUT ZUSTIMM
Theex hat völlig recht. Die Daten bleiben im Dateisystem. Gespeichert werden lediglich Meta-Informationen der Daten (Datei-Größe, Speicherort, SHA1-Schlüssel, eventuell Informationen über Dateiinhalt -> Bild, Text, Binary?). Dein Programm macht dann nicht mehr, als diese Meta-Daten zu durchsuchen. Im Prinzip bastelst du dir eine kleine datenbank-basierende Desktop-Suche zusammen. BTW sollten niemals Binär-Daten (im Sinne von richtigen Dateien) in einer Datenbank abgelegt werden. Grund hierfür ist der angesprochene Overkill der Datebank sowie die Nicht-Verwendbarkeit der Daten, sobald die Datenbank mal ausfallen sollte. Von der Geschwindigkeit ganz zu schweigen...

Scheiße, bei uns gewittert es wie sau. In den letzten 20 Minuten ist der Strom locker 15x ausgefallen - die arme Fritz!Box (=Dauer-Reset). Ich versuche seit 21:00 Uhr diesen Beitrag loszuwerden. Zum Glück läuft mein Notebook mit Akkumulator. Alleine in der Zeit, in der ich diese kleine Beschwerde schreibe, hat's den Strom weitere 4x (korriegiere, nun zum 5.) rausgehauen. Jetzt fängt es auch noch an zu hageln (hat mittlerweile wieder aufgehört)...

21:38 - versuche immer noch diesen Beitrag loszuwerden
21:40 - Strom und Fritz!Box sind wieder da, aber kein DSL
21:41 - nächster Post-Versuch, gescheitert, DSL wieder weg
21:42 - DSL wieder da, nächster Post-Versuch, DSL wieder weg
21:45 - DSL kurz da, Stromg weg, WLAN tot - Neustart der Fritz!Box
21:47 - Fritz!Box und WLAN wieder da, DSL auch, nächster Post-Versuch
21:49 - HURRA!!!


/:->

Verfasst: 30.07.2008 22:29
von PMTheQuick
THEEX hat geschrieben:Hmmm... ich bin jetzt nicht gerade der SQL-Kenner, aber wie speichert man Mediendateien in einer SQL-Datenbank? Die Datenbank ist doch normal nur zu Verwaltung der Medien vorhanden und nicht für deren Speicherung. Beim Verwalten dürften da kaum 600 Gig zusammen kommen.
Also normalerweise nimmt man dafür einfach Windows oder auch Linux. Schafft ein Laufwerk oder auch mehrere für die Daten an und unterteilt das in entsprechende Bereiche (Ordner). Über die Benutzer- (Gruppen) und Dateirechte kann man dann die Zugriffsrechte verwalten. Sowas ist doch im Endeffekt gemeint, oder hab ich das jetzt falsch verstanden? Für Backups gibt's dann Streamer und ähnliches.
Für laufende Projekt gibt's auch nochmal Software, ich glaub MS-Projekt, aber in unserer Firma wird ein günstigeres und auch mächtiges Programm genutzt, da müßte ich aber mal nachhaken, falls Interesse besteht.
Ebenfalls voll zustimm. Habt ihr ne Ahnung, wie lahm das wird? Omg, da wird die DB seeehr langsam sein... Also weg mit solchem. Avatare ok, aber Filme und so? Oh Gott. Das is ja wie: Hey, meine 278GB Sammlung hab ich ins Inet hochgeladen, obwohl ich nur 50kb/s down habe... Wieso nicht auf der HDD is dann die Frage? (Ja, der Vergleich ist etwas :freak: ) Macht es doch auf den Server, was spricht dagegen? Vorallem bei so grossen Daten, nen Backup kann dann dauern... Und phpMyAdmin wrid nicht mehr sooo gebrauchbar sein :-D

Gruss
PMTheQuick ;)

EDIT: z.B. statt ner DDoS gäbe es auch die Möglichkeit, mit 10-12k Rechnern ständig nen Forum aufzurufen... Sogar einiges weniger reicht - und MySQL kackt ab. MySQL is für Text-Daten & kleine Dateien (KLEINE) aber keine virtuelle Festplatte!

Verfasst: 30.07.2008 22:58
von Xaby
600 GB Datenbank wäre was für Oracle, ist aber kostenintensiv.

ich habe viel mit Bildern zu tun und hatte auch oft überlegt, meine Bilder in einer Datenbank zu verpacken.

Hab mich aber entschieden, einfach nur die Metadaten, so wie die Kontaktdaten zu den Bildern abzulegen.

Die Frage ist doch, wie viel sich von den 600 GB wirklich ändert am Tag und wie viel man dann sichern muss.

Bei 600 GB empfehle ich ein RAID 5 mit 4 Festplatten, von mir aus je 1TB.
Dann habt ihr 3 TB für Daten.

Die Datenbank selbst braucht doch nur zu speichern, in welchen Ordnern welche Daten liegen und welche Veränderungen wann vorgenommen wurden.

CVS wäre hier angebracht.

Selbst bei vielen kleinen Mediendaten ist die eigentliche Datenbank dann maximal 2 GB groß oder so.

Ähnlich wird es bei Google-Desktop-Search, Picasa oder anderen Dokumente-Verwaltungsprogrammen gehandhabt.

/:->