Unterschied zwischen zwei Speicherarten(PAWN)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag Breadfish. Ich besitze eine Frage, die ich gerne beantwortet haben will.

    Und zwar schwimme ich immer zwischen MySQL und DINI. Jeder sagt, dass ich MySQL nehmen soll, jedoch verstehe ich nicht,

    womit ich mich bei DINI benachteilige. Es wäre sehr nett, wenn mir jemand erklären würde, warum ich statt DINI,

    MySQL nehmen sollte. Wenn es etwas mit der besseren Orientierung/Übersicht zutun hat, dann muss man sich bei mir

    um die Orientierung keine Gedanken machen. Falls es noch irgendwelche Gründe gibt, dann bitte ich sie mir hier zu definieren.






    Mit freundlichen Grüßen
    - Kristik47

  • Mysql funktioniert viel schneller als Dini und kannst es leichter mit dem UCP verknupfen.
    Ausserdem sparst du dir die Datein (txt Datein) bsp. bei den Accounts.
    Eine Abfrage bei Mysql dauert ca. ne Millisekunde


    - Vom Handy gesendet.

  • Guten Tag,


    ich werde dir mal meiner Meinung nach Vor und Nachteile auflisten für Dini und MySQL


    Wir fangen mit Dini an...


    Vorteile


    •leichte bedienung
    •Datein werden im Server Verzeichnis/scriptfiles gespeichert
    (Wenn ich was vergessen habe bitte sagen)


    Nachteile


    •dauert paar Millisekunden/Sekunden länger
    •ist nicht so schnell abrufbar
    (auch hier bitte sagen wenn was falsch ist / vergessen habe)


    nun MySQL ...


    Vorteile


    •etwas schwerer wie Dini ( scripten )
    •Speicherung geht schneller
    •Besser abrufbar
    •Besser um ein Control Panel zu machen
    (auch hier bitte sagen wenn was falsch ist / vergessen habe)



    Nachteile


    •Man sollte einen externen MySQL Server nehmen + eine weitere zur Sicherheit
    (auch hier bitte sagen wenn was falsch ist / vergessen habe)



    Mit freundlichen Grüßen
    DjKiller

  • Wow, vielen Dank. So viele Antworten auf einmal. Nun habe ich eine Frage zu MySQL.
    Wie kann ich MySQL besser lernen? YouTube Videos, Wikipedia oder gibt es noch was?
    Wer etwas hat, was mir helfen könnte, dann würde ich es sehr nett finden, wenn ich
    die Hilfe erhalte.(Z.B. Seiten von Wikipedia, Fortschritt bringende YT Videos o.Ä.)

  • Wie kann eine externe Verbindung denn schneller als ein lokaler Zugriff auf dem Server sein? - @BlackAce: hat darüber in der Vergangenheit bereits einige Beiträge verfasst.


    Ein großer Vorteil von MySQL besteht darin, dass Du deine Datenbank ganz einfach mit einem Forum und/oder UCP verbinden kannst. Des Weiteren ist die gesamte Struktur deiner Daten übersichtlicher und es ist, im Vergleich zu Dini, eine einfachere und schnellere Veränderung der Daten via SQL-Syntax möglich. Der Nachteil besteht darin, dass MySQL eine externe Datenbank erfordert, so dass der Zugriff etwas länger dauert und sollte diese Verbindung einmal abbrechen, werden die Daten nicht mehr gespeichert beziehungsweise geladen, wodurch den Spielern massive Schäden entstehen können. Anders sieht es bei SQLite aus, wo deine Datenbank, wie die Dateien von Dini, lokal auf dem Gameserver liegen.


    Mit Dini wird dir eine schnellere Zugriffszeit gewährleistet, jedoch leidet durch die Masse an Dateien im scriptfiles-Ordner die Übersicht. Dazu können mehrere Variablen nicht einfach gleichzeitig manuell verändert werden.

    • Offizieller Beitrag

    Vorteile


    •etwas schwerer wie Dini ( scripten )

    Das soll ein Vorteil sein? Zudem kann ich deine Aussage, es sei sicherer einen externen Datenbankserver zu nehmen nicht ganz nachvollziehen, der Performance- und Sicherheitswegen sollte man doch eher einen lokalen Datenbankserver nehmen (sofern verfügbar) und in regelmässigen Abständen Backups ziehen (MySQL Dumper eignet sich ganz gut, lässt sich über Cronjobs automatisieren; lässt sich aber auch mit Bordmitteln lösen <- setzt Shellzugriff voraus)


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Was hier teilweise schon wieder für'n Käse geschrieben wird, ist immer wieder amüsant.


    Der - für mich persönlich - größte Vorteil an SQL Datenbanken ist, dass diese deinem Script schon eine Menge Rechen- und Sortierarbeit abnehmen können.
    Bildlich könnte man es etwa mit einem Karteikasten verdeutlichen, wogegen Dini nichts weiter als ein Collegeblock ist.


    Der Collegeblock umfasst zwar alle Informationen genau so detailiert, wie der Karteikasten, aber wenn du eine gewisse Info haben möchtest, musst du immer wieder zur richtigen Seite blättern, im schlimmsten Fall sogar noch zwischen verschiedenen Blöcken wechseln, wenn der erste schon vollgekritzelt ist.
    Im Karteikasten hast du alles schön, wie in einem Archiv, dokumentiert und beschriftet und der Griff zur richtigen Kartei ist schnell getan. Außerdem kannst du problemlos zwei Karteikarten nebeneinander legen um sie zu vergleichen. Im Block müsstest du die Seiten entweder abfotografieren oder ausreißen o.Ä.


    Dass SQL schneller ist, ist zwar an und für sich eine durchaus berechtigte Aussage, findet ihre Wahrheit allerdings erst dann, wenn man auch korrekt damit umgeht. SQL kann, wie bereits erwähnt, viele Tätigkeiten übernehmen, die dein Script sonst nachträglich machen müsste - das spart zweifelsohne Zeit.


    Weiterer Vorteil von SQL ist die Instandhaltung, Säuberung und Datensicherung selbiger - hier greift mein Karteikasten Beispiel leider nicht mehr wirklich, aber immerhin etwas: Wenn du irgendwann mal alle deine Benutzer löschen möchtest - jetzt mal so als simpelstes Beispiel - brauchst du einfach nur das Fach aus dem Karteikasten entleeren, wo deine Benutzer drin sind. Alles andere bleibt unberührt. Im Block müsstest du auch hier wieder Seite für Seite rausreißen, auf der du vielleicht auch noch andere Informationen niedergekritzelt hast, je nachdem wie unordentlich du arbeitest :p


    Über die Sicherheit lässt sich sicherlich streiten, ich persönlich kann nicht nachempfinden, ob es für einen Hacker nun schwerer ist, sich in deine Datenbank oder auf deinen Webspace zu knabbern - vorausgesetzt alle Sicherheitsrisikos wie Injections etc sind ausgeschlossen. Da müsste wohl der Mann vom Fach Bezug zu nehmen.


    Ich habe vor einiger Zeit auch ein kleines Tutorial zur Starthilfe im Umgang mit mySQL gepostet: [ SCRIPTING ] Der korrekte Umgang mit mySQL


    Vielleicht hilft dir der Blick dorthin ja etwas weiter ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Um den Beitrag von LeijaT: und @Sheldon: (der mich zitiert hat) zu erweitern,
    sei vorne weg schonmal gesagt,


    Etwas wie "Dini" gibt es nicht. Es sind alles Datein die einzelnd abgelegt werden.


    Einzelne Datein sind aufwändiger zu verarbeiten, als eine große, die von einem darauf ausgelegtem Programm verwaltet wird.


    Dank des Plugins "Filemanager" können sich auch Files mit den Datenbanken messen, aber wird an die Sortier-, Aufruf-, Strukturierungs-, Verwaltungs- und Lese-/Schreibfähigkeiten der Datenbank nicht messen können.
    Ob eine Datenbank sinnvoll ist oder nicht hängt davon ab, was man genau machen will, möchte ich vielleicht nur ein paar kleine Sachen speichern, die Server bezogen sind, ist es womöglich sinnvoller Datein zu nutzen,
    statt eine Datenbank die nur Platz wegnimmt.


    Bei größeren Sachen, wie User und deren Unterhaltungen bsopw. in einem Forum oder halt Logs, macht es mehr Sinn eine Datenbank zu nutzen, denn sicherlich will man nicht alle Logs durchforsten bis man endlich das gefunden hat, was man eigentlich suchte.
    Sowas würde dann die Datenbak für einen machen, das wäre für Datein auch möglich, allerdings dauert das erheblich länger, schleißlich müssen die Datein geöffnet, gelesen, ausgewertet und wieder geschlossen werden.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski