Heim >häufiges Problem >So wählen Sie eine Datenbank aus

So wählen Sie eine Datenbank aus

coldplay.xixi
coldplay.xixiOriginal
2020-10-29 14:59:377436Durchsuche

So wählen Sie eine Datenbank aus: 1. Ziel; 2. Funktion; 3. Wie viele Personen verwenden sie? 4. Sicherheit und Stabilität; 🔜

(1) Ziel

So wählen Sie eine Datenbank aus (2) Funktion

(3) Wie viele Personen es verwenden (Parallelitätsprobleme)

(4) Sicherheit und Stabilität (5) Verwendetes Betriebssystem (UNIX, Linux, Windows) Für verwendete Datenbanken gehören :?? / Dynamisch

 • MySQL

 • PostGreSQL/EnterpriseDBAuswahlmöglichkeiten für einige wichtige Anforderungen:

Geschäftskritische (OLTP) und Hochleistungssysteme

Wenn die Datenbank eine wichtigere Rolle in wichtigen Geschäftssystemen spielen soll, Und Ziele wie Ausfallzeit/Hochverfügbarkeit/Clustering, Zuverlässigkeit (Leistung und Datenvolumen), Katastrophenreplikation und automatische Berichtserstellung erreichen wollen oder extrem hohe Geschwindigkeits- und geringe Latenzeffekte (HPC, High Performance Computing) erreichen müssen, dann sind wir es Möglicherweise sind Funktionen der Datenbank auf Unternehmensebene erforderlich, dies ist jedoch auch mit höheren Kosten verbunden.

 HA-Clusterfunktion (Hochverfügbarkeit)

 Die Clusterfunktionen jeder Datenbankplattform sind wie folgt:

 •Oracle RAC eignet sich am besten für HA-Cluster, Lastausgleich und Erweiterung;

 •MS SQL Server bietet HA-Failover-Funktion, aber kein Lastausgleich ;

 • Der Sybase ASE 15-Cluster verfügt über die gleiche Funktionalität wie Oracle RAC;

 • TeraData selbst ist eine verteilte Datenbankplattform;

 • MySQL Cluster gibt an, dass der TPC-C-Leistungsbenchmark höher als Oracle RAC ist;

 • IBM DB2/UDB läuft gut auf Clustern wie IBM P-Series/Power-Servern und Veritas VCS/Sun mit AIX HACMP (High Availability Cluster Multiprocessing).

 Hohe Leistung/geringe Latenz/In-Memory-Datenbank

 • Oracle bietet TimesTen-In-Memory-Datenbank;

  • Sybase bietet ASE-In-Memory-Datenbank;

 • Darüber hinaus können wir auch RAMSAN/SSD (Solid State Drive) verwenden, um die SQL Server-Datenbank zu installieren. Alle datenbankbezogenen Festplatten-E/A-Vorgänge erfolgen auf der SSD statt auf der herkömmlichen Festplatte, sodass wir die Festplatten-E/A-Latenz erheblich reduzieren können. Stellen Sie den E/A-Durchsatz bereit und verbessern Sie die Gesamtleistung der Datenbank Verbindung herstellen.

 Skalierbarkeit/Leistung

  • Wenn die vorhandene Hardware die Leistungsanforderungen nicht erfüllen kann, müssen wir dem Cluster nur einen leistungsstärkeren Server hinzufügen und die anderen Knoten nach und nach ersetzen  • Bei Verwendung eines SQL Server-Clusters besteht keine Skalierbarkeit auf Instanzebene, da dieser nur den Aktiv/Passiv-Modus unterstützt. Wenn die vorhandene Hardware die Anforderungen nicht erfüllen kann, müssen wir den gesamten Cluster ersetzen.

 • MySQL-Cluster unterstützt auch Add Knoten zu dem Cluster hinzufügen, in dem alle Knoten aktiv sind, es sich aber um einen Shared Nothing-Cluster handelt, bedeuten mehr Knoten mehr Kopien der Datenbank, mehr Speicher und mehr Netzwerkverkehr, der zum Kopieren von Daten zwischen allen Knoten erforderlich ist.

 Replikation

 • Sybase: Sybase verfügt über die beste Replikationslösung und übertrifft Oracles Data Guard und die Replikationslösungen von SQL Server (selbst mit Spiegelung/Protokollversand/Transaktionsreplikation liegt die Replikation von SQL Server immer noch weit hinter dem Replikationsserver von Sybase zurück);

Die heterogene Replikation und die homogene Replikation von Sybase sind einer der Hauptgründe, warum Sybase in den 1990er Jahren von der Wall Street ausgeschlossen wurde, aber von vielen großen Unternehmen verwendet wird.

  Die Sybase-Replikation kann auf Datenbankebene (Aktiv/Aktiv-Replikation, besser als die Spiegelung von SQL Server), Transaktionsebene (ähnlich der Transaktionsreplikation von SQL Server), Tabellenebene, Ebene gespeicherter Prozeduren, Funktionsebene, MSA (für mehrere Standorte verfügbar) erfolgen. ) und über Protokollversand implementiert (die Lösung für arme Leute in der Replikationswelt), kann sein Spiegelaktivator in Kombination mit EMC/SRDF wirklich ZDL (null Datenverlust) im Falle geplanter und ungeplanter Ausfälle garantieren.

 • SQL Server: Die SQL Server-Replikation kann durch Protokollversand und Datenbankspiegelung (aktiv/passiv, R/W oder schreibgeschützt) implementiert werden und unterstützt eine granulare Transaktionsreplikation auf Objektebene (Tabelle).

 • Oracle: Data Guard von Oracle ist eine der besten Lösungen für das Klonen von Datenbanken und die Notfallwiederherstellung (mit RMAN).

 • MySQL: MySQL bietet Shared-Nothing-Clustering. Grundsätzlich werden alle aktiven Knoten synchron repliziert. Die asynchrone Replikation unterstützt auch die Replikation auf Transaktions- und Objektebene.

 • Lösungen auf Speicherebene: Mit BCV von EMC, Snapshot Manager von NetApp, Snapshot von Hitachi und Volume Replicator von Veritas kann die Datenreplikation auf Festplattenblock- und Volume-Ebene erfolgen.

 Hybridsystem

Normalerweise speichert die Back-End-Datenbank eine große Datenmenge, und beim Abrufen von Daten (Datensortierung, Gruppierung, Zusammenfassung und Berechnung) treten Leistungsprobleme auf Auswirkungen auf den Datenschreibvorgang haben.

 Für diese Art von Anwendungen erwarten wir also, dass die Datenbank große Datenmengen gut verarbeiten und auch Lese-/Schreibblockierungsprobleme gut bewältigen kann.

 • Oracle

 Oracle ist die beste Wahl für diese Art von System, da sich die Lese-/Schreibprogramme in Oracle nicht gegenseitig blockieren, die Daten während des gesamten Lesevorgangs/der Lesesitzung/Transaktion konsistent sind und der Systemaufwand groß ist Es ist eine Speichersperre und ein Redo-Log aufgetreten.

 • SQL Server

  Die neue Snapshot-Isolation von SQL Server 2005 verwendet die gleiche Zeilenversionierungsfunktion von Oracle, generiert jedoch mehr E/A in tempdb.

 • Sybase ASE

  Die Lese-/Schreibprogramme von Sybase ASE blockieren sich gegenseitig, aber Sybase IQ verwendet Snapshot-Versionierungsmanagement, um dieses Blockierungsproblem zu lösen.

 • Andere Datenbanken

  Es gibt andere Datenbanken, die keine Blockierungsprobleme haben, aber einige von ihnen entsprechen nicht einmal den ACID-Standards (Atomizität, Konsistenz, Isolation und Haltbarkeit).

 Data Warehouse

 Unternehmen bauen Data Warehouses auf, um alle historischen Daten sowie die Daten zu speichern/archivieren, die ihrer Meinung nach in der Datenbank abgelegt werden müssen. Typischerweise gehen nicht normalisierte Daten mit mehreren Dimensionen in das Data Warehouse für OLAP- und Business-Intelligence-Lösungen (BI) sorgen für schnelles Auffinden.

 Data Warehouse wird auch für Backtests neuer oder erweiterter Geschäftsstrategien verwendet. Darüber hinaus wachsen die Daten im Data Warehouse eher exponentiell als linear.

Vorteile spaltenbasierter relationaler Datenbanken

Spaltenbasierter relationaler Datenbanken haben große Vorteile, da sie von Natur aus mehrdimensional sind und jede Spalte selbstindiziert ist (B-Baum).

Typische spaltenbasierte Datenbanken sind Googles Big Table, Sybase IQ, Vertica und KickFire, die auf MySQL basieren.

 Im Durchschnitt sind diese spaltenbasierten Datenbanken beim Datenabruf 60- bis 100-mal schneller als herkömmliche zeilenbasierte relationale Datenbanken (wie Oracle, SQL Server, Sybase ASE, TeraData, DB2 und MySQL), aber basierend auf ihnen sind sie langsamer Bei der Aktualisierung von Daten auf Zeilenebene scheint Sybase IQ in diesem Bereich führend zu sein. Es heißt, dass das größte Data Warehouse der Welt Sybase IQ verwendet.

Generell sind zeilenbasierte relationale Daten (SQL Server, Oracle, Informix, DB2/UDB, MySQL, Sybase ASE usw.) für OLTP-Anwendungen geeignet, während spaltenbasierte relationale Datenbanken (Sybase IQ, KickFire, Vertica, usw.) sind besser geeignete OLAP/DSS- und Data-Warehouse-Anwendungen.

Hinweis: Diese Zeitreihendatenbanken wie OneTick, kdb+ und Vhayu können nicht als relationale Datenbanken betrachtet werden. Ihre Speicherstruktur basiert auf Dateien. Jede Datenspalte wird in einer separaten Datei gespeichert. Für das Backtesting können auch Spaltendatenbanken verwendet werden. Darüber hinaus wachsen die Daten in zeilenbasierten Data Warehouses (Cubes) exponentiell, während die Daten in spaltenbasierten Data Warehouses linear wachsen.

Traditionell war Oracle führend auf dem Gebiet der Data Warehouses, aber jetzt hat es seinen Vorteil gegenüber spaltenbasierten relationalen Datenbanken (wie Sybase IQ, Vertica und KickFire, die Google verwendet) verloren ist auch eine spaltenbasierte Datenbank.

Das obige ist der detaillierte Inhalt vonSo wählen Sie eine Datenbank aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn