diff --git a/code/infrastructure/streaming/clients/sub/memgraph/README.md b/code/infrastructure/streaming/clients/sub/memgraph/README.md index 342edef740a68a0e6133b1ed5fd2b9f89218289a..921284f14a53f2d26ae57538026cc89176033614 100644 --- a/code/infrastructure/streaming/clients/sub/memgraph/README.md +++ b/code/infrastructure/streaming/clients/sub/memgraph/README.md @@ -1,25 +1,26 @@ # Legende -subgraph_oriented = inkrementeller Ansatz -kind_oriented = sortierter Ansatz -Merge = MERGE, basiert auf den sortierten Ansatz der code -Unwind = UNWIND +subgraph_oriented = inkrementeller Ansatz <br> +kind_oriented = sortierter Ansatz <br> +Merge = MERGE, basiert auf den sortierten Ansatz der code <br> +Unwind = UNWIND <br> -no label = ein Label für alle Knoten und das ursprüngliche Label als Eigenschaft des Knotens. -two label = mehrere Label benutzt +no label = ein Label für alle Knoten und das ursprüngliche Label als Eigenschaft des Knotens. <br> +two label = mehrere Label benutzt <br> -Procedure_for_module_in_memgraph = ist die Prozedur aus dem Anhang +Procedure_for_module_in_memgraph = ist die Prozedur aus dem Anhang <br> ## Notiz -Unter den Variiablen der Datei ganz oben welche aus der Compose geladen wurden, sind einige hinzugekommen. -Diese sind nicht in jeder Datei, könnten aber meist für mehrere Einfügeoperationen genutzt werden. -Die Werte dieser Variablen können aus der Compose Datei geladen werden, müssten diese Funktionalität allerdings im Code erhalten und die Compose Datei muss diese Daten bereitstellen. +Zu den oben auftretenden Variablen welche aus dem Compose geladen wurden, sind einige hinzugekommen.<br> +Diese sind nicht in jeder Datei, könnten aber meist für mehrere Einfügeoperationen umgesetzt werden.<br> +Die Werte dieser Variablen könnten aus der Compose Datei geladen werden, müssten diese Funktionalität allerdings im Code erhalten und die Compose Datei muss diese Daten bereitstellen. # Originaler Subscriber -sub_mem_original_sub_used_as_a_basis = Subscriber aus dem ursprünglichen Experiment, Kommentar bei den Zeilen 15, 32, 39, 114 und 185 hinzugefügt -Diese Kommentare beschreiben, was für alle neuen Subscriber geändert wurde, sowie an welchen Stellen typischerweise Änderungen aufgetreten sind. +sub_mem_original_sub_used_as_a_basis = Subscriber aus dem ursprünglichen Experiment. <br> +Kommentare in den Zeilen 15, 32, 39, 114 und 185 hinzugefügt. <br> +Diese Kommentare beschreiben, was für alle neuen Subscriber geändert wurde, sowie an welchen Stellen typischerweise Änderungen aufgetreten sind. <br> Hinweis: Im Allgemeinen sind die Änderungen nicht explizit markiert, aber es sollte möglich sein, alle geänderten Stellen mit einem Diff-Programm oder einer IDE-Funktion zu identifizieren. Original Datei ohne Zusatz Kommentare unter SOH_sub_mem (Sven-Ove Hänsel) @@ -37,35 +38,37 @@ Als Folge müsste die Compose Datei, sowie alle weiteren Dateien angepasst werde # Pylint zur Code korrektur genutzt Während der drei Monate meiner Bachelorarbeit hatte ich meinen ersten intensiven Kontakt mit Python. -Gegen Ende dieses Zeitraums bin ich auf Pylint gestoßen. -Die schwerwiegendsten Meldungen von Pylint wurden bearbeitet. +Gegen Ende dieses Zeitraums bin ich auf Pylint gestoßen. <br> +Pylint bewertet den Code auf Empfehlungen hin und meldet Verstöße gegen diese. +Die schwerwiegendsten Meldungen von Pylint wurden bearbeitet.<br> Andere, wie Warnungen, dass die Variablen schlecht benannt wurden und ähnliches, wurde aufgrund von Zeitmangel nicht umgesetzt. -Insgesamt wurde die Anzahl der Merldungen allerdings halbiert, trotzdem ist die Zahl noch recht großt. +Insgesamt wurde die Anzahl der Meldungen allerdings halbiert, trotzdem ist die Zahl noch recht groß. # Probleme ## Reihenfolge nicht gegeben? -Die neueste und beste Version im Moment ist sub_mem_whole_batch_kind_oriented_two_label_internal_collision_handle. +Die neueste und beste Version, im Moment, ist sub_mem_whole_batch_kind_oriented_two_label_internal_collision_handle.<br> Die Verwendung von 'OPTIONAL MATCH' führt zu einem Fehler an der Kante, die versucht, eine Kante auf einem Null-Knoten zu erstellen. -Dieser Null-Knoten wurde durch 'OPTIONAL MATCH' nicht gefunden. Ein normaler 'MATCH' würde die Abfrage stoppen, aber keinen Fehler auslösen. +Dieser Null-Knoten wurde durch 'OPTIONAL MATCH' nicht gefunden. <br> +Ein normaler 'MATCH' würde die Abfrage stoppen, aber keinen Fehler auslösen. Diese Version ist gut geeignet, um Fälle zu identifizieren, die behandelt werden müssen. Zum Beispiel ist der neueste Fall ein MATCH auf 69DDB3CA-37DD-11E8-BF66-D9AA8AFF4A69, bei dem kein Knoten in der Datenbank gefunden wurde. -Es muss überprüft werden, ob der Knoten zuerst benötigt wird, bevor er erstellt wird, oder umgekehrt, und es gab einen Fehler, warum dieser Knoten nicht hinzugefügt wurde. +Es muss überprüft werden, ob der Knoten zuerst benötigt wird, bevor er erstellt wird, oder umgekehrt, und es gab einen Fehler, warum dieser Knoten nicht hinzugefügt wurde. <br> Der Fehler trat bei der nächsten Nachricht auf, nachdem 5.000.040 Knoten eingefügt wurden. Die verwendete Batch-Größe betrug 45, und 25 Nachrichten wurden pro Sekunde gesendet. -(Das war bis zum Schluss der beste Kompromiss zwischen Ausführungszeit und RAM-Verbrauch) -Der Knoten benötigte Knoten würde nicht in den nächsten drei Nachrichten erstellt werden, da die UUID in diesen nicht enthalten war. +(Das war bis zum Schluss der beste Kompromiss zwischen Ausführungszeit und RAM-Verbrauch)<br> +Der benötigte Knoten würde nicht in den nächsten drei Nachrichten erstellt werden, da die UUID in diesen nicht enthalten war. -Es bleibt fraglich ob der Datensatz die Reihenfolge nciht einhält, oder diese inkorrekt bearbeitet wurden. +Es bleibt fraglich ob der Datensatz die Reihenfolge nicht einhält, diese inkorrekt bearbeitet wurden, oder dies tatsächlich so gewollt ist. Lösungsansatz in Bachelorarbeit beschrieben. # Memgraph Eisntellungen setzen -Es scheint, dass die Flags in Memgraph nicht über die Compose-Variablen gesetzt werden können. -Erstellen einer Cypher-Abfrage, um die Flags zusammen mit dem Erstellen von Indizes zu setzen. +Es scheint, dass die Flags in Memgraph nicht über die Compose-Variablen gesetzt werden können. <br> +Als Folge mussten Cypher-Anfrage erstellt werden welche die Flags zusammen mit dem Erstellen von Indizes setzen. Vielleicht eine neuere Memgraph Version nutzen.