kostenloser Webspace werbefrei: lima-city


SQL/noSQL - Vorteile und Nachteile

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    dandy-nagel

    dandy-nagel hat kostenlosen Webspace.

    Welche Vor- und Nachteile haben SQL-oder noSQL-Datenbanken?

    Ich bin bin relativ unbedarft auf dem Gebiet und auf eure Erfahrungen gespannt...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich mach dann mal:

    Skalierbarkeit

    NOSQL-Datenbanken sind durch den Verzicht auf ACID (siehe 2 Punkt) oder andere Mechanismen aus der SQL-Welt wesentlich besser horizontal skalierbar. Wenn die Integrität der Daten im Hintergrund stehen kann also ein deutlicher Mehrwert (vereinzelt kann man aber z.B. auch bestimme Kollektionen Clusterweit sperren usw, was dann aber wiederum wesentlich an der Performance zieht).

    ACID
    SQL-Datenbanken haben in der Regel bis zu einem gewissen Grad das ACID-Konzept umgesetzt. Lies am besten bei Wikipedia nach, was das ist, falls es noch unbekannt sein sollte. Wie in »Skalierbarkeit« angesprochen leidet darunter aber die horizontale Skalierbarkeit.

    Design
    Während man beim Design von SQL-Datenbanken Vorgaben wie die Normalisierung nutzen kann um das Datenbankdesign zu planen sind NOSQL-Datenbanken da eher »all over the place«. Wenn ich mich richtig erinnere profitiert couchdb z.B. von vielen einzelnen Objekten während die MongoDB-Dokumentation rät alles in große Pakete zu verpacken.

    Querying
    Außerhalb von Tests nutzt man heutzutage idR. Abstraktionsschichten/Treiber, welche das Handling in beiden Fällen gleich halten. (zB. C# mit Oracle.ManagedDataAccess vs MongoDB-Treiber, obwohl der von MongoDB kein ADO.NET implementiert gibt es da im Handling kaum Unterschiede).

    Sonstiges
    Generell eignen sich NOSQL-Datenbanken, wenn man binäre Daten ablegen möchte besser. Für geschäfftliche Daten würde ich jedoch jederzeit zu einem SQL greifen.

    Beitrag zuletzt geändert: 23.7.2016 12:16:15 von tchab
  4. technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Wie mein Vorposter schon geschrieben hat, eignen sich NoSQL DBs für dinge, die eher lose voneinander sind, Stichwort Integrität. Zudem arbeiten NoSQL-DBs teilweise sogar etwas schneller, aber da muss dann auch das Design zu 100% stimmen. Wenn man jedoch viele Daten hat, die man unterteilen möchte und diese deshalb nur zusammengehörig existieren können, dann würde ich dir dringend zu einer SQL-DB raten, weil hier schlicht weg gewährleistet werden kann, dass die Daten auch nur so vorkommen, wie sie vorkommen sollen. Sehr nützliche Funktionen wie z.B. Triggering helfen dir dabei das auch richtig umzusetzen. Noch ein Vorteil sind die views, die man bei SQL erstellen kann. Views kann man als so etwas wie einen Cache bezeichnen. Es sind also "Tabellen", die man lesen aber nicht verändern kann, das geschieht dann intern. Noch ein Vorteil zu NoSQL wäre die Möglichkeit der Transaktionen. Solltest du mehrere Änderungen gleichzeitig vornehmen und bei einer geht etwas schief, werden die anderen automatisch rückgängig gemacht bzw. gar nicht erst committet. Ganz besonders ragt dieser Vorteil bei mehreren Datenbanken gleichzeitig hervor. Außerdem ist das Querying standardmäßig so einfach, dass schlicht jeder SQL lernen kann... wurde ja schließlich für Sekretärinnen entwickelt :P

    Grüße
    technofan
  5. Autor dieses Themas

    dandy-nagel

    dandy-nagel hat kostenlosen Webspace.

    Funktionieren noSQL-DB (z.B. momgoDB) auch mit phpmyadmin, oder ist das ein SQL-spezifisches Tool?
  6. dandy-nagel schrieb:
    Funktionieren noSQL-DB (z.B. momgoDB) auch mit phpmyadmin, oder ist das ein SQL-spezifisches Tool?
    MySQL spezifisch:
    phpMyAdmin ist eine freie Webanwendung zur Administration von MySQL-Datenbanken. Die Software ist in PHP implementiert; daher kommt der Name phpMyAdmin.
    ...
    Aus phpMyAdmin haben sich eine Reihe weiterer Projekte entwickelt:

    - PhpLDAPadmin zur Verwaltung von LDAP
    - PhpLiteAdmin und PhpSQLiteAdmin zur Verwaltung von SQLite-Datenbanken
    - PhpPgAdmin zur Verwaltung von PostgreSQL-Datenbanken

    Quelle: https://de.wikipedia.org/wiki/PhpMyAdmin


    Beitrag zuletzt geändert: 24.7.2016 17:16:59 von autobert
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!