Linux-Magazin_-_Januar_2019

(singke) #1
SQL> CREATE TABLE mail (
subject VARCHAR(255)
, body VARCHAR(255)
, attachment LONGBLOB COMPRESSED
, metadata JSON COMPRESSED
);

Das Indexieren von komprimierten Spal-
ten ist nicht möglich.

Rocks DB


Die Default Storage Engine ist auch bei
Maria DB die Inno DB, und zwar in der
(MySQL-)Version 5.7. Somit stehen die
meisten Features auch unter Maria DB
zur Verfügung. Mit der Version 10.3 sind
kleinere Verbesserungen und zahlreiche
Bugfixes hinzugekommen.
My Rocks ist eine Maria DB Storage En-
gine basierend auf Rocks DB, der Open
Source Storage Engine, die ursprünglich
von Facebook entwickelt wurde und

gen über Hierarchien (Baumstrukturen,
Abbildung 4) und komplexe Graphen
durchzuführen.
Die OQ Graph Computation Engine
in Maria DB 10.3 hat noch immer den
Gamma-Status, ist also für den produkti-
ven Einsatz noch nicht empfohlen. Neu
wurde der Leaves-Algorithmus imple-
mentiert. Im Gegensatz zur Rocks DB
Storage Engine braucht der Anwender
die OQ Graph Computation Engine nicht
nachzuinstallieren, aktivieren reicht.

Spider SE


Eine weitere, ebenfalls etwas exotische
Storage Engine ist die Spider Storage En-
gine. Auch sie ist eigentlich keine echte
Storage Engine, sondern eine Art Shar-
ding Layer, der Daten von verschiedenen
Instanzen zusammenführt (Abbildung
3 ). Konkret: Werden eine Tabelle par-
titioniert und die einzelnen Partitionen
auf jeweils eigene Instanzen auf unter-
schiedlichen Servern ausgelagert, so ver-
hält sich das ganze Konstrukt damit wie
eine einzelne große Instanz.
Die Spider Storage Engine wurde in Maria
DB 10.3 inzwischen als für den Produk-
tionseinsatz verfügbar markiert. Gleich-
zeitig wurde auch die Partition Engine
erweitert, sie unterstützt jetzt Condition
Pushdown (»WHERE«-Klausel wird be-
reits in der Partition ausgewertet), Multi
Range Read, Volltextsuche, Aggregate
Pushdown sowie Bulk-Update- und De-
lete-Operationen.

Für den Admin


Während die bisherigen Neuerungen
mehrheitlich Entwicklern zugutekom-
men, gibt es auch für den Admin Neues
zu entdecken, etwa das Fast Fail bei DDL-
Befehlen auf Inno-DB-Tabellen. Wenn
eine lange laufende offene Transaktion
eine Tabelle mit einem Meta Data Lock
(MDL) sperrt und gleichzeitig ein DDL-
Befehl auf diese Tabelle abgesetzt wird,
muss der DDL-Befehl im Status »Waiting
for table metadata lock« warten, und
zwar bis zu einen Tag lang (Timeout
nach 86 400 Sekunden).
Dank des Community-Beitrags von Ali-
baba gibt es jetzt die Möglichkeit, dem
DDL-Befehl zu sagen, dass er in einem
solchen Fall gar nicht (»NOWAIT«) oder

wahrscheinlich immer noch wird. Rocks
DB basiert auf einem Log Structured
Merge Tree (LSM), der gegenüber B-Tree-
Indexen bei schreibintensiven Workloads
im Vorteil und zudem für Flashspeicher
(SSD) optimiert ist.
Rocks DB hat ein gutes Kompressionsver-
hältnis, zirka doppelt so gut wie die Kom-
primierung unter Inno DB, und ist daher
besonders Speicher-effizient (Abbildung
2 ). Rocks DB schneidet beim Schreiben
verglichen mit Inno DB beim selben
Work load besser ab, beschleunigt das La-
den von Daten und verringert Engpässe
bei der Replikation. Es soll aber nicht
verschwiegen werden, dass bei leselasti-
gem Workload Rocks DB etwas schlech-
tere Resultate liefert als Inno DB.
Um Rocks DB zu konfigurieren, stehen
129 Variablen zur Verfügung und es las-
sen sich 105 Statusinformation abfragen.
Die Ausgabe des Befehls
SHOW ENGINE ROCKSDB STATUS;
ist ähnlich komplex wie bei Inno DB. Die
Konfiguration von Rocks DB scheint um
einiges komplizierter zu sein als die von
Inno DB. Daher wird für einen akzeptab-
len Start die Vorgabe der Rocks-DB-Ent-
wickler bei Facebook nützlich sein [2].

OQ Graph


Die Open Query Graph Computation En-
gine ist keine eigentliche Storage Engine,
sondern sie simuliert eine Graphen-Da-
tenbank [3] basierend auf relationalen
Tabellen (Inno DB). Sie erlaubt es, Abfra-

01 SQL> SELECT * FROM accounting FOR SYSTEM_TIME AS OF
TIMESTAMP'2018‑03‑01 00:00:00';
02 +‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑+
03 | name | amount | date |
04 +‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑+
05 | Mitarbeiter | 600.00 | 2018‑02‑25 |
06 | Chef | 1200.00 | 2018‑02‑25 |
07 | Übeltäter | 600.00 | 2018‑02‑25 |
08 +‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑+

Listing 10: Zugriff auf versionierte
Daten

Abbildung 2: Besonders bei der Datenkompression sammelt die Storage Engine My Rocks Pluspunkte.

© modella, 123RF

Sysadmin

70


http://www.linux-magazin.de

Maria DB 10.3
Free download pdf