Frage

Ich habe mich über die Kompromisse für die Verwendung von Datenbanken gefragt und was die anderen Optionen waren? Welche Probleme sind für Datenbanken nicht gut geeignet?

Ich besorgt mit relationalen Datenbanken.

War es hilfreich?

Lösung

Das Konzept der Datenbank ist sehr breit. Ich werde einige Vereinfachungen in dem, was ich hier präsentiere, vereinfachen.

Bei einigen Aufgaben ist die häufigste Datenbank die relationale Datenbank. Es handelt sich um eine Datenbank, die auf dem relationalen Modell basiert. Das relationale Modell geht davon aus, dass Sie Ihre Daten in Zeilen beschreiben, die zu Tabellen gehören, in denen jede Tabelle eine bestimmte und feste Anzahl von Spalten enthält. Sie senden Daten "pro Zeile", was bedeutet, dass Sie eine Zeile in einem einzelnen Schuss bereitstellen müssen, der die Daten relativ zu allen Spalten Ihrer Tabelle enthält. Jede eingereichte Zeile erhält normalerweise eine Kennung, die auf der Tabellenebene eindeutig ist, manchmal auf Datenbankebene. Sie können Beziehungen zwischen Entitäten in der relationalen Datenbank aufstellen, indem Sie beispielsweise sagen, dass eine bestimmte Zelle in Ihrer Tabelle auf die Zeile einer anderen Tabelle verweisen muss, um die sogenannte "referenzielle Integrität" zu erhalten.

Dieses Modell funktioniert gut, aber es ist nicht das einzige da draußen. In einigen Fällen sind Daten besser als Baum organisiert. Das Dateisystem ist eine hierarchische Datenbank. beginnt an einer Wurzel, und alles geht unter diese Wurzel in einer Baumstruktur. Ein anderes Modell ist das Schlüssel-/Wertpaar. SleepyCat BDB ist im Grunde genommen ein Geschäft von Schlüssel-/Werteinheiten.

LDAP ist eine weitere Datenbank, die zwei Vorteile hat: gespeichert eher generische Daten, sie wird von Design verteilt und für das Lesen optimiert.

Mit Diagrammdatenbanken und Triplestores können Sie eine Grafik speichern und Isomorphismus -Suche durchführen. Dies ist normalerweise erforderlich, wenn Sie einen sehr generischen Datensatz haben, der eine breite Beschreibung Ihrer Entitäten umfassen kann, so breit, dass dies im Grunde genommen unbekannt ist. Dies steht in klarem Widerspruch gegen das relationale Modell, wo Sie Ihre Tabellen mit einem sehr präzisen Satz von Spalten erstellen, und Sie wissen, was jede Spalte enthalten wird.

Es gibt auch einige relationale spaltenbasierte Datenbanken. Anstatt Daten nach Zeile einzureichen, senden Sie sie nach der gesamten Spalte.

Um Ihre Frage zu beantworten: Eine Datenbank ist eine Methode zum Speichern von Daten. Technisch gesehen ist sogar eine Textdatei eine Datenbank, wenn auch nicht besonders nett. Die Wahl des Modells hinter Ihrer Datenbank ist hauptsächlich relativ zu den typischen Anforderungen Ihrer Anwendung.

Stellen Sie die Antwort als CW fest, da ich wahrscheinlich etwas streng nicht korrektes sage. Fühlen Sie sich frei zu bearbeiten.

Andere Tipps

Dies ist eine ziemlich breite Frage, aber Datenbanken eignen sich gut für die Verwaltung Relationale Daten. Alternativen würden fast immer implizieren, um Ihre eigene Datenspeicherung und Abruf -Engine zu entwerfen, was für die meisten Standard-/kleinen Anwendungen die Mühe nicht wert ist.

Ein typisches Szenario, das für eine Datenbank nicht gut geeignet ist, ist die Speicherung großer Datenmengen, die als relativ geringe Menge an logischen Dateien organisiert sind. In diesem Fall kann ein einfaches Dateisystem-ähnliches System ausreichen.

Vergessen Sie nicht, sich NoSQL -Datenbanken anzusehen. Es ist ziemlich neue Technologie und eignet sich gut für Dinge, die in eine relationale Datenbank nicht passen/skalieren.

Verwenden Sie eine Datenbank, wenn Sie Daten zum Speichern und Abfragen haben.

Technisch gesehen sind die meisten Dinge für Datenbanken geeignet. Computer werden zur Verarbeitung von Daten hergestellt, und Datenbanken werden zur Speicherung erstellt.

Das einzige, was zu berücksichtigen ist, sind Kosten. Kosten für den Einsatz, Wartungskosten, Zeitinvestition, aber es lohnt sich normalerweise.

Wenn Sie nur sehr einfache Daten speichern müssen, wären Flat -Dateien eine Alternative (Textdateien).

Hinweis: Sie haben den generischen Begriff "Datenbank" verwendet, aber es gibt viele verschiedene Typen und Implementierungen davon.

  • Zum Suchanwendungen, Volltext-Suchmaschinen (Einige davon sind in herkömmliche DBMSes integriert, von denen einige jedoch nicht) eine gute Alternative sein können, die sowohl mehr Merkmal Leistung.

  • Außerdem habe ich Anwendungen gesehen, bei denen Konfigurationsdaten wird in der Datenbank gespeichert, und obwohl dies in einigen Fällen sinnvoll ist, Verwenden von Klartextdateien (oder YAML, XML und solche) und das Laden der zugrunde liegenden Objekte während der Initialisierung können aufgrund der in sich geschlossenen Art einer solchen Alternative und der einfachen Änderung und Replikation solcher Dateien vorzuziehen sein.

  • EIN flache Protokolldatei, kann eine gute Alternative zur Anmeldung bei DBMs sein, abhängig von der Verwendung natürlich.

In den letzten 10 Jahren haben die DBMS -Systeme im Allgemeinen viele Funktionen hinzugefügt, um ihnen dabei zu helfen von Blobs, leistungsstarke benutzerdefinierte Funktionen usw.) die sie vielseitiger machen, und daher ein ziemlich allgegenwärtiger Dienst. Ihre Stärke bleibt jedoch hauptsächlich mit relationalen Daten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top