Für welche Datenbank würdet ihr euch entscheiden?



  • Das klingt für mich nicht sehr sinnvoll. Wenn Du Samba brauchst, dann nimm Samba, kein RDBMS.



  • [quote=\"nman\"]Das klingt für mich nicht sehr sinnvoll. Wenn Du Samba brauchst, dann nimm Samba, kein RDBMS.[/quote]

    ich vestehe deine aussage nicht.
    wenn ich alles in der datenbank speichere, brauche ich solche sachen wie samba nicht. ich kann mich ganz allein auf den datenbankzugriff konzentrieren.

    weitere vorteile: man muss immer nur ein backup von der datenbank machen und nicht noch extra vom fileserver. man braucht die rechtevergabe nicht in der software realisieren, sondern kann sich auf die rechtevergabe der datenbank verlassen.



  • Sogar MS geht nun dazu über in SQL Server 2008 die BLOB in Dateien abzulegen.
    Das Verwaltet dann aber MSSQL selbst.
    Scheint also für das Tempo keine gute Idee zu sein.
    Bei kleinen Datenbanken macht dies sicher nicht aber bei uns hat sowas schon mal 40 GB und mehr mit mehreren Millionen Datensätzen.
    Das muss man dann auch mal konsistent sichern und dauert ewig.



  • Unix-Tom schrieb:

    Bei kleinen Datenbanken macht dies sicher nicht aber bei uns hat sowas schon mal 40 GB und mehr mit mehreren Millionen Datensätzen.

    Ist der gesamte Dump so groß, oder die jeweiligen Dateien?

    Unix-Tom schrieb:

    Das muss man dann auch mal konsistent sichern und dauert ewig.

    Konsistent sichern ist doch nicht das Problem. Entweder man hält das DBMS an, dann geht der Dump sehr schnell, oder man läßt das DBMS weiter laufen, dann dauert der Dump etwas länger. Konsistent ist er so oder so. Wie schnell man einen Dump erstellen kann hängt maßgeblich vom Rechner ab. Sicherlich gibt es bei dem letztem Punkt viele Sachzwänge.



  • wieso glaubst du das ein Dump einer Tabelle mit 40 GB an BLOB-Daten schnell gehen soll?
    Wie Du sicher weißt wird bei der Sicherung jede Tabelle alleine gesichert.
    Was aber wenn es ref, Trigger und ähnliches gibt.
    Die Sicherung hält sich mit dem Sichern von Daten auf die auch im Dateisystem stehen könnten.
    Es soll auch RDBMS geben die man im laufenden Betrieb sichern muss! 😉
    Ist aber bei uns egal da es sowieso Spiegelserver sind.



  • Unix-Tom schrieb:

    wieso glaubst du das ein Dump einer Tabelle mit 40 GB an BLOB-Daten schnell gehen soll?

    Warum sollte er lange dauern? Ohne nähere Angabe, was für ein Rechner und welches DBMS es ist, ist das ziemlich sinnlos über den Zeitbedarf zu reden. Auf einem BigIron ist der Zeitbedarf nicht mal erwähnenswert, und eine kleine Maschine hyperventiliert, um die Daten zu kopieren.

    Die Sicherung hält sich mit dem Sichern von Daten auf die auch im Dateisystem stehen könnten.

    Ein Dump läßt sich anpassen. Ich sehe da beim besten Willen kein Problem.

    Es soll auch RDBMS geben die man im laufenden Betrieb sichern muss! 😉

    Ja und? Ich sehe immer noch kein Argument, was es rechtfertigen würde wichtige Dateien statt im einem BLOB in einer externen Datei abzulegen. Wenn man BLOBs als Dateiablage benutzt, dann benötigt man meist in der Datenbank zusätzliche Informationen über diese Dateien die man bei einer Verknüpfung über einen Dateinamen nicht so gut ablegen kann. Warum soll ich mir eine Fehlermöglichkeit einhandeln, weil ich DB und Dateien getrennt ablegen?

    Ist aber bei uns egal da es sowieso Spiegelserver sind.

    Ein Spiegelserver ersetzt kein Backup.



  • also irgendwie hab ich noch kein argument gefunden, was nicht wiederlegt wurde, warum man seine dateien nicht in der datenbank speichern soll.



  • hier nochmal die vorteile, dir mir spontan einfallen:

    - man muss nur die datenbank sichern und nicht zusätzlich noch seinen fileserver
    - man braucht die berechtigung auf die dateien nicht in der software zu implementieren, sondern kann sich auf die datenbank verlassen
    - man ist unabhängig vom betriebssystem bzw. dateisystem. man kann die datenbank auf linux installieren und muss die ganze samba-sache nicht einrichten, wenn man auf seine dateien zugreifen will
    - dateien sind immer konsistent



  • hm.... ihr habt mich ins Grübeln gebracht...
    Ich hab bsiher Dateien separat von der DB gespeichert... die Vorteile, die ich darin sehe sind folgende: (ihr könnt sie gerne entkräften)

    - Auf die Dateien kann auch ohne DB zugegriffen werden (z. B. Up- und Download von Galeriebildern)
    - Entlastung der DB
    - zu faul zum nachdenken grad 🙄

    und entscheidet sich die Eignung, die Datei in der DB statt im FS abzulegen nur anhand der Dateigröße (KB/MB-Bereich), oder gilt es da auch andere Faktoren zu beachten (Häufigkeit der Änderung, Lastenausgleich, etc)



  • - Auf die Dateien kann auch ohne DB zugegriffen werden (z. B. Up- und Download von Galeriebildern)

    hey,

    das kommt natürlich drauf an, was du vor hast. wenn du daten schützen möchtest, sollten sie besser in die DB. wenn sie in der DB liegen, brauchst du immer ein tool um sie aus der DB wieder rauszukriegen. du kannst von einem endbenutzer erwarten, dass er SQL kann.



  • hi ich bin neu in Datenbank programmierung. Jedoch möchte ich einfach ein bisschen mit einer datenbank programmieren. Ich möchte sie benutzen um zu einem nutzer verschiedene informationen abspeichern zu können. ich weiss nicht wie viel man für ien datenbank braucht. was für eine datenbank würde4t ihr mir empfehlen? ich möchte keinen ganzen server installieren.





  • also ich würde mich dann für SQLite entscheiden. was brauche ich dafür um eine Datenbank mit C++ zu erstellen und auf die ich dann auch mit dem Programm zugreifen kann?



  • Es gibt da verschiedene Ansätze. Mach dich mal schlau zum Thema ODBC oder ADO. Mit ODBC und MFC kannst du relativ schnell kleine Datenbank Anwendungen entwickeln



  • Ich würde da eher sowas wie http://soci.sourceforge.net/ empfehlen. Ist natürlich Geschmackssache, aber SOCI hat auf jeden Fall seinen Reiz.

    Evtl. kann man auch http://dtemplatelib.sourceforge.net/ ins Auge fassen, weiß aber nicht ob da noch aktiv daran entwickelt wird.



  • tweenki schrieb:

    also ich würde mich dann für SQLite entscheiden. was brauche ich dafür um eine Datenbank mit C++ zu erstellen und auf die ich dann auch mit dem Programm zugreifen kann?

    --> http://www.sqlite.org/c3ref/intro.html
    🙂


Anmelden zum Antworten