128 lines
8.3 KiB
XML
128 lines
8.3 KiB
XML
<map version="freeplane 1.12.1">
|
|
<!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
|
|
<node TEXT="Data loader
" FOLDED="false" ID="1" CREATED="1748275449538" MODIFIED="1748275581071"><hook NAME="MapStyle">
|
|
<properties edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" show_icon_for_attributes="true" show_tags="UNDER_NODES" show_note_icons="true" fit_to_viewport="false" show_icons="BESIDE_NODES" showTagCategories="false"/>
|
|
<tags category_separator="::"/>
|
|
|
|
<map_styles>
|
|
<stylenode LOCALIZED_TEXT="styles.root_node" STYLE="oval" UNIFORM_SHAPE="true" VGAP_QUANTITY="24 pt">
|
|
<font SIZE="24"/>
|
|
<stylenode LOCALIZED_TEXT="styles.predefined" POSITION="bottom_or_right" STYLE="bubble">
|
|
<stylenode LOCALIZED_TEXT="default" ID="ID_271890427" ICON_SIZE="12 pt" COLOR="#000000" STYLE="fork">
|
|
<arrowlink SHAPE="CUBIC_CURVE" COLOR="#000000" WIDTH="2" TRANSPARENCY="200" DASH="" FONT_SIZE="9" FONT_FAMILY="SansSerif" DESTINATION="ID_271890427" STARTARROW="NONE" ENDARROW="DEFAULT"/>
|
|
<font NAME="SansSerif" SIZE="10" BOLD="false" ITALIC="false"/>
|
|
<richcontent TYPE="DETAILS" CONTENT-TYPE="plain/auto"/>
|
|
<richcontent TYPE="NOTE" CONTENT-TYPE="plain/auto"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.details"/>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.tags">
|
|
<font SIZE="10"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.attributes">
|
|
<font SIZE="9"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.note" COLOR="#000000" BACKGROUND_COLOR="#ffffff" TEXT_ALIGN="LEFT"/>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.floating">
|
|
<edge STYLE="hide_edge"/>
|
|
<cloud COLOR="#f0f0f0" SHAPE="ROUND_RECT"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="defaultstyle.selection" BACKGROUND_COLOR="#afd3f7" BORDER_COLOR_LIKE_EDGE="false" BORDER_COLOR="#afd3f7"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.user-defined" POSITION="bottom_or_right" STYLE="bubble">
|
|
<stylenode LOCALIZED_TEXT="styles.topic" COLOR="#18898b" STYLE="fork">
|
|
<font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.subtopic" COLOR="#cc3300" STYLE="fork">
|
|
<font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.subsubtopic" COLOR="#669900">
|
|
<font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.important" ID="ID_67550811">
|
|
<icon BUILTIN="yes"/>
|
|
<arrowlink COLOR="#003399" TRANSPARENCY="255" DESTINATION="ID_67550811"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.flower" COLOR="#ffffff" BACKGROUND_COLOR="#255aba" STYLE="oval" TEXT_ALIGN="CENTER" BORDER_WIDTH_LIKE_EDGE="false" BORDER_WIDTH="22 pt" BORDER_COLOR_LIKE_EDGE="false" BORDER_COLOR="#f9d71c" BORDER_DASH_LIKE_EDGE="false" BORDER_DASH="CLOSE_DOTS" MAX_WIDTH="6 cm" MIN_WIDTH="3 cm"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="bottom_or_right" STYLE="bubble">
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" COLOR="#000000" STYLE="oval" SHAPE_HORIZONTAL_MARGIN="10 pt" SHAPE_VERTICAL_MARGIN="10 pt">
|
|
<font SIZE="18"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,1" COLOR="#0033ff">
|
|
<font SIZE="16"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,2" COLOR="#00b439">
|
|
<font SIZE="14"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,3" COLOR="#990000">
|
|
<font SIZE="12"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,4" COLOR="#111111">
|
|
<font SIZE="10"/>
|
|
</stylenode>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,5"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,6"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,7"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,8"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,9"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,10"/>
|
|
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,11"/>
|
|
</stylenode>
|
|
</stylenode>
|
|
</map_styles>
|
|
</hook>
|
|
<node TEXT="IDataPageStreamReader" POSITION="bottom_or_right" ID="24" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Zeigt auf den aktuellen Datenpunkt" ID="25" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
<node TEXT="Nummer des Datenpunkts" ID="28" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
<node TEXT="MoveNext springt zum nächsten Datenpunkt." ID="30" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
<node TEXT="Seek(Idx)-Funktion springt zum Datenpunkt am gegebenen Index, relativ zum Anfang des Datensatzes." ID="40" CREATED="1748275449538" MODIFIED="1748275539454">
|
|
<hook NAME="AlwaysUnfoldedNode"/>
|
|
<node TEXT="Liefert den Index des tatsächlich erreichten Datensatzes zurück." ID="42" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
</node>
|
|
<node TEXT="Die Gesamtzahl der Datensätze kann NICHT geliefert werden." ID="44" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Dafür müssten alle Dateien geöffnet werden, das wollen wir nicht." ID="45" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
</node>
|
|
</node>
|
|
<node TEXT="Streaming API für extrem große Datenpakete" POSITION="bottom_or_right" ID="3" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Daten sind lokal abgespeichert" ID="4" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Alle in einem Verzeichnis" ID="5" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Namensschema nach Zeitraum sortiert." ID="31" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Monate" ID="32" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Dateiname: "DatenSatzName_JJJJ_MM.Extension"" ID="33" CREATED="1748275449538" MODIFIED="1748275449538"/>
|
|
</node>
|
|
<node TEXT="Jahre" ID="34" CREATED="1748275449538" MODIFIED="1748275449538">
|
|
<node TEXT="Dateiname: "DatenSatzName_JJJJ.Extension"" ID="35" CREATED="1748275449539" MODIFIED="1748275449539"/>
|
|
</node>
|
|
<node TEXT="Komprimierte Dateien" ID="37" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Hier wird an die Extension ein "_zip" angehängt." ID="38" CREATED="1748275449539" MODIFIED="1748275449539"/>
|
|
</node>
|
|
</node>
|
|
<node TEXT="Der gesamte Datensatz wird durch DatenSatzName und Extension identifiziert." ID="36" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Der Loader muss die richtigen Dateinamen selbst herausfinden. Sie können entweder nach Monaten oder Jahren sortiert sein und sie können zusätzlich komprimiert sein." ID="39" CREATED="1748275449539" MODIFIED="1748275449539"/>
|
|
</node>
|
|
</node>
|
|
<node TEXT="Paging algorhytmus" ID="6" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Es wird eine Reader benötigt, der sequentiell die Daten einließt." ID="10" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Reader ließt immer die aktuelle Page und im Hintergrund die potentiell nächste Page ein." ID="11" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Möglich wenig Latenz beim Zugriff." ID="16" CREATED="1748275449539" MODIFIED="1748275449539"/>
|
|
<node TEXT="Es werden immer nur n Pages im Speicher gehalten. Wobei n >= 2 ist." ID="17" CREATED="1748275449539" MODIFIED="1748275449539"/>
|
|
</node>
|
|
<node TEXT="Dateien könnten extern aktualisiert worden sein." ID="19" CREATED="1748275449539" MODIFIED="1748275449539">
|
|
<node TEXT="Die eingelesene Page muss dann verworfen werden." ID="20" CREATED="1748275449540" MODIFIED="1748275449540"/>
|
|
</node>
|
|
</node>
|
|
<node TEXT="Jede Datei repräsentiert eine "Page"" ID="12" CREATED="1748275449540" MODIFIED="1748275449540">
|
|
<node TEXT="Dateien werden also immer komplett eingelesen." ID="13" CREATED="1748275449540" MODIFIED="1748275449540"/>
|
|
<node TEXT="Dateien müssen also nicht geblockt werden" ID="14" CREATED="1748275449540" MODIFIED="1748275449540">
|
|
<node TEXT="Besser für Netzwerkverkehr und unterstützt Caching auf Betriebssystemebene." ID="15" CREATED="1748275449540" MODIFIED="1748275449540"/>
|
|
</node>
|
|
</node>
|
|
</node>
|
|
</node>
|
|
<node TEXT="Es handelt sich um Sequenzen von gleichgroßen Datenpunkten, also um Records." ID="21" CREATED="1748275449540" MODIFIED="1748275449540">
|
|
<node TEXT="Der Loader bekommt den Typ des Records als generischen Parameter T mit." ID="22" CREATED="1748275449540" MODIFIED="1748275449540"/>
|
|
</node>
|
|
</node>
|
|
</node>
|
|
</map>
|