-1

Kürzlich las ich über die Möglichkeiten, eine relationale Datenbank zu optimieren und optimal zu nutzen. Ich habe versucht, ein mehrdimensionales Array in meine Datenbank und diesen Punkt zu passen, und ich stieß auf this Wikipedia page über verschiedene Arten von Datenbanksystemen (zum Beispiel mehrdimensionale Datenbanken). Dies veranlasste mich, mögliche Implementierungen einer Datenbank zu untersuchen, die sich durch die Speicherung mehrdimensionaler Daten auszeichnet. Ich fand es wieher unmöglich, einen zu finden. Jetzt kommt meine Frage: Warum sind die meisten Datenbanken relational, wenn die Daten nicht oft gespeichert werden? Warum gibt es extrem wenige einfach zu finden mehrdimensionale Datenbankimplementierungen? Und gibt es mehr verschiedene Arten von Datenbanken, die für verschiedene Arten von Daten optimiert sind? Wenn ja, was sind Beispiele?Wie und wann sollte ich verschiedene Datenbanktypen verwenden (und wo finde ich sie)?

Wenn Sie sich für eine bestimmte Art von Datenbank einsetzen, fügen Sie bitte Statistiken und konkrete Beispiele hinzu. Bitte verwenden Sie zuverlässige Quellen mit Ihren Antworten.

Antwort

1

-> Warum sind die meisten Datenbanken relational? Vermutlich, weil das Beziehungsmodell schon seit einiger Zeit verwendet wird und gut zu den meisten der in der Vergangenheit entwickelten Anwendungen passt.

Da große Datenmengen immer beliebter wurden, kamen neuere Modelle ins Bild.

Sie können auf die Wiki-Seite für eine neue Klasse namens NoSQL-Datenbanken verweisen. https://en.wikipedia.org/wiki/NoSQL

Diese Seite gibt einen guten Überblick über verschiedene Arten von nicht relationalen Datenbanken , die in diesen Tagen verwendet werden.

+0

Können Sie neben dem Link auch die Vor- und Nachteile der Verwendung von NoSQL beschreiben? – thesecretmaster

+0

Ich würde mit der Verwendung beginnen. Wenn Sie eine kritische Anwendung wie eine Finanzanwendung haben, in der keine Fehler toleriert werden, sollten Sie die traditionelle relationale Datenbank verwenden. ACID ist dort garantiert. Nicht-SQL-Datenbanken sind relevanter, wenn der Datensatz sehr umfangreich ist und es eine gewisse Toleranz für Fehler gibt. z.B. Suchen. Selbst wenn Sie ein Ergebnis weniger erhalten, wird die Welt nicht aufhören. So Vorteile: In der Lage, große Datenmengen in sehr kurzer Zeit zu verwalten, sind verteilte Datenverarbeitung möglich. Nachteile: Nicht 100% genau, sollte nicht ohne Rücksicht auf kritische Anwendungen verwendet werden. –

1

Technisch gesehen sind SQL DBMS nicht vollständig relational, aber sie sind relational genug, um viele der Vorteile zu erhalten. Das relationale Modell bietet etwas, was viele andere Datenmodelle nicht haben - reiche mächtige Beziehungen, mit denen beliebige Verknüpfungen zwischen beliebig vielen Elementen dargestellt werden können. Andere populäre Datenmodelle unterstützen normalerweise nur gerichtete binäre Beziehungen.

Um ein mehrdimensionales Array zu implementieren, benötigen Sie eine Tabelle mit einer Spalte pro Dimension, um einen zusammengesetzten Schlüssel zu erstellen. Abhängig davon, was Sie im Array speichern möchten, benötigen Sie mehr Spalten oder noch mehr Tabellen.

+0

Gibt es eine Alternative zu relationalen Datenbanken, die die Arbeit mit multidimensionalen Daten erleichtert? Könnten Sie bitte erläutern, warum SQL-DBMS nicht vollständig relational sind? – thesecretmaster

+0

Mir ist kein System bekannt, das es einfacher macht als relationale Datenbanken. Die Nachteile von SQL bestehen darin, dass es doppelte Zeilen erlaubt und unter anderem komplizierte Regeln für Nullen hat. Weitere Informationen finden Sie unter http://warriorkitty.com/articles/difference_between_t_sql_and_relational_model.pdf. – reaanb

-1

Der große Unterschied zwischen SQL- und Nicht-SQL-Datenbanken besteht darin, dass SQL-Datenbanken das Hinzufügen von Einträgen effizient und schnell mit langsameren Nachschlagezeiten ermöglichen, während SQL-Datenbanken langsamer sind, aber schneller abgefragt werden können . Abhängig davon, was für Sie wichtiger ist, können Sie den richtigen Weg wählen!

+1

Nosql ist schneller bei allem, aber sie werfen so viel von der Starrheit von RDBS wie möglich, um Geschwindigkeit über "Sicherheit" zu fördern – Bohemian

+1

Könnten Sie bitte eine bessere Quelle hinzufügen als "mir wurde gesagt"? – thesecretmaster

+1

@Bohème SQL ist ein loser Standard, der von einer Vielzahl von Systemen mit unterschiedlichen Leistungsmerkmalen implementiert wird. NoSQL umfasst eine noch größere Vielfalt an Speicherstrukturen und Implementierungen. Die Leistung hängt sehr stark von tatsächlichen Implementierungen und tatsächlichen Inhalten und tatsächlichen Nutzungsmustern ab. – reaanb