Layer 2 des Big Data Stack: operationalen Datenbanken

Im Mittelpunkt jeder großen Datenumgebung, und Schicht 2 des großen Datenstapel sind die Datenbank-Engines, die Sammlungen von Datenelementen für Ihr Unternehmen relevant enthält. Diese Motoren müssen schnell sein, skalierbare und Fels in der Brandung. Sie sind nicht alle gleich, und bestimmte große Datenumgebungen wird besser abschneiden mit einem Motor als eine andere, oder eher mit einer Mischung aus Datenbank-Engines.

Zum Beispiel, obwohl es möglich ist, relationalen Datenbankmanagementsysteme (RDBMS) für alle Ihre großen Daten-Implementierungen zu verwenden, ist es nicht praktisch, dies zu tun, wegen der Leistung, Skalierbarkeit oder sogar Kosten. Eine Reihe von verschiedenen Datenbank-Technologien zur Verfügung stehen, und Sie müssen darauf Bedacht zu wählen nehmen.

Keine einzige richtige Wahl besteht in Bezug auf Datenbanksprachen. Obwohl SQL die am weitesten verbreitete Datenbankabfragesprache heute im Einsatz ist, können andere Sprachen bieten eine effektivere oder effiziente Weise, Ihren großen Daten Herausforderungen zu lösen. Es ist nützlich, der Motoren und Sprachen als Werkzeuge in eine zu denken # 147-Implementierer Toolbox. # 148- Ihre Aufgabe ist es, das richtige Werkzeug zu wählen.

Zum Beispiel, wenn Sie ein relationales Modell verwenden, werden Sie wahrscheinlich SQL verwenden, um es abzufragen. Sie können jedoch auch alternative Sprachen wie Python oder Java verwenden. Es ist sehr wichtig zu verstehen, welche Arten von Daten können durch die Datenbank manipuliert werden, und ob es wahr Transaktionsverhalten unterstützt. Database Designer beschreiben dieses Verhalten mit dem Akronym ACID. Es steht für

  • Atomicity: Eine Transaktion ist # 147-alles oder nichts # 148-, wenn es atomar. Wenn ein Teil der Transaktion oder das zugrunde liegende System ausfällt, schaltet die gesamte Transaktion.

  • Konsistenz: Nur bei Transaktionen mit gültigen Daten werden auf der Datenbank durchgeführt werden. Wenn die Daten beschädigt oder ungeeignet ist, wird die Transaktion nicht abgeschlossen und die Daten werden nicht in die Datenbank geschrieben werden.

  • Isolierung: Mehrere, werden gleichzeitige Transaktionen nicht gegenseitig stören. Alle gültigen Transaktionen ausgeführt werden, bis abgeschlossen und in der Reihenfolge ihrer zur Verarbeitung übergeben.

  • Haltbarkeit: Nachdem die Daten von der Transaktion in die Datenbank geschrieben wird, bleibt es dort # 147-forever # 148.

    MotorQuery LanguageKarte verkleinernDatentypenTransaktionenBeispiele
    RelationalSQL, Python, CNeinEingegebeneACIDPostgreSQL, Oracle, DB / 2
    ColumnareRubinHadoopVordefinierte und tippteJa, wenn aktiviertHBase
    GraphWandern, Suchen, CypherNeinUntypisierteACIDNeo4j
    DokumentBefehlejavascriptEingegebeneNeinMongoDB, CouchDB
    SchlüsselwertLucene, BefehlejavascriptBLOB, semitypedNeinRiak, Redis

Nachdem Sie Ihre Anforderungen zu verstehen und zu verstehen, welche Daten Sie sammeln, wo es zu setzen, und was damit zu tun, müssen Sie es so zu organisieren, dass es für die Analytik verbraucht werden kann, Reporting oder spezifische Anwendungen.

Menü