Datenmodellierung für Sensor- und Simulationsdaten (7)
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 7 | |
Author | ||
License | CC Attribution - ShareAlike 4.0 International: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/64832 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
00:00
Computer animation
07:09
Computer animation
Transcript: German(auto-generated)
00:00
Ergänzung, jetzt kommen die optimierten Datentypen. Was muss ich mir darunter vorstellen? Cassandra kennt unter anderem den Int, den Small Int und den Tiny Int.
00:21
Ein Int hat vier Wides, den Wertebereich habe ich hier hingeschrieben. Er ist ungefähr zwischen minus zwei Milliarden und zwei Milliarden. Wie auch in C gibt es mit dem Small Int ein Zwei-Bytes-Datentyp. Das entspricht dem Short und der Wertebereich ist entsprechend 16 Bit.
00:44
Also rechnen Sie dann, was zwei hoch fünfzehn ist, minus eins für diese Zahl hier. Das sind 32.767. Und die entsprechen um eins größere im negativen Bereich. Also für Zahlen, die sich in dieser Größenordnung hier bewegen, kann man auch einen Small Int nehmen.
01:01
Es gibt noch einen Tiny Int, der nur einen Wides hat. Den gibt es in C erstmal nicht, da gibt es Ins und Shorts. Aber hier gibt es noch den Tiny Int folgerichtig. Und der ist natürlich nicht halb so groß von den Zahlen her, sondern wir sind dann bei acht Bit aufgeteilt. Allerdings, Sie müssen rechnen, was zwei hoch sieben minus eins ist. Das sind die 1027 und das hier ist minus zwei hoch sieben.
01:22
Also für Werte, die nur in dieser Größenordnung sind, kann ich auch einen Tiny Int nehmen. Dann gucken wir uns das doch mal an. Send ID, Sensor ID, die müssen potenziell groß werden können. Wir bleiben beim Int. Second per week, wie viel kann das denn sein? Maximal doch 60 x 60 x 24 x 7. Also etwas mehr als 600.000 muss im Int bleiben.
01:44
Week global, pro Jahr 53 mehrere Jahre. Na ja, da wird ja wohl der Small Int reichen. Ja, wenn man vierstellig speichert, wären Small Int sonst auch nicht. Month, day, hour, minute, second, day, day, seven. Da reichen doch die Tiny Ints.
02:00
Und mit diesen Reduktionen hier an diesen Stellen kann ich doch nur rechnen. Und entsprechend muss ich natürlich die Formeln anpassen. Das Skript ist dann deutlich aufwendiger, was das durchrechnet. Aber eine Beispiellösung ist hochgeladen, die eben es auch hinbekommt, zwischen Int, Small Int und Tiny Int zu unterscheiden, die entsprechenden Anzahlen der Spalten da mitzunehmen. Dann können wir uns wieder die Werte angucken, wie das ausschaut.
02:22
Das ist die zentrale Formel, wie hier gerechnet wird. Im Matlab Skript werden dann NP und NC aufgespalten in Vektoren. Und einfach erster Eintrag für die vier Bytes, zweiter für die zwei Bytes, dritter für die ein Bytes, langen Spalten. Und dann ist die zentrale Formel für die Partitionsgröße. Das war die alte mit der vier hier.
02:41
Und dann ist die neue halt entsprechend, dass ich hier, die Werte sind immer noch in float, dass ich hier die Spalten, die überhaupt nur aufgeteilt werden, vectoriell eben abgreifen kann und mit 4, 2 und 1 multipliziere. Und der Overhead kommt hier hinten wieder dran. Bei diesen zentralen Änderungen kann ich dann ein bisschen Arbeit im Skript eben in der Umgestaltung rechnen.
03:05
Was bekommt man raus, alt und neu im Überblick. Ich war gelandet bei 3,1 Terabytes. Ich spare ein bisschen, es sind nachher 2,9. Obwohl ich doch so viel gespart habe. Aber, damit Sie mal sehen, was das eigentlich hilft, die Optimierung der Datentypen,
03:21
ein bisschen auch in ST kleiner geworden. Das ist kein Drama. Jedenfalls nicht hier für den letzten Teil. Wenn Sie allerdings sich Flexibilität erhalten, Sie haben sich dunkel da waren, hier unten hatten wir ja sehr viel eingespart, dass da nur noch die second per week übrig blieb. Wenn Sie Flexibilität erhalten und immer noch in Jahr, Monat, Tag, Stunde, Minute, Sekunde arbeiten,
03:44
also hier in diesen Ober- und Lösungsbereichen, dann sind Sie bereits eine Terabyte kleiner geworden. Also schon in der entsprechenden Größenordnung. Ab hier wird das ja schon gut, sage ich mal. Das ist alles ähnlich groß. Und auch alles machbar. Sie können sich durch die Optimierung der Datentypen
04:01
Flexibilität bis hier hin wieder auch kaufen und sich die entsprechenden Tabellenentwürfe wieder nehmen. Also Optimierung der Datentypen ist vielleicht etwas lästig. Hilft Ihnen allerdings für einen ganz kleinen Preis, anders als im Original, die Flexibilität im Zeitstempel zu erhalten.
04:22
Bleibt also Ihnen überlassen, wie Sie es gerne hätten. Das ist jedenfalls der Vorschlag, den man machen kann. Für die Praxis auch optimierte Datentypen. Und dann wiederum aber mehr Flexibilität im Zeitstempel. Das wird für viele Anwendungen sicherlich ein ordentlicher Kompromiss sein.
04:44
Fragen bzw. Anwendungen stehen natürlich immer im Vordergrund. Die Bemerkung habe ich schon gemacht, als ich auf die Materialized Views eingegangen bin. Hier kann man sie noch einmal machen. Bisschen systematischer. Für die Seminarverträge und die Besprechungen danach sollten Sie sich kurz die folgenden Webseiten anschauen.
05:01
Data Modeling Queries auf der Apache Cassandra Webseite. Sie können dort Data Modeling Logical anschauen. Also Logical Data Modeling. Und sich fragen, wie das funktioniert. Und danach dann erklären, was Cebotko Diagramme sind. Das ist eine systematische Art, die Modellierungsansätze
05:21
und die Abhängigkeiten zwischen Tabellen darzustellen. Das schließt dann das Kapitel. Wenn Sie das hier studiert haben, sind Sie in der Lage, auch in einer ordentlichen schriftlichen Form darzustellen, welche Fragen an Tabellen gestellt werden, wie die entsprechenden Entwürfe ausschauen und wie die entsprechenden Entwürfe voneinander abhängen.
05:40
Das Basisrußzeug zum Rechnen haben wir besprochen. Und den Rest des Logical Data Modeling können Sie sich auf diese Weise erarbeiten und auch visualisieren. Sie würden je auch einen eigenen Weg finden, aber das ist das, was ich hier in jedem Fall vorschlagen kann. Cebotko Diagramme sind allerdings nicht klausurrelevant. Sie sind add-on für die Arbeitsorganisation in der Praxis.
06:05
Zum Schluss das Beispiel gedanklich weiter ausgebaut. Wenn man nur skizziert, wie man in der Praxis arbeiten könnte, eigentlich kann man auch in die Vollen gehen. Zum Beispiel das Ganze aus Sicht der Bundesnetzagentur betrachten und ein System zur Modellierung des gesamten deutschen Stromnetzes erstellen.
06:20
Dann würde man sich fragen, wie viele Stromnetzbetreiber gibt es? Ich hatte ja nur gedanklich einen angerissen. Wie sähe denn eine Erweiterung für eine übergreifende Modellierung aus? Basis würden die eben erstellten Tabellen schon bilden. Dann käme aber nicht nur eine Spalte zur ID und dem Namen des Stromnetzbetreibers dabei. Das brauchen wir sicherlich, sondern auch wieder Überlegungen zur Partitionierung.
06:41
Hier ist dann zu beachten, dass nun noch eine weitere Dimension hinzukommt, nach welcher prioritär gefragt werden kann. Insgesamt sollten die Tabellen nach drei primären Richtungen partitioniert sein. Zeit, Ort und Stromnetzbetreiber. Diese können an unterschiedlichen Orten präsent sein, wie beispielsweise die Westnetz. Gedanklich könnten Sie mal überlegen, welche Konsequenzen das alles hätte.
07:01
Dann wären Sie für die Praxis doch schon sehr gut unterwegs. Vielen Dank.