Database
 sql >> Datenbank >  >> RDS >> Database

Relationale vs. nicht relationale Datenbanken – Teil 3

Im ersten und zweiten Teil dieser Blogserie haben wir einige grundlegende Unterschiede zwischen der Skalierbarkeit relationaler und nicht relationaler Datenbanken gesehen. In diesem Beitrag zeige ich Ihnen, wie Sie diese Datenbanken richtig verwenden, und erzähle Ihnen auch von einigen bekannten Unternehmen, die diese Datenbanken verwenden.

Relationale Datenbank

Im ersten Teil dieser Blogserie habe ich über ACID-Eigenschaften gesprochen. Diese Eigenschaften sind wichtig, um eine enge Transaktionsintegration aufrechtzuerhalten. Es gibt einige Branchen wie Banken, Einzelhandel usw., in denen jede Transaktion ACID-Eigenschaften erfordert. Wenn bei Banktransaktionen ein Konto gutgeschrieben wird, sollte ein anderes belastet werden. Die teilweise Aktualisierung ist niemals zulässig, da sie die Datenintegrität beeinträchtigt – in diesem Szenario werden Oracle, SQL Server, MySQL und andere RDBMS verwendet.

Nicht relationale Datenbank (NoSQL DB)

Im ersten Teil dieser Blogserie habe ich auch über BASE-Eigenschaften gesprochen. Diese sind wichtig, um Daten über alle Knoten in einer Datenbank hinweg konsistent zu halten. Alle Informationen, die keine strenge Datenintegrität erfordern, können in einer NoSQL-DB gespeichert werden. Beispielsweise können Inhalte eines Suchmaschinensystems in einer nicht-relationalen Datenbank gespeichert werden, da es einfach ist, Informationen schnell abzurufen. Ein gutes Beispiel für ein Suchmaschinensystem ist Google. Google speichert seine zwischengespeicherten Webseiten normalerweise in einer Webschicht, die regelmäßig aktualisiert wird. Diese Datenbanken können Terabyte an historischen Daten (z. B. Kreditkartentransaktionen einer Bank für die letzten 5 Jahre) in einer verteilten Umgebung speichern. Es ist einfach, Daten in einer NoSQL-Datenbank mit einer SQL-ähnlichen HIVE-Data-Warehouse-Software zu analysieren und zu extrahieren. NoSQL-DBs können zum Speichern großer Mengen unstrukturierter Daten verwendet werden und eignen sich auch für die Textanalyse.

Ich habe einige Top-Organisationen aufgelistet, die diese Datenbanken verwenden:

Relationale Datenbanken

SQL-Server:LG Electronics, MySpace, Hilton Hotels.

ORACLE:British Telecom, MasterCard, Reliance Ltd.

MySQL:Facebook, Twitter, LinkedIn. Facebook verwendet MySQL zum Speichern von Benutzerinteraktionen wie Statusaktualisierungen, geteilten Inhalten, „Gefällt mir“-Angaben usw.

Nicht relationale Datenbanken

CouchBase:LinkedIn, AdAction.

Kassandra:Facebook, Twitter, Digg.

MongoDB:LinkedIn, Pearson.

Neo4j:Cisco, eBay usw.

Wie Sie gesehen haben, verwenden Unternehmen wie Facebook, Twitter und LinkedIn je nach Bedarf sowohl relationale als auch nicht relationale Datenbanken.

Lassen Sie mich nun zum ersten Teil dieser Serie zurückkehren und die folgenden Fragen beantworten:

Können relationale Datenbanken Big Data verarbeiten?

Sind relationale Datenbanken skalierbar?

Sind relationale Datenbanken für die Datenanforderungen der Moderne geeignet? Wie Echtzeitanalysen, Umgang mit unstrukturierten Daten?

Die Antwort auf all diese Fragen ist ein vehementes „JA“. Relationale Datenbanken werden in dieser sozialen Welt nicht verschwinden. Je nach Art und Komplexität des Datensatzes sollte die richtige Datenbank verwendet werden. Sowohl relationale als auch nicht relationale Datenbanken haben ihre eigenen Vor- und Nachteile. Die richtige Einrichtung der Umgebung kann relationale und nicht-relationale Datenbanken auf angemessene Weise nutzen, so wie es Facebook, Twitter und LinkedIn getan haben.