¶ Intro & Ankündigungen
Moin und herzlich Willkommen zu Folge 73 von Alpha komplex. Nicht mehr dem Podcast für Software und IT Laien, sondern ihr habt es vielleicht gemerkt, still und heimlich. Es ist einfach der Software und IT Podcast geworden. Und Moin Bock hat Moin Gerrit. Hallo ich grüße dich zur Folge 73. Genau so still und heimlich wollten wir das nicht machen, diesen Wechsel. Aber wir haben das Feedback bekommen, dass das mit den Laien. Nicht so ganz passend wäre.
Und irgendwie haben wir uns das auch schon gedacht und das haben wir jetzt zum Anlass genommen, unseren Podcast mal umzutaufen, zumindest im Untertitel, aber der spielt ja eh eine untergeordnete Rolle, von daher einfach komplex, bleibt erhalten und wird euch auch hoffentlich noch weiß nicht einige Jahre erhalten bleiben. Wie lange machen wir das eigentlich? Weiß ich auch nicht, aber Gerrit kurze Frage, Wir machen ne kleine Weihnachtspause oder weiß ich. Nicht also wahrscheinlich schon.
Machen wir einfach mal 3 Wochen Pause oder sowas. Im neuen Jahr gibt es dann einfach eine frische Folge von uns, ne. Genau. Fühlt euch nicht überrascht, wenn es da irgendwie zwischen den Weihnachtsfeiertagen, da vielleicht nicht der ganz der normale Rhythmus ist und wir dann nächstes Jahr wieder frisch
da sind. Ja, ihr hört auch schon so ein bisschen ich bin ich bin meine Stimme ist ein bisschen angeschlagen, wie wahrscheinlich viele von euch vom Herbst ein bisschen angeschlagen sind, aber das soll uns nicht stören, solange ihr mich verstehen könnt, reicht das ja erstmal. Also sie ist nicht viel tiefer als deine Stimme sonst Bock hat. Ja, schade eigentlich, aber ein bisschen nasala vielleicht.
Ich. Ja, vielleicht, das kann ja OK, gut, jetzt haben wir viel gelabert, also Leute für heute, das Thema ist influx DB ich würd sagen ist noch mal n Kracher mein influx DB muss ich sagen begleitet mich jetzt schon einige Jahre also kann ich arbeite jetzt so 56 Jahre im Bereich Software so und irgendwie hat das immer ne Rolle gespielt ne gerade für Zeitreihen Zeitreihen Daten aufzuzeichnen dann auch in Kombination mit anderen Tools
diese zu visualisieren wiederum oder ja in irgendeiner Form abzurufen. Also es war eigentlich immer n Thema und ich hab das immer komplett als Open Source Datenbank wahrgenommen, die es ja auch erst mal ist. Aber es steckt natürlich noch n bisschen mehr dahinter und wir
¶ Zeitreihen
wollen uns heute glaub ich die Firma angucken die dahinter steckt. Noch mal kurz und dann halt insbesondere das Open Source Projekt Influx DB Telegruppe nehmen wie man es einsetzt wofür es da ist und was das auch ja was sie so erfolgreich macht und so besonders denk ich mal oh Gott passt das. Ja, passt hervorragend.
Genau. Ja, du sagst es Gerrit Ja Zeitreihen ne du hast das Wort schon in den Mund genommen, das ist genau das ne, also es ist die Zeitreihendatenbank was heißt die ja also es gibt natürlich auch noch andere, die lassen aber heute gleich mal alle weg, ich mach auch keinen Vergleich wie das letzte Mal mit postgress und so weiter da hab ich ja, da war ja die der Ansatz der Folge auch noch n bisschen anders wo wir gucken wollten warum postgress und das können
die anderen heute gucken wir wirklich nur influx DB und es wert genug ist anzugucken. Weil es in sich n großer Player ist. Ja genau, zeitreih ist halt voll
was nieschiges ja und warum? Ja weil wenn wir über Datenbanken sprechen heißt ja immer erstmal wir wir sortieren und speichern quasi Daten also wir schreiben irgendwas rein um es dann später auch wieder rauszuholen um es strukturiert rauszuholen, ja um um irgendwelche Konditionen rauszubringen ja also wenn wir die relationalen Daten haben, dann haben wir meistens verschiedene Tabellen und dann dann wollen wir Informationen haben, die über Tabellen hinweg
sind und sind wir relational und so und ganz viele Probleme. Sind Relational, das heißt relationalen Datenbanken, sind wir sehr gut unterwegs, aber es gibt da dieses eine Problem, und zwar immer wenn mein Use Case so ist, dass meine Daten grundsätzlich erstmal ne Zeitreihe sind.
Ja und das passiert, das passiert gar nicht so oft, aber es passiert schon bei gewissen Sachen immer und das ist immer wenn wir Sensoren zum Beispiel auslesen, also im kompletten IOT Bereich ja also alles was so Sensorik ist, ja das ist. Das hat halt immer einen Zeitstempel dran.
Ja, und ich will halt immer irgendwie so Fragen stellen wie Ah wie sah denn, wie sah denn der Druck aus im letzten Monat ja hatte ich Ausreißer oder nicht oder sowas ja oder wie hat sich die Temperatur entwickelt mit meiner Gartenlaube ja war das irgendwie unter 0 war er mal vielleicht beim Frost oder sowas ja und immer dann habe ich halt Daten ja deren erster Eigenschaft quasi ein Zeitstempel ist ja also ein Zeitstempel und der Wert natürlich ja und da hat sich
halt influx DB. Als als die Lösung entwickelt ja die schon lange. Irgendwie find ich ganz relevant im Markt ist ja und halt Open Source, ja was gehört dazu, hast du auch schon gesagt. Das hast du schon IT als Use Case gesagt, aber kann man das nicht noch allgemein erfassen? Irgendwie wo es irgendwie so um Logging geht von von sich verändernden Werten? Also ich dachte auch gerade an sowas wie Überwachung von Servern oder solche Geschichten könnte es sich auch anbieten, eigentlich ne.
Ja, voll. Das ist der nächste große use case, ne. Also wir haben ja. In der IT Welt ja quasi auch die IT. Die Rechner, die uns selber diese ganze IT Möglichkeiten bescheren, also große Rechenzentren und so weiter die haben genau das ja, da willst du halt auch überwachen. CPU Last Memory, Last Disk Space und so weiter also alles was monitort ja über ne Zeit hinweg und da ist auch influx DB ein eine typische super Lösung ja für für genau sowas ja kann ich
¶ InfluxData Inc.
halt meine ganzen Daten rein reinhängen ja auch dann die.
Ja, die Auswertung dagegen ja, die sind halt anders, die haben halt immer irgendwas mit Zeitintervallen zu tun und Aggregation und so weiter und sofort ja und genau das haben sich halt, die hat sich die Firma, die hinter influx DB steht auf die Fahnen geschrieben das gut zu lösen ne und angefangen haben die 2013, da hieß die Firma noch nicht mit irgendwas mit Influx also weder das Produkt hieß so noch die Firma selbst ist auch jetzt nur wieder mal Wikipedia wissen für
euch hinaufbereitet also die Firma hieß sagen wir Airplane ERR plane. Also wie das englische Flugzeug.
Und gestartet haben, die haben die 2013, so jedenfalls Wikipedia. Ich habe auch ein paar andere Daten gefunden, 2012 weiß ich nicht ganz genau, ich habe jetzt nicht ins Handelsregister geguckt, geht vielleicht auch nicht mehr, weil es die Firma nicht mehr gibt, die wurden umgetauft, aber sowas wie 2012 2013 hat das ganze Ding gestartet und dann habe ich ein bisschen weiter gelesen, was ich total krass fand, das sage ich immer kurz vorneweg, ist ja also
es ist eine Firma die sich auf die Zettel geschrieben hat als Kernprodukt ein Open Source Produkt zu machen und. Und dann als Geschäftsmodell drumherum Services anzubieten, wie das ja oft so der Fall ist. Also diese ganzen Cloud Cloud Solutions und und und und Beratungsleistungen und so weiter, die werden dann quasi monetär abgebucht, aber das Produkt selbst ist halt Open Source und dennoch hat die Firma
das geschafft. Ein ziemlich beachtliches Investment Ranzuziehen über die Zeit, ich gehe das noch mal kurz durch, also die haben das Serious a hingelegt. Noch relativ früh, wahrscheinlich 2013, 14 oder irgendsowas. Hab es mir nicht aufgeschrieben von 8,1 Milliarden Dollar nicht Milliarden Millionen Dollar. Also 8,1 ist ja schon mal nicht schlecht für ne CUSA, dann wurden die in 2015 irgendwann zu der Firma, die wir heute so kennen, Influx Data nämlich mit dem Produkt influx DB.
Und haben danach noch mal n paar Series gerissen. Also ne Series b mit $16000000 ne Series c mit $35000000, ne Series d mit $60000000 und jetzt ganz aktuell ne Series e mit noch mal $81000000. Das finde ich, das hat mich n bisschen überrascht, weil das finde ich schon ganz schön beachtlich für für so ne Firma die n Open Source Produkt macht.
Ja was hast du Gerrit als als du bist ja mehr der Businessmensch bei uns als als ich, aber ich fand das schon ganz schön coole Zahlen so. Ja, es ist aber jetzt noch nicht so, dass es so unfassbar krass ist. Ehrlich gesagt von zahlen her was was, was die reinen Finanzierungsrunden angeht. Und ich glaube, das ist auch n relativ gängiges Modell. Du entwickelst also gerade auch im Bereich Datenbanken, Du entwickelst halt n cooles Produkt, machst, stellst es Open Source und bietest dann halt.
Was du eigentlich Anbietest, ist ja dieses Produkt als Managed Service. Also du kannst einfach in deinem Amazon ABS, Azure oder oder sonst. Wobei der Google Plot sagen Buch, ich nehm mir ne Datenbank hinzu, die rennt dann entweder dort drinne mit oder ich mach es sogar direkt bei. Jetzt heißt die Influx Data glaub ich die Firma ne nicht mehr airplane. Influx Data? Ja, genau. Mach es halt direkt bei denen und alles ist gelöst.
Ja, ich kann einfach an irgendeinen Ort alles hinschieben und dann von da wahrscheinlich über ne einfache abfragesprache Abi, was auch immer wieder die Sachen rausziehen, das ist ja eigentlich der.
Der Kern und und und. Dann muss es halt irgendwie schneller sein oder einfacher oder sowas als mit anderen Datenbanken. Wenn ich andere also es gibt schon häufiger das Modell, ich glaub bei Mongo DB ist es zum Beispiel auch so und es ist relativ gängig Open Source etwas zu machen und dann aber es schaffen nicht viele, du kennst natürlich nur die, die es am Ende schaffen und die die werden natürlich sehr gut und. Groß, das stimmt.
Aber es gibt natürlich auch, wir haben ja auch schon oft über Open Source Projekte, die auch sehr relevant sind, sag ich mal diskutiert. Gut, die dann entweder von ganz, ganz großen Firmen sind, aber es gibt natürlich auch so, ich sag mal Open Source Projekt, wo sich n paar Entwickler zusammengeschnitten haben und du hast ne github Community aufgebaut, aber da steht halt keine Firma dahinter, die halt irgendwie insgesamt mal irgendwie 160000000€ Dollar
geraced hat. Ja insofern also ich fand ich finde immer so was ist ja auch ganz schön mal zu wissen, dass da so was dahinter steht, denn das ist ja immer die zweite Frage, wenn ich mir n Produkt aus dem Schrank nehme, da das aus dem großen Schrank der Open Source Software. Angebote Wer steht denn eigentlich dahinter und wie nachhaltig ist das? Kann ich das produktiv einsetzen und bin auch noch die nächsten 5 Jahre safe?
Ja und also hier steht jedenfalls ne relativ große Firma dahinter, die halt auch n paar Millionen eingesammelt hat und da arbeiten auch n paar Leute dran, die können auch n bisschen was machen und die nehmen halt auch Einfluss auf ja auf Toolings und so weiter das ist ja immer, das haben wir auch gelernt, du hast natürlich n zentrales Produkt hier ist halt diese Zeitreihendatenbank. Aber es gibt natürlich zig Toolings drumherum, die vielleicht auch Open Source
sind, und die nehmen natürlich Einfluss darauf. Und also, und zwar im positiven Sinne, weil die diese Tools natürlich auch so entwickeln, dass die gut passen auf ihren auf ihre Zeitreihen Datenbank. Ja und und so weiter und sofort also toolings sowas wie Visualisierung und so weiter. Mhm OKOK ja, ich glaube tatsächlich, also ein Tool, was ja oft dann auch damit einherkommt ist ja sowas wie graphana. Genau denen ist es sogar auch ähnlich, ohne dass ich das jetzt genau wüsste, aber.
Na ja gut, das ist so Company ne, dann warst du jetzt gesagt, OK, die haben 160000000 eingesammelt. Hast du noch umsatzdaten oder sowas recherchiert? Ja, hab ich recherchiert, hab ich extra für dich recherchiert. Also ich hab gefunden, die haben ungefähr um und bei 2000 zahlen der Kunden und so weiter und große sowas wie Tesla, Cisco, IBM und Siemens und so und Umsatz wohl irgendwie 17 Komma
¶ Versionen
$3000000 in 2021 und jetzt ganz aktuelle Zahl verhaftet mich aber nicht, hab ich aber gefunden als Quelle 47,3. Millionen Dollar Umsatz in 24 ja, ja, bewerten tust du das ich ich sag es, hab es einfach mal nur vorgelesen ne wertfrei ja also jedenfalls machen sie n bisschen Umsatz würde ich sagen ja. Genau, aber das ist ja jetzt nur n Randthema für uns eigentlich. Ne, ganz genau, wir wollen ja n bisschen in die Technik einsteigen, das tun wir jetzt
auch. Jetzt haben wir mal kurz was, aber es ist ja auch mal schön zu wissen, wo kommt das her sortier ich das ein? Ne, ich find das vor allem gut was du gesagt hast. OK, das ist n Open Source Tool, aber da steht Dediziert eine Company dahinter, für die das halt das Kernthema ist. Es ist nicht das 195. Open Source Projekt für die Firma Meter oder sowas was die halt auch gerade mit Mentain, sondern es ist halt das eine von und deren Business hängt davon ab ne.
Also man kann sich schon drauf verlassen wenn man es jetzt. Einsetzt. Ja, das ist so genau, das ist so und jetzt mal ich, ich hab so n ganz leichtes ja gesagt, weil ich heute morgen hab ich was gesehen, was ich gar nicht so schön fand als Softwareentwickler und das teilt wahrscheinlich andere auch mit mir aber. Und das hat damit zu tun, mit den Produktversionen.
Dazu sage ich jetzt sofort, was es ist nämlich so, dass ich immer gedacht habe, es gibt genau 2 influx, es gibt die influx DB 1 Punkt x, also alles mit 1 vorne, die Major Release 1 Punkt X, die ist schon ein bisschen älter und nicht mehr, die aktuelle wurde damals in Go geschrieben und hat funktioniert und so weiter und dann gibt es schon seit einer graumen Zeit 2 Punkt x ist auch die Version die wir nutzen im produktiven Einsatz auch noch in Go. Und wir werden alles, was wir
heute besprechen, alle Konzepten, alle weiteren technischen Sachen an 2 Punkt x hängen und da hab ich heute gelesen, das wusste ich bis bis vor kurzem noch nicht, dass jetzt auch an 3 Punkt x gearbeitet wird mit einer komplett neuen Ausrichtung, also also mit einer ganz anderen erweiterten Zielsetzung, was ich so erfüllen möchte mit meinem Kernprodukt, ja. Mit angeblichen kompletten Umschrieb der Kernsoftware muss man sich mal überlegen, das ist
ja kein kleines Projekt und das haben die jetzt von Go auf umgesetzt auf Rust. Also jetzt sind 3, soll irgendwas in Rust kommen, auch mit neuen Konzepten und so weiter auch die Abfragesprache sogar das sag ich mal nur kurz, also eine Datenbank hat ja immer mal, musst du irgendwie reinschreiben und dann haben wir ja eine Abfragesprache, die ist
SQL bei den. Bei den relationalen Datenbanken hier haben wir kein SQL, das ist eine sogenannte No Sequel, wie man auch so schön sagt Datenbank, aber man muss ja trotzdem irgendwie eine Abfrage machen können, sonst wird es langweilig und es gibt von Influx DB oder von der Firma Influx Data entwickelt die Abfragesprache Flux, da kommen wir nachher noch ein bisschen im Detail zu, was eine krasse
Eigenentwicklung ist. Eine ziemliche hochsprachige Skriptsprache, die halt ja auf dem Level wie SQL rangiert. Ja, und das haben die mal kurz selbst erfunden. Und angeblich soll flux sich aber nicht durchgesetzt haben.
Was ich gelesen hab und in 3 schon wieder rausfliegen, was natürlich ne mittelschwere Katastrophe ist für Entwickler, weil man hat ja gerne, also man ist ja faul und man hat dann irgendwas laufen und das aktuellste Maintaint, das quasi nicht mehr und man muss schon wieder irgendwie nachdenken und sich einlesen und was Neues machen ne, deswegen hab ich so n kurzes ja gesagt, es ist irgendwie ne große Firma dahinter aber uh da passiert irgendwie was vielleicht in
Zukunft, aber vermutlich wird 2 lange maintaint werden ne also insofern. Das ist. Interessant, dass du das mit dem SQL und dem dem Flux sagst, weil wenn du auf auf die Website gehst von Influx Data und dann unter dem Produkt Influx DB Cloud guckst also das The Managed Service von Influx Data, die sagen dort query Data using SQL for Realtime Insights, also die Werben direkt im Hero Text damit, dass du SQL schon nutzen kannst. Weil du, weil du dir die 3 Punkte anguckst.
Da die Cloud Version der 3 Punkte.
Da geht es wieder. Nämlich das hatte ich ja gesagt, die Flux Sprache hat sich nicht so durchgesetzt und man geht wieder zurück zu SQL ähnlicheren Statements oder vielleicht sogar pro SQL, da bin ich jetzt gerade technisch überfragt, man hat es hat man hat halt irgendwie erkannt also ich glaube man hat das gut gemacht das flux ich kenn das im Detail wir sprechen wir sprechen das, ich find das gar nicht, ich find das gar nicht doof, ist natürlich total mutig und total groß sowas.
Sowas wie SQL quasi was so n krasser Standard ist. Ja, das ist wie irgendwie wie n Kapitel wie n Simon in der Bibel. Ja ist SQL also in der Softwaretechnologie ist einfach gesetzt, ja und da einfach mal als Firma, selbst wenn ich irgendwie ne große Firma bin und hab n bisschen Investment bekommen einfach mal n anderes Produkt gegenzusetzen und zu hoffen, dass sich das Durchsetzen in der Community kann funktionieren sie sagen selber ich hab n Artikel gelesen auf der Webseite in in den in
den Whitepages und Blogspots von von Influx Data selber. Dass sie n bisschen enttäuscht sind, oder was heißt enttäuscht? Also einfach hat anerkennen müssen, dass sich flux nicht so durchgesetzt hat, wie sie gedacht haben und eine einfach zu kleine user Community das nutzt um das Halt weiter durchzupeitschen. Ja damit verlieren sie ihren Boden, wenn sie das irgendwie, wenn Sie darauf bestehen und deswegen und deswegen jetzt noch mal ne leichte Umorientierung.
Kill your Darlings fällt mir dann ein.
Kill your darlings, ja. Ja, es ist auch nicht so, dass das exklusiv nur mit Flux abgefragt werden kandidatenbank es gibt es gibt noch andere SQL ähnliche Sachen, aber flux ist halt für die Version 2, von dem wir heute sprechen, die Abfragesprache und intern alle UIS die es auch gibt von von Influx Data selber basieren alle auf dieser influx Sprache, OK so viel dazu, ja ja genau, ich würd sagen, wenn du wenn wir jetzt erstmal keine allgemeinen Fragen haben würd ich nur kurz
vorausschauen was wir machen wollen noch ich würd. Gerne mit dir quasi auf die interne Organisation der Daten und so weiter gucken wie das so läuft und dann würde ich einmal kurz das Schreiben und das Lesen anschauen in der Datenbank und noch so n paar extra Toolings und Features und dann n paar Tipps geben irgendwie wie man das wie man einfach mal einsteigen kann und es mal schnell ausprobieren um mal n Gefühl zu kriegen was da los ist.
So ja und? Vielleicht sollen wir dazu sagen, dass wir das natürlich auch bei uns verwenden. Ne, wenn du das nicht noch machen willst und tief eingebaut haben, um ja jede. Zeit rein, um eigentlich aufzuzeichnen. Mit n paar Klicks bei uns. Ja, das stimmt gerade. 222 Klicks und einen einen, einen kurzen Namen vergeben, das war es eigentlich schon, was du bei uns machen musst. Von daher kennen wir das auch ganz gut. Also ich als Anwender, du als.
Richtig, richtig. Ich hab es also richtig tatsächlich produktiv eingebaut bei uns, das ist wahr, deswegen würd ich sagen, bin ich immer noch kein Experte, weil es extrem mächtig ist und wir auch nur n kleinen Teil davon
benutzen. Aber ja, also deswegen, das stimmt und wir haben, das ist halt auch noch mal wichtig, wir haben im Prinzip 2, demnächst 3. Wir haben im Prinzip 2 Datenlayer bei uns eingebaut und das macht halt Sinn, ne also für die relationalen Daten, für die relationalen Zusammenhänge haben wir quasi ne Postress intern immer da und dann für alles was nicht relational ist, bieten wir dann halt sagen wir halt OK, dann speichert das bitte nicht nur ne postress, sondern nehmt
vielleicht ne influx ja der manchmal ist es gar nicht so einfach zu entscheiden. Und das ist ne Architektur designfrage wann wechsel ich denn von einer relationalen Datenbank auf eine explizite Time Serious Datenbank? Ja weil die Sachen sind ja nicht 0 unter 1. Ja also du hast so ne so ne so ne leichte Graustufe wenigstens
so n gradient dazwischen. Ja es gibt so Probleme, da muss ich dann auch überlegen was ist denn besser oder was nicht weil du kannst natürlich in Postpress oder oder überhaupt in SQL Datenbanken ja natürlich auch Zeitserien aufzeichnen. Und wenn das, wenn das eine gewisse gewisse Größe nicht übersteigt, ist das auch gar kein Problem. Ja, ein Problem wird es dann wirklich erst und deswegen gibt es das. Wenn du wirklich, ich sag mal was jede Sekunde einen datenpunkt aufnimmst.
Ja und nicht nur einen, sondern vielleicht vom Rechenzentrum pro Sekunde über alle CPUS und alle Mems und alle Disspaces einen datenpunkt aufnimmst, ja dann kommt und das machst du pro Sekunde, dann kommt pro Minute pro Stunde pro Tag pro Monat mal Datenpunkte richtig Holz zusammen, ja. Und da brauchst du also, und das werden richtig viele große Datenfelder und und Punkte und das reinschreiben ist vielleicht auch noch nicht mal das größte Problem, das würde glaub ich ne
ne postwars auch gut können. Aber wenn du jetzt, wenn du jetzt richtig elegante Abfragen machen willst die die so schnell sind, dass du quasi in Echtzeit sofort nen Plot gerendert kriegst, das erwartest du ja heute von der Software, du sagst ja, du hast ja quasi nur noch einen Slider, sagst zeig an letzten Monat und dann musst dann zählst du einfach nur noch bis 1 und dann soll sich schon der Plot rendern, ne?
Dann musst du gewaltig gewaltig schnelle Abfragen machen und da wird es so sein, dass bei einer gewissen Anzahl an Datenpunkten und Größe von Problemen deine Postquest nicht mehr mitkommt und da outperformt dann halt sowas wie influx DB eine relationale Datenbank bei bei Faktoren also das wird dann das kriegen die Halt in Sekunden, also Bruchteilen von Sekunden
gelöst. Wo du dann anfängst bei Postquest wirklich zu zählen und zu warten und und 3 Sekunden bis so ein Diagramm da ist ist schon halt zu lang, das geht halt heute eigentlich mehr. Ja so, deswegen ne OK, ja genau dann haben wir das eingebaut. Wir haben wir haben, ich sag das
¶ Begriffe & Struktur
noch die wir haben als drittes arbeiten wir gerade dran, ist noch nicht voll freigeschaltet, aber wir haben noch ne Blockchain ne ne Blockchain ist ganz ähnlich wie ne Time Serie bloß manipulationsfrei hatten wir mal eigene folgen wer da Lust hat kann da mal reinhören ne?
Wenn wir sagen, wir haben das eingebaut, wir reden hier von der Heisenware unserer Low Coop Plattform, wo man selber Apps bauen kann, weiß vielleicht nicht jeder unser Zweitbusiness nach dem Podcast. Wenn wenn ich gerade Podcast mache, ja genau, genau, genau gut, prima, du wolltest jetzt erzählen, wie sieht die Datenstruktur aus oder die Struktur in so einer influx DB ne.
Genau das ist n, da müssen wir n bisschen mal durchgehen und das ist n bisschen komplexer als jetzt bei einer relationalen Datenbank. Da hab ich eigentlich im Prinzip bei einer relationalen Datenbank, ich sag es noch mal kurz, da hab ich im Prinzip die ja die Datenbank, ja die kann, die kann n Namen haben, ja und dann hab ich in der Datenbank Tabellen. Verschiedene Sorten, also sowas wie Users, Products und so weiter das kennen wir alle und
in den Tabellen hab ich quasi die Reihen Rose, da sind halt die einzelnen Einträge. Ja und da bin ich eigentlich schon durch die Organisation von, also durch die Datenstrukturorganisation einer relationalen Datenbank. Ja, bei Influx sieht es anders aus, wir fangen ganz von unten an. Ja ich glaub das ist einfacher zu erklären ne wir fangen mal die Hierarchie von unten an, arbeiten uns hoch an, schritten ne also was was ist denn der?
Der kleinste Atomische Wert, den ich in der Influx Datenbank einspeichern kann. Der Fachbegriff von Influx selber Gecoint heißt Point, also Data Point quasi, aber es heißt tatsächlich nur akkurat gesprochen Point, also ein Punkt und ein Punkt hat hat jetzt ein paar Eigenschaften, der Punkt braucht als allererstes mal einen Timestamp, also einen Zeitstempel der. Der Timestamp nur mal nebenbei gesagt ist der Primary Key in einer influx Datenbank.
Das ist also der während während wir in einer relationalen Datenbank irgendwelche id s haben oder irgendwelche unique id s oder vielleicht mal in einer e Mail oder sowas. Primary Key ist halt der Primary Key, festgelegt ist immer der Zeitstempel auf dem ich dann schnell suchen kann und der Zeitstempel, es wird aufgelöst. Das ist interessant, das kann man mal wissen, Spaß also es geht es ist der Unix.
Timestamp sind es Epok hatten wir auch schon mal die die Epok ist der 1. Januar 1970 und und der Linux timestamp wird eigentlich ausgedrückt in Millisekunden seit 1. Januar 1970 das sind schon n Paar, ja wird immer hochgezählt einfach mal weiter und war aber in der influx Datenbank weil die n bisschen akkurater sein muss von der Zeitauflösung her sind es die Nanosekunden seit dem 1.
Januar 1970 ja also. Den relativ großen Datentyp in die Hand genommen, weil das, das ist eine ziemlich große Nummer, das kann man sich vorstellen. Also sind das 10000 oder Hunderttausendstel von einer Sekunde. Ich glaube, es kommt ja erst was. Haben wir denn also Sekunde, dann haben wir Milli, dann haben wir also Milli ist ja schon eine Tausendstel, ne, dann haben wir ein Mikro und dann haben wir noch nano, also es ist irgendwie, dann lass mich nicht lügen, ich glaube hoch -9 oder
irgendsowas. Ist schon kleine Einheit, also eine große Nummer. Sagen wir es mal so. Ja so, also den Timestamp ist ganz klar und dann brauchen wir einen sogenannten Feel it Key, also den quasi den den Namen der Messung, also zum Beispiel Tembridge, und der braucht einen Wert 23,7 keine Einheit also, also erstmal nur Zeitstempel am so und so vielen Namesekunden nach 1970 habe ich gemessen das.
Tembridge von mir aus als als Field wert und dann 23,9 ja, ich könnte auch sagen Value oder wert oder irgendwas. Egal kann ich mir aussuchen ne und und dieses also das nennt sich Field Field Key und Field Value, ganz ähnlich wie man auch Field sagt in der Datenbank ne also das ist der der Fachsprech und jetzt habe ich im Schönen im No SQL Thema Ich habe sonst kein weiteres Schema ich habe jetzt noch die Tags das ist aber ein wichtiges Konzept ja also ich habe.
Und die Tags sind einfach Key Value Paare, beliebig viele, die ich in einen Punkt reinklatschen kann. Ne ich und die werden typischerweise genommen für für zum Ausdrücken wo genau irgendwie was ist. Ja also ich könnte zum Beispiel Tag könnte zum Beispiel also wenn ich zum Beispiel sage Tembridge ja, dann könnte ich als Tag sagen, City und der Wert wäre dann Hamburg, ja und dann könnte ich irgendwie noch sagen irgendwie Night oder Day oder gut, da können Sie sagen irgendwie Zeit time.
Oder Irgendsowas. Ja, also kann ich mir, kann ich mich völlig frei aus toben und kann Text geben, ja. Also so so das. Es gibt ja Kontext dem eigentlichen Nasswert genau quasi und ich wollte dich mich grad schon fragen wie du gesagt hast Tembracher ist das nicht eigentlich n schlechte Benennung für so n Punkt jetzt weil es ja so super generisch ist und überhaupt nichts aussagt, aber du würdest dann tatsächlich das beschreibende Element in diese. Tags setzen und wenn Sie es beschreiben.
Genau. Und wenn man es jetzt technisch ausdrückt und man sich unsicher wäre, was ist denn jetzt n Field und was ist n Tag, da kann man sich einfach vorstellen das Field ist halt eigentlich das Feld was sich ständig ändert. Also weil ich hab Prinzip mit jeder Messung n neuen Field Value weil ich ne neue Temperatur aufnehme.
Gut es kann schon sein, dass es n paar mal 23 Grad ist, aber hab ich jetzt zwar n ziemlich genaues Thermometer, dann ist es halt andauernd bisschen unterschiedlicher also es das Field ist dafür gemacht sich ständig zu ändern, bei jedem Punkt während die tags. Sich ändern können, aber eigentlich ändert die sich nicht so oft.
Ja so und dann dann bin ich fertig, dann habe ich einen Datenpunkt geschrieben, ja, also ich habe quasi den Zeitstempel, ich habe einen Field Key mit deren Value und und und die tags ich brauche auch keine Tags, kann man weglassen wenn ich es einfach mache so und jetzt ist es so, dass einen dieser Datenpunkt, den ich jetzt einmal definiert habe, der wird wo reingeschrieben, ja in ein sogenanntes Measurement, ja.
Das ist die Messung ja und n Measurement Measurement hat halt einfach einen oder mehrere Datenpunkte. Ja und n Namen ja das könnte jetzt zum Beispiel Temperaturen heißen oder irgendsowas ja ich könnte zum Beispiel das Measurement in Tembritures ja und dann hab ich als Field im Point hab ich zum Beispiel einfach nur stehen Value ja und dann hab ich noch n paar tags ja welche Stadt und so weiter ja.
Angenommen ich, ich bau mir jetzt so NIOT use Case auf, hab vielleicht 3 Sensoren verbaut, einer für. Temperatur also Wetter jetzt meinetwegen und eine für Luftdruck und ne andere für Windgeschwindigkeit oder so. Dann würde ich dann 3 measurements mir aufbauen wo ich dann jeweils einen Sensorwert als Zeitreihe drin habe oder?
Das ist das schwierige bei influx du kannst, du kannst es machen, du kannst 3 Measurements aufbauen, du könntest auch ein Measurement sagen, wo du sagst IOT Data nennst du das n bisschen n bisschen genereller, das musst du mal dann gucken. Ja und dann baust du quasi. Dann machst du aber mehrere Data Points in das hast du quasi 3 Data Points und dann sagst du zum Beispiel splittest du zum Beispiel auf entweder nach Typ zum Beispiel Templature Pressure hast du gesagt und was hast du
noch gesagt, irgendwie. Win Speed, oder? Win Speed von mir aus ja, also könntest du quasi dann die die Datenpunkte quasi so aufsammeln oder du packst halt sogar in den Datenpunkt mehrere Tags dran. Ja und sagst halt was das gerade ist und so weiter ja das Macht das n bisschen komplex.
Weil du, weil du durch diese tags und die Measurements hast, relativ viel Freiheiten und es gibt aber auf der da kann man mal gucken, wenn man auf die influx DB Dokumentationen gibt, gibt es Best Practices, weil die selber wissen die Jungs von Influx Data, dass es manchmal gar nicht so einfach ist zu entscheiden, was wird denn jetzt hier wie organisiert?
Ja organisiere ich mich nach Sensor, organisiere ich mich nach Einheit der Messung. Oder pack ich Sachen mehrere mehrere Sachen zusammen, indem ich die Tags benutze? Ja, ich kann nämlich, ich kann nämlich auch mehrere Fields haben. Ja also Field sind Key Value
pairs. Ja ich kann also auch n Field templager haben und dann hab ich das Field Pressure und das Field Win Speed ja das geht alles ja und der Datenpunkt das muss ich auch noch mal sagen, also strukturell technisch, also Computer Science mäßig gibt es eigentlich nur die Tags die Field und die Timestems und n datenpunkt ist eigentlich mehr so n. Ja ne Definition ne die ich
vorher gesagt hab. N Datenpunkt ist halt immer genau dann wenn ich sage das gehört einem einem bestimmten Messung ein Measurement ja hat einen oder mehrere Tags aber einen bestimmten Field Namen ja das formuliert man als Punkt ja, aber im Prinzip kann das trotzdem alles nebeneinander existieren ja kannst du alles reinpacken o. K aber jetzt mal so so rein logisch. Wenn ich jetzt ne Wetterstation hätte mit 3 Sensoren dran.
Die ja logischerweise immer im gleichen Ort und immer zur gleichen Tages, also Nachttag oder so. Also die Tags sind ähnlich, aber 3 Werte, die würde ich klingt erst mal logisch, den 1 in Measurement einzupacken. Ja da hab ich dann, so stell ich mir so n Array aus Daten vor du.
Würdest in einen Measurement packen und vielleicht sogar und dann würd ich sogar sagen, weil also wenn die wenn das ne Wetterstation ist und die würde ja quasi immer diese 3 Messungen auf einmal machen, dann würd ich sagen die haben vielleicht sogar den gleichen Timestamp ja. Weil macht ja keinen Sinn, denen auch noch irgendwie verschiedene Timestamps zu machen. Du willst ja vielleicht sogar Auswertungen machen, wo du dann über diese Zeitstempel quasi immer diese 3 Werte hast.
Dann kannst du irgendwie Korrelation machen oder irgend
so was. Ja das kannst du alles machen mit influx DB. Dann würdest du sagen es gibt einen Zeitstempel und dann gibt es mehrere Field Keys, ja dann würdest du als Field Key sagen halt genau tembriture Pressure und Win Speed und packst das alles quasi zusammen und vertaggst das ordentlich mit und dann sagst du noch wo deine Wetterstation steht und dann hat vielleicht Innentemperatur und Außentemperatur ja. Temperage Inside könntest du dann sogar noch machen und temperage outside und dann
vertext du noch ein paar Sachen dran und dann kriegst du das alles zusammengeregelt aber das Measurement könnte quasi ein
einfaches Wort sein. Also hier an der Stelle muss man, muss man tatsächlich und da muss man sich ein bisschen eingrooven, ich sag es mal so, also man kann es ja, man kann das sehr komplex machen mit den tags, ich sag noch was zu den Tags, die Tags sind immer indiziert, also alle, die jetzt ein bisschen technischer unterwegs sind, man kann ja bei den Datenbanken kann man die suchen.
Die Anfragen der Suchen optimieren, indem man sagt, ich indiziere bestimmte Eigenschaften ja jetzt in der relationalen Welt, da sag ich in der Tabelle so und so mach ich quasi ein Feld, ein bestimmtes Feld mach ich zu einem Index, dann hat die Datenbank n bisschen mehr Arbeit und braucht vor allen Dingen mehr Memory, weil es quasi sich dieses diese eine Spalte anguckt, dieses Feldes und im Speicher vorhält, und dann kann ich ganz schnell abfragen machen, weil weil ich
nicht quasi in einem Vorlub durch jedes Durchgucken muss, sondern ich komm direkt drauf, ja. So funktionieren die Tags auch die sind direkte Anfragen. Ja, während die Fields nicht indiziert sind.
Ja, das sind halt die kontinuierlichen Werte, die jeweils dem Zeitstempel zugeordnet sind, ja nur noch mal kurz der dings und jetzt sag ich kurz mal was, weil wir jetzt gerade Measurement, tags, Fields Times, Times, Data Points und so weiter ist komplex und wenn man es nur auf der Audi Spitze sowieso, ihr müsst euch das noch mal angucken in der Doku, aber ich sag mal kurz wie wir das machen in der bei uns in der Heisen werde und der Gerrit hat ja gesagt wir können sowas
tatsächlich einfach mit 2 Klicks machen ja das heißt bei uns. Kommen halt irgendwelche beliebigen Datenpunkte an und dann sagen wir, jetzt mache ich mal einen Rekorder und nehme die auf. Ja, und dann gibt man diesen Rekorder einen Namen, ja, damit man quasi sich wieder auf diese Daten, auf diese Daten quasi beziehen kann. Das sind bei uns keine Tags und keine Fields und keine Time, also ja klar die sind dahinter, aber das wird ein Measurement.
Ja, also wir sind gar nicht so kompliziert mit den ganzen Tags und so weiter ja da n Tag bei uns zum Beispiel ist die Application ID, also in welcher Anwendung ist dieser ist dieses Measurement stattgefunden? Weil wir quasi im im Backend quasi. Also wir können mehrere Anwendungen quasi sich diese Daten teilen, deswegen ist das zum Beispiel ne metainformation ne die App ID ja, aber wir machen zum Beispiel ganz viele Measurements. Ja und das ist auch nicht schlimm, ne, also das ist der
optimierte. Und das ein ein so n Measurement könnte ja wirklich oder? Kann ja bei uns ein Datenpunkt sein, also was ich wirklich ein Wert ein Key value also für der mich interessiert wie sowas wie die Temperatur oder n ganzes. Array auch schon wieder sein. Von, nee, nee, ein Measurement ist eigentlich ist n Name und das hat eigentlich immer n
erregerit. Also wenn wenn du nur ein ein Ding ein ein Eintrag da drin hättest, dann hättest du quasi ne Zeitreihe wo du nur einmal n Datenpunkt genommen hast. Das ist ziemlich spaßbefeut also das brauchst du keine Influx ne aber es ist du, du sagst halt das Measurement heißt was weiß ich irgendwie silofüllstand oder Irgendsowas genau silofüllstände oder irgendsowas könntest du sagen ist mein Measurement ja
und dann? Und dann nimmst du quasi jedes Mal, wenn sich der Füllstand ändert, nimmst du quasi Data Points auf und schmeißt die in die Measurements. Ja, also ne Measurement hat n Anzahl von Data Points ja. Das meinte ich. Aber was ich jetzt quasi meinte war sogar n Array über Arrays. Ja, also es ist immer n Array ist klar weil es ja immer für jeden Zeitschlampe wird einfach n loyalisteneintrag hinzugefügt quasi.
Genau. Ne, aber ein ein Eintrag kann an sich ja auch schon mehrere Werte wieder enthalten, ne? Wäre ja sehr genau. Also ich, ich geh jetzt mal kurz genau hin wo du wo du bist. Du sagst der Field Value, also der der Wirkliche, das der Eintrag, ja das was ich speichern möchte. Ja der Datentyp von dem was ich aufzeichne das ist nennt sich der Field Value im Influx DB, der hat ja n Datentyp und auch da genau das hab ich gar nicht gesagt. Danke, dass du noch mal drauf
gepiekt hast. Der kann so wie bei anderen Datenbanken auch verschiedene Formen annehmen, aber nicht so viele in Influx ist der entweder bulien, also ist halt n Wahrheitswert. Oder ist halt n skalarer wert wie die Temperatur. Das ist da so n float normalerweise ja es gibt oder du hast stringenwerte ja also textuelle die du aufzeichnest. Ja und das macht das eigentlich relativ überschaubar, weil du gar nicht dir so viel Gedanken machen musst um den exakten Daten die du sagst.
Du hast halt mehr oder weniger ist numerisch ist n Wahrheitswert oder ist halt irgendwas textuelles ja. Und Punkt aus und der Rest regelt influx DB sehr elegant
für dich. Ja, und damit kannst du sogar ganze json Objekte aufzeichnen, so machen wir das auch, also wenn wir ganz komplexe Dinge haben, dann machen wir schnell n json Objekt drauf und aus dem JSON das Wissen jetzt die Experten kannst du immer ins String machen das serialisierte Format vom JSON ist einfach n langer String und den kannst du ja auch quasi als textuellen Inhalt in deinen Datenbank speichern und wenn du es rausholst dann gehst du schnell
wieder zurück ins Json und alles ist Magic ja und alles ist nice. Das ist genau das, was ich meinte. Danke Jason Objekte, da hast du quasi n Array aus Jason Objekten, die aber als Drink so abgelegt. Genau, ja, das kann man machen. Ja OK und ob man das so so machen wir das ja, ob man das, ob man das jetzt so machen sollte weiß ich nicht, aber das funktioniert hervorragend, kann ich nur sagen, ja es ist es braucht natürlich immer.
Es braucht natürlich also die Datenbank zieht dir dann einfach diese textuellen Inhalte ab und dann braucht dein Klick dann Client. Also da wo es halt quasi angezeigt wird braucht n Moment mehr Rechenpower, weil halt aus diesen String Jasons erst noch mal richtige Jasons gemacht werden, die müssen also geparst werden, ist das richtige Wort dafür, das ist aber so hoch optimiert mittlerweile also Jason Parson und und und Stringifine das ist ne
Operation, die ist schnell ja also da merkt man nichts, das funktioniert ganz gut. OK so, wir haben uns, wir haben uns von unten nach oben jetzt gearbeitet, also wir haben verstanden, was ein Data Point ist. Wir haben mit dem mit dem Timestamp im Field und den Text drinne, dann haben wir verstanden was ein Measurement ist, also eine Gruppierung von von von Datenpunkten.
Es gibt noch das Wort Series, ja, also eine Series, ein Data Series ist einfach eine Gruppe von Punkten von Points, ja. Die, die unter dem gleichen Measurement sind. Ja, und die gleichen Tags und die viel Keys haben. Ja das ist ne Series, aber ich will es jetzt auch nicht
überreizen. Ja es gibt extrem viele Konzepte, das Macht das so n bisschen kompliziert die Einstiegshürde von Influx DB. Ja so jetzt gehen wir aber das nächste Level hoch, also nen Measurement ist in einem sogenannten Bucket ja das ist n neues Konzept vor allen Dingen in der zweier Version von von Influx D Bucket also Eimer ja also ich hab quasi. Ich stell, ich stell mir immer vor, dass Bucket irgendwie so auf dem Level ist wie ne Tabelle, wie ne datenbanktabelle.
Ja das ist halt n Eimer, da kannst du halt mehrere Eimer haben. Ja so und was wichtig ist zu diesen Buckets, das muss man jetzt wissen, das haben die geändert, nur der Bucket hat eine sogenannte Retention Policy ja also der hat erstmal auch n Namen N Bucket Namen und ne zugeordnete Retention policy was ist ne retention policy? Das ist n wichtiges Konzept vor allen Dingen in Zeitreihen Daten das heißt halt ich sage ich fange an meine Daten zu
überschreiben. Die älter sind als relatives Datum, ja, zum Beispiel älter Daten, die älter sind als einen Tag, werden halt quasi wieder rausgeschossen ne und überschrieben durch die neueren ne oder Daten die älter sind als ein Jahr und ich bin völlig frei das zu definieren ne und ich kann auch sagen ist ein Bucket hat quasi infinite Capacity da wird nie was rausgeschmissen ne so und das ist wichtig diese
buckets ja also. Und jetzt sind wir auf der zweithöchsten Stufe und dann kommt noch über den Buckets die sogenannte Organisation, so nennen die das in Influx DB. Die organisiert quasi die Buckets. Ja, also das ist jetzt quasi, wem gehören diese ganzen Tabellen? Ja, also das ist quasi die höchste Stufe der Attraktion, andere Firmen sagen zu sowas Workspace oder Irgendsowas ja, denn auf der Organisation mach ich so Sachen wie Usermanagement ja.
Denn ich muss ja, das habe ich noch nicht gesagt, aber das ist ganz klar, ich habe ja auch Authentifizierung, Autorisierung und so weiter, das ist alles mit drinnen in flux, ich kann ja nicht einfach, es ist nicht alles offen und jeder darf das irgendwie lesen, sondern das kann man sehr atomisch halt auch natürlich einstellen, muss sich einloggen und Tokens erwerben, dass man überhaupt lesen oder schreiben darf, ne oder oder alles gibt es alles, gibt es so ein all Admin token, da kann ich
alles machen, ne Einfachheit halber oder ich kann halt auch sehr atomar begrenzen wer was lesen oder schreiben darf und alles das. Wird in der Organisation gemanagt. Ja, die hat einfach auch n Namen und und dann kann ich da drin quasi Gruppen von Usern oder einen User oder Irgendsowas bestimmen.
Ja und kann dann quasi Rechte vergeben und so weiter da würde ich dann auch so Sachen machen wie wie nen Death und Staging und ne Production Organisation und so weiter also ich geh jetzt noch mal rückwärts, wir haben ganz oben die Organisation, dann haben wir die Buckets, dann haben wir die Measurements da drinne und die Measurements bestehen aus den Data Points die jeweils immer diese 3 Informationen mit sich tragen, optionale Tags. Wichtig mindestens ein Field Key
Value und den Timestamp. Ja dann haben wir es eigentlich ja einmal so durchgerutscht. Ja retention, ich sag noch mal was ich überlege gerade wann ich das sage, ich sage das jetzt, weil wir das, weil wir diese Buckets haben, ja, das ist ganz
¶ InfluxDB Tasks
spannend, dass die, dass man nur auf den, also früher war das so, dass man die Retention Policy an den Measurement dran geklatscht hat, das war ne Version 1 so. Jetzt ist es so, dass die Buckets quasi diese Retention policy haben. Ja, das heißt, ich muss an einer relativ hohen Hierarchieebene mir schon mal überlegen und dann für alle Measurements, also für alle besser und gleichzeitig hab ich das gleiche retention
policy. Ja jetzt kann man sagen, Boah das ist aber ne Limitierung ja ich will das viel Atomischer sagen und ich ich ich glaube aber zu denken, dass die Idee ist auch hinter 2 wie man das macht. Ja ich denk ich hab ja n typisches Problem ja ich nehm noch mal das Problem von wir haben ganz viele Sensoren und die nehmen jede Sekunde n Datenpunkt auf ja und das machen die Halt über Jahre hinweg ja. Weil es halt so ist.
Ja, dann bekomme ich ja, wenn ich in dieser Auflösung bleibe, einfach gigantische Mengen an Daten. Ja, an denen ich ja in dieser Auflösung gar nicht mehr interessiert bin. Ja, denn typischerweise, was interessiert mich, wenn ich jetzt mal sage, vor 3 Jahren am 2. Oktober, 2021 oder irgendsowas will ich wissen, was in dieser Nanosekunde der Wert von dem Temperaturmesser war. Ja, das sind keine typischen Anfragen, die ich stelle, da gibt es kein Use Case zu ja.
Also ich, ich, ich, ich zeig sowas ja immer nur an. Ich will höchstens wissen, Boah was war denn die Durchschnittstemperatur vor 3 Jahren über den letzten Monat hinweg oder irgendwie sowas, ja. Genau, oder? Ich will kurzfristig wissen, was sind besonders krasse Ausschläge, sowas kann man sich auch vorstellen, ne, also dann auch hochfrequenter ne aber kurzfristig.
Typischerweise, wenn man das jetzt mal so n bisschen physikalisch, ich komm ja so bisschen aus dem Skalasystem angeht, dann willst du vielleicht sehr stark in die Vergangenheit zurückgehen. Dann willst du aber sehr stark ausgedünnte Werte haben, also statistisch aggregierte Werte.
Dann willst du also quasi minens haben, also Durchschnitte, vielleicht sogar in Median. Und was du sagst ist auch sehr richtig, du willst, du willst dann eigentlich sogar an jedem durch durchgeschnittelten Datenpunkt sehen, was ist denn die Standardabweichung, also wie groß ist der Spread innerhalb dieser aggregierten Daten? Ja, sind die sehr weit auseinander oder sind die sehr nah aneinander? Das gibt ja schon was und du willst den Max und den Minwert zu diesem. Zu allen diesen zusammen
aggregierten Werten sehen. Ja, und da gibt es diese tollen Plots, die nennen sich glaub ich whiska plots, da siehst du halt nicht nur n Punkt, sondern du siehst quasi in der Mitte so n kleinen Balken, der gibt dir den Everett, die gibt dir quasi die Abweichung an um die Mitte, das ist die Standardabweichung und dann hast du so dünne Linien mit so einem mit so einem Cap irgendwie, ich glaub in der Finanzwelt wird das auch oft gemacht, bei den Börsenkursen, ja dann siehst du den Max und
den minn wert, ja. Und das, was du brauchst, weil zum Beispiel, ich gebe jetzt mal ein Beispiel aus der echten Welt, pumpen ja turbopumpen oder Irgendsowas, die relativ niedrigen Druck halten müssen. So ein Vakuumsystem, das hat man oft in der Industrie vakuumsysteme, und die liefern eigentlich sehr langweilige Daten, die sind immer, die haben immer irgendwie ganz wenig Druck.
Ja, also und und variieren kaum ja und wenn, wenn aber mal so ein Loch Leck ist irgendwie wenn das vakuumsystem Leck schlägt, ja dann gibt es halt einmal so. Und zwar nur vielleicht für 10 Sekunden oder sowieso ein Schlauchboot, was geplatzt ist.
Und dann ziehen die wieder an. Ja, und dann hatte ich halt, dann habe ich halt über mehrere Lockstufen einen krassen Ausschlag, der aber ganz kurz war, ja, und der darf mir nicht verloren gehen, wenn ich später mal aggregiere ja die Daten, weil wenn ich jetzt, wenn ich jetzt einen Average mache, dann über einen Monat ja von diesen immer gleichen Daten, die halt für 10 Sekunden mal einen Peak hatten, weil der geht ja komplett verloren in der Mathematik, ja.
Aber der ist aber das ist aber n total relevantes Event, was ich halt sehen will. Ja weil weil vielleicht ist da meine Produktion Charge kaputt gegangen, weil nämlich gerade kein Vakuum da war, also n schlimmes Event sag ich mal. Ja, also insofern genau hast du recht, will ich irgendwie so max und minz dann irgendwie noch persistieren.
So jetzt hab ich lange viel erzählt, aber das ist jetzt die Idee mit diesen Buckets, die Idee ist nämlich, dass man quasi buckets machen kann, die relativ kurzlebig sind am Anfang. Denn wenn ich in die nahe Vergangenheit gucke, dann will ich vielleicht ne hohe Auflösung noch haben ja mich oft dran
interessiert. Ja, das heißt ich mach vielleicht n Bucket, das hat irgendwie ne Auflösung von einem Tag, da sind aber Datenpunkte drin die irgendwie n Abstand haben von einer halben Sekunde oder vielleicht sogar von von von Zehntelsekunden oder irgend so was, ja.
Und dann will ich aber vielleicht ne ne Methode haben wo ich sage, OK wenn der Tag rum ist oder ne Woche oder irgendsowas dann mach halt rechne Statistik auf, mach halt quasi so ne Art Windowing, so nennt sich das halt auch ja every for every hour oder for every day oder irgendsowas find
halt genau das raus. Diese statistischen Kennzahlen, Minen, Median Max und min und so weiter ja und jetzt packst du diese Daten, die ja schon auf einer viel gröberen Auflösung sind, also weniger sind ja runterskaliert in den nächsten Bucket. Du lässt das alles gleich. Du lässt die Measurements, tags und so weiter alles gleich.
Du sagst halt einfach nur Pass auf, ich löse halt die Daten jetzt n bisschen gröber auf, mach n bisschen Statistik dran und Klatsch die halt in den nächsten Bucket ja der dann halt irgendwie ne retention Policy schon viel länger hat ja von vielleicht einem halben Jahr ja und dann packst du das oder n Jahr und dann packst du das oder noch besser du fängst an, hast Tage, dann hast du n Week Bucket, dann hast du n Muns Bucket und n Year Bucket ja und jedes Mal.
Schneidest du halt, machst du halt diese Fenster n bisschen größer und n bisschen mehr Statistik. Ja dann kannst du über sehr viel Zeit sehr viel Informationen sammeln, die eigentlich immer noch relativ aussagekräftig ist und die eigentlich so ist wie viele Use Cases sind ja in der kurzen Vergangenheit relativ hoch aufgelöst.
Und je weiter du nach hinten kommst, ist immer noch was da kannst du gucken, aber ist halt irgendwie n bisschen gröber aufgelöst sogar und dann kommst du auch nicht in Bredouille mit deinen riesigen Datenmengen. Ja, und das ist eigentlich, und
das haben die vorbereitet. Und es gibt dafür ein sogenanntes Mittel, das sage ich jetzt, das ist nicht, gibt es nicht so vergleichbar in irgendwelchen anderen Datenbankensystemen, das nennt sich Tasks bei influx DB und dann kann ich quasi genau definieren, kann ich quasi, also also auf Aufgaben anlegen, indem ich sage, Hey, immer nach einem Tag mittelst du die Daten so und so und so, und dann schmeißt du die in den nächsten Bucket rein, ne?
Und das kannst du einmal definieren für deine Datenbank und dann passiert das ja und dann kannst du das, was ich jetzt gesagt hab. So ne kaskadierende statistische Ausdünnung nach hinten ist so wunderbar mit so n paar Tasks, dann machst du 4 Tasks bis fertig ist richtig nice.
¶ InfluxDB starten und bedienen
Ja das kannst du machen und das dabei sind die ja total generisch, du kannst dabei machen was du möchtest. Ja Statistiken rechnen wie du lustig bist. Ja das ist im Prinzip Low Code, also kannst du frei, kannst da frei arbeiten, ja. Wie konfiguriert man das? Hat man da so ne Art Oberfläche oder gibt es da ne API? Also das ist ja quasi jetzt nicht Abfragen der Daten machen, sondern wirklich aufsetzen von so von so so, so Automation. Guter Punkt. Wir springen noch mal kurz
rüber. Wie bediene ich oder wie sieht das überhaupt aus, wie kann ich arbeiten mit so einer Datenbank? Also wenn du wenn du ich empfehle immer Docker ist natürlich klar und influx DB hat ein offizielles Dockerimage und dann kannst du den kannst du dir ziehen und dann kannst du den Dockercontainer starten wenn du das tust. Kommt der mit einem Webinterface?
Ja, da wird auf Port schließe mich tot 8084 oder irgendsowas kannst in deinem lokalen Browser aufmachen und da hast du eine wunderhübsche UI. In dieser UI kannst du Daten reinschreiben, Daten lesen, die sind krasse plotting Mechanismen, dieses ganze Filtern und so weiter kannst du machen und du kannst Tasks anlegen und so weiter und kannst alles üben und spielen, dir angucken, anzeigen machen.
Und und du kannst ja den Container wieder dicht machen, dann fängst du wieder von vorne an, dann verschmutzt ja nichts, da kannst du einfach isolierte Spielwiese.
Richtig cool, das ist quasi die grafische, also es gibt n echt und das ist nicht graphana oder irgendsowas ja influx DB 20 kommt mit ihrem eigenen krassen UI, das ist wirklich schick gemacht im Browser ich mir das angeguckt und auch bedient, schon kann ich sehr empfehlen, da kann man das alles ausführen und da kannst du halt auch Daten reinspielen, das haben wir noch nicht gesagt, das mach ich gleich noch. Wie man überhaupt Daten reinkriegt das geht ne.
Also das ist die UI und dann kannst Du Gerrit auch. Wer dann ein bisschen härter an die an die Materie rangehen will. Es hat natürlich jede Datenbank wie sie es gehört auf der Konsole eine sogenannte CLI, ein Command Line Interface gibt es den Postpress auch und gibt es natürlich für Influx auch und dann gehst du einfach die die Dockerexperten werden das können du tippst dann einfach einen Docker ex Hack Space It Docker containername und dann. Zum Beispiel Bash oder Irgendsowas.
Oder ich weiß nicht genau, was für eine Shell ist die richtige Shell ausgewählt hinten Ash, dann kommst du quasi mit deiner Eingabeaufforderung mit deiner Konsole in den ausführenden Container rein, der gerade läuft und da drin ist schon die alles vorinstalliert, da hast du quasi ein kleines Linux Betriebssystem und da findest da sagst du einfach nur noch influx ist da installiert, dann kommst du auf die CLA das Commander Interface von Influx und schlägst die Dokumentation auf dem anderen
Schirm auf und kannst loslegen ja und kannst da also per. Per commandland Interface alles abfragen und machen, was halt auch die UI kann. Ne, also so kann man sich da richtig krass zusammen üben. Ja wie das alles so geht. Ja, Mhm cool. Also das war der Punkt jetzt schon. Wie kann ich das jetzt nicht mal? Ausprobieren, mal kurz vorgezogen macht passte aber gerade weil du es ja auch gefragt hattest und macht ja auch Sinn.
Ja genau so und das empfehle ich auch, man muss das glaube ich also auf der Audiospur. Heute könnt ihr natürlich mitnehmen, aber man muss das, es gibt auch n paar Videos im im Internet. Die das zeigen, wie das geht, das muss man mal mit der UI gemacht haben.
¶ Daten lesen und schreiben
Ja, also weil das ist relativ, ihr seht ja schon mit dem mit dem ganzen Fields Tags und krams ich, ich kann dann halt auch krasse Abfragen machen, so ja es sind ja aber auch komplizierte Probleme, die man manchmal damit löst mit so Time Series Sachen
erobern. Ich hab zum Beispiel ein Beispiel gesehen, dass bei uns auch hochaktuell zum Beispiel Stromzähler, ja, ich kann ja zum Beispiel Stromzähler ablesen und den Stromzähler stand quasi als als Item vertaggen und gleichzeitig dazu in dem gleichen Data Point, die die aktuellen Strompreise. Ja, und da kann ich mir krasse Plots herstellen, da kann ich viele Fragen stellen, ja, wieviel Euros hab ich denn differentiell quasi irgendwie
ausgegeben, ja, bei gleichen Kilowattstunden und und und und ja, und das Krieg ich alles gebacken und das tue ich mit der Abfragesprache von. Der Abfragesprache von Influx, die ich ja wie gesagt die, die jetzt erst mal nicht SQL basiert, ist im ersten Schuss, sondern in der Zweier. Halt dieses Flux, ja, das heißt Flux FLUX, wieder Fluxkompensator beim Zurück in die Zukunft.
Ja, und das ist n krasses Monster, da hab ich, da muss man erst mal schlucken, da muss erst mal raffen, dass das überhaupt ne abfragesprache ist und dass es das gibt, das habt ihr jetzt durch mich irgendwie einfacher ich als ich das erste Mal influx gebeten bin, hab ich gedacht, was ist denn jetzt kaputt, was ist das, was heißt flux, was muss ich damit machen. Ja, das ist quasi das SQL Underlogon.
Ja und sieht komplett anders aus, hat damit nichts mehr zu tun, die haben halt quasi neue Sprache entwickelt. Ja so mit fromm und sowas sieht so n bisschen aus wie Java Script und hat dann aber so komische Symbole mit so Pipes und so weiter ja und am Ende des Tages drück ich aber in jeder flux Anfrage 3 Sachen aus. Ja ich muss halt immer angeben was ist meine Datenquelle ja also da sag ich zum Beispiel from Bucket Wetterstation ja. Dann muss ich immer angeben, ein
Zeitintervall, das ist wichtig. Also ich sag immer den letzten Monat oder wir machen oft tail tail, da kennst du Garrett, also die letzte zeigt mir an die letzten 100 Punkte, 100 Datenwerte, egal wie lang, ja da kann ich auch total krass, ich kann mit relativen Zeiten arbeiten, das macht flux alles intern, ich sag einfach nur -1 m, das heißt den letzten Monat also echt total trivial und dann hab ich gesagt schon woher und welches Intervall. Jetzt kommt jetzt würde mir
schon irgendwie n riesen datenstapel entgegenkommen und diesen Datenstapel der da jetzt entgegenkommen würde, den kann er jetzt auch noch mal filtern. Ja beliebig ja, da gibt es so die Funktionen sind so ähnlich wie n Java Script, ich kann filtern, ich kann mappen, ja ich kann, also ich kann wirklich on the Fly auch noch die die Strukturen umbiegen und so weiter die haben da halt, die haben in dieser Abfragesprache
richtig einen reingehauen. Ja das ist so n bisschen wie unsere Modifier ja, also das ist so n bisschen on the Fly. Abfrage ja, und aber das Ding ist, dass das halt nicht hinten passiert, sondern vorne an der Datenbank.
Das heißt, wenn man das gut aufschreibt, dann ist das wie ein gutes SQL Statement, dann kriegt man halt schon die Vorformatierten Selektierten gefilterten Daten wie man sie halt wirklich haben will, vielleicht für den letztendlichen Plot schon direkt von der Datenbank vorgearbeitet. Ja und übers Netz kommt nur noch genau das, was ich anzeigen will. Ja und der Client muss dann quasi nicht mehr viel Computing machen, das mach ich dann quasi.
Nahe der Datenbank nahe, also quasi dem Server der der diese Doc, diese diese influx Datenbank kostet. Ja, und diese Abfragesprache die da könnt ihr mal n eigenes Kapitel für meinen eigenen Podcast, für meinen machen aber nicht das müsst ihr euch mal angucken. Ja das ist extrem krass was man da alles machen kann.
Ja und die die Funktionen die da wichtig sind sind sowas wie Every und Aggregate ne also das ist alles schon drin, da kann ich sagen jede Minute mach mir den Mean daraus und so weiter ja also diese ganzen komplexen Zeitfragen und so weiter sind da sehr sehr elegant und einfach gelöst.
Und bei unserer Plattform, wenn wir jetzt so ne Read Funktion da haben um aus der influx DB Rauszulesen wenn man da wenn man die konfiguriert quasi mit einem Filter zum Beispiel für n bestimmten Zeitraum dann im Hintergrund machst du daraus so n so n flux macht den. Fluxkompensator ja genau, ich mach da im Hintergrund n flux draus.
Ja ich, dies ist halt so kompliziert, dass man das haben die selber gemacht, so ne, also die UI wovon ich sprach, die im Container ausgeführt wird, der von Influx selber mitgebracht wird, da hast du quasi auch so visuelle. Filterkomponenten, wo du auf dem High Level mit Dropdowns und so weiter kannst du da das auch sagen? Every und so weiter und die Tags angeben und so. Ja weil also das und du kannst die dann.
Das Schöne ist, wenn du das visuell gemacht hast, dann kannst du ja auch anzeigen, also wie sieht eigentlich mein Flux mein Fluxskript aus, wie würde die so sagen und dann hast du so n fettes Skript da hast hat dann irgendwie 10 Zeilen ne einfacher zu verstehen ist, wenn du das quasi grafisch irgendwie visuell irgendwie vor ja wieso NSQL Bilder halt ne das SQL ist ja auch im Notfall ganz schön kompliziert mit den ganzen
Joints und so weiter. Und aber das Unterstützen die quasi auch durch so eine Art Abfrage. Ui Bilder ja und dann kommt halt dieses Flux raus und so machen wir es auch, wir reduzieren diesen diesen krassen Content von Flux runter auf ein paar Optionen die wo jetzt ich ganz privat mal denke, das sind die wichtigsten und dann werden die entsprechenden Flux Anfragen gestellt.
Ja und wer krass drauf ist, der hat auch das gibt es auch die RAW flux kannst du da auch reingeben ja also das habe ich auch, ist ja immer die Idee von Software macht es ganz einfach aber lass es trotzdem für die. Für die krassen Experten wenn dann Advanced Use Case ist. Die Möglichkeit ist auch irgendwie ganz detailliert zu beschreiben. Das heißt, du kannst bei uns auch die ganze Flux selber reinpasten. Es geht auch, ja, du musst aber wissen was du tust. Ja, so ist auch deren Ansatz.
Ja finde ich irgendwie auch schick ja also genau und und dieses mächtige Ding, also das hat also ich sag das nur mal kurz ja, also das machst du nicht im Vorbeigehen so ne Skriptsprache und das ist quasi n Datenbank Curry Optimizer ja da müssen Sachen vorkompiliert werden und so weiter das muss gepasst und interpretiert werden, ist ne neue Sprache. Da haben die wohl n paar Jahre dran mit vielen Entwicklern
geknackt. Ja, das war für die n Riesending ja in der für die zweier Version dieses flugs ja und leider wie es ja manchmal so ist, ja, ist leider nicht so ganz, vielleicht auch weil es einfach ziemlich komplex ist. Ja, ist irgendwie nicht so auf den fruchtbaren Boden gefallen
wie sie es gerne hätten. Ja, es gibt wohl viele Power User, aber so in der breiten Masse ist das irgendwie ja nicht so richtig angekommen und deswegen wohl auch ein Grund das noch mal angefasst zu haben in der Dreier Version ne. Vielleicht kommt es irgendwann auch mal wieder.
Jetzt habe ich noch nichts zum Schreiben gesagt, das mache ich noch und da sind wir nämlich eigentlich, da bin ich mit meinen Themen durch, gerade wenn du schon eine Frage hast und mich dabei, aber lass mich 1 noch mal sagen. Ja, das wollte ich dich noch fragen. Ja, das. Schreiben, das haben Sie richtig cool gemacht, das haben Sie ganz einfach gemacht.
Also es gibt eine Möglichkeit, es gibt natürlich wieder viele Möglichkeiten, aber die Hauptmöglichkeit, das sogenannte Line Protokoll, und das ist im Prinzip, ich kann tatsächlich echt einfach nur ein textuell ASCII mit einem http post curl gegen meinen Datenbank Endpunkt. Kann ich da reinklatschen? Ne, das ist das ist total einfach.
Ich schreib da irgendwie sowas hin wie Measurement gleich Wetterstation Komma ja dann schreib ich meine Tag gleich bla und so weiter hin Key und Tag und dann schreib ich dann Value gleich 23,7 und tatsächlich ist es einfach so als dringend eine Zeile ja und dann sag ich Post schick ab ne also haben wir ja ganz oft schon gemacht, Rest ist n Rest ab hier ich poste das Sky auf der Commandline machen mit irgendeinem Tool ja COL zum Beispiel n leichtes Ding der Datenbank ja und weil das so
einfach ist unten drunter. Gibt es eine Millionen Integration in die ganzen Programmiersprachen? Ja, also ich nutze natürlich irgendwie so ein API Rapper SDK, wie man so schön sagt für No js in dem Fall ja, aber das Macht nichts anderes als dann diese diese einfache Line Protokolls abzusetzen. Ja und da gibt es dann noch irgendwie ein bisschen batch bisschen bla, aber ist total
trivial. Ja, ich Donna eigentlich im Prinzip Datenpunkte raus, ja ich schraube mir, schraube mir lokal meinen Datenpunkt zusammen und dann schicke ich den ab und dann ist der da drinne fertig also das ganze Management von Influx DB ist relativ einfach ja weil ich. Also diesen relationalen Aspekt ja auch nicht hab. Ich kann dann einfach auch die Datenpunkte löschen, ich kann Measurements löschen und so weiter Buckets neu erstellen,
löschen hin und her. Ja ich muss natürlich gucken, dass ich mir nichts wegschmeiße was ich haben will, aber boah ich hab jetzt auch nicht so n Schmerz mit irgendwelchen 0 values und so weiter weil ich diesen ganze Relationskrams nicht hab weil es dann einfach so über tags funktioniert. Ja ist einfach. Die komplexere Sache ist dann halt nicht beim Managen, sondern eher beim Abfragen.
Wenn ich dann halt sagen will, fassen wir zusammen das Measurement mit dem Measurement oder mit dem Tech und nur die Wetterstationen aus Deutschland mit, die irgendwie und so weiter ja dann fängt s halt an, da kommt dann halt der Hase im
Pfeffer sag ich mal. Wenn ich das richtig abfragen will und da kann auch viel falsch machen, da kommt immer irgendwas raus wie bei der KI, das hat meistens keinen Syntagsfehler, aber ob das das ist was du da raushaben willst, ob du das wirklich ob das wirklich, ob du das wirklich richtig formuliert hast? Ja siehst du, wenn du wenn das Licht angeht ja, also was ich sagen will, du musst das auch mal üben glaub ich mit Influx also sofort in Production zu
gehen. Also ich würd mal sagen so nimm mal so n Excel hin mit 100 Zeilen irgendwas drin wo du die Werte kennst wo du dann mal mit Excel n paar Funktionen machst, dass du so weißt was da statistisch rauskommt und dann baust du das einmal kurz nach mit so n paar Fluxdingern.
Damit man auch weiß, dass man, dass man keinen Mist gebaut hat, so ja bei der Auswertung. Es geht schnell, dass da irgendwie was komisches rauskommt, hab ich mich auch, also ich spreche aus Erfahrung, ich hab es mit dem Text am Anfang nicht verstanden gehabt und dann kommen da auch lustige Sachen, da kommt was raus, aber das ist nicht das was du denkst, was es sein sollte ja so n bisschen n kleiner kleiner Kaviat hier an der Stelle ja, dass man das n bisschen
ausprobiert mal, aber dann hat, da ist man irgendwann dahinter und dann geht es. Wir hatten noch mal vorhin, also
¶ Daten visualisieren
mit Schreiben bist du durch. Oder ich bin mit schreiben durch. Ich bin insgesamt durchgeredet. Also wir hatten jetzt. Ich fass noch mal kurz zusammen, wir hatten die Datenstruktur angeschaut, wir hatten schreiben jetzt ganz zum Schluss zum Lesen, lesen ist halt dieses Fluxgedöns, dann hab ich über die Tasks gesprochen, die was ganz Besonderes sind, wo ich quasi Daten ja automatisch
umsortieren verwalten kann. Ich kann da so quasi zu so einem lebendigen Objekt machen, meine ganze Datenbank und so wie wieso n conjob ja oder wieso n Windows Service jede Woche passiert irgendwas mit meinen Daten ja und man enthält sich von alleine ja. Und zum Ausprobieren habe ich auch was gesagt. Also insofern wäre jetzt so mein mein Rundumschlag, so ein bisschen durch, wäre aber natürlich klar hierfür. Ich glaube ja, dass influx DB
total anwendernahe ist. Also ich will ja nicht nur Daten aufzeichnen, will sie ja dann auch anzeigen visualisieren. Also da sehe ich es dann immer auch, wenn man mal über die Hannover Messe oder ähnliche Industriemessen geht. So jeder zweite stand, der irgendwie Daten anzeigt oder wahrscheinlich noch noch mehr als jeder zweite.
Die die, die sind dann aufgezeichnet mit influx DB oder in eine influx DB und visualisiert mit Graphana so das ist so der Klassiker glaub ich den man da in der Kommunikation in der Kombination benutzt ne, aber man kann ja auch mal zum Beispiel heißen, wir benutzen ja auch, wir können uns ja auf ne beliebige influx DB draufsetzen, ne oder halt auch.
Und andere Tools nämlich ich denke mal da gibt es Integration für alles mögliche, ja. Ja, weil das relativ, also wie gesagt, das ist jetzt keine Raketenwissenschaft, was da reingeht und rauskommt, das ist relativ einfach, und ich sag mal, jede jede, und es gibt ja zig Web, also graphana ist n graphana ist ja nichts anderes als ne sehr gut sortierte Chart libry, also webkomponenten die charting können ne also bar, Charts, Line, Charts, sanky, Charts was weiß ich, pi, Charts
und so weiter und sofort davon gibt es aber auch wie Sand am Meer, also man ist. Wenn man keine Lust hat, Garphana als großes Ding anzubinden, da kann ich mir auch aus der aus der großen weiten Welt der Open Source Chart Libraries, die sehr, sehr hervorragend sind, eine raussuchen und kriegt die Easy gefüttert.
Ja mit dem, was aus einer Influx rauskommt, wenn ich das in Anfrage mache, ich glaube, das Schwierigste ist, noch schwierigste ist vielleicht tatsächlich noch diese diese flux Queries zu erstellen, diese Skripte. Anhand einer grafischen Oberfläche. Ich glaub das ist was graphana besonders gut kann.
Also das ist ja auch nicht so einfach, also ich diese ganzen Filter so zu bauen, das können natürlich diese charting Libraries erstmal nicht, aber auch das kann man bauen und vielleicht gibt es da sogar auch Tools, weiß ich nicht, also man kann ja in den Sources ja als Open Source, man kann ja zum Beispiel den Source Code von diesem von dem eigenen Influx DB Interface gucken, ne und sich das komplett übernehmen was die da als also die werden es ja wissen wie es geht, ja die sich
dann den Flow. Den Flow Flux Flow UI Generator da irgendwie mal anschaut, ne. Also wenn man Softwareentwickler ist, ja sonst kann man es natürlich nicht. Ja aber also ich mein Ja. Nee, prima, dann hab ich heute
auch nichts mehr. Also was ich nur sagen wollte ist, zur Visualisierung gibt es dann auch wieder etliche Tools, die man einfach oben drauf stecken kann und ich glaube in der im IOT Space ist auch so n so n klassischer Stack ich hab irgendwie was zum Daten reinfüttern irgendein Tool ja um um von verschiedenen Sensoren und Protokollen Dinge zu verfassen. Note Red ist dann natürlich gängig. Man kann auch da heißen Werbung
nutzen. Jetzt mach ich doch noch mal n bisschen Werbung, dann das Kram speichern in in der Infox DB und dann wieder visualisieren in Graphana also so n klassischer Stack oder man nimmt n Tool wie unseres wo das alles in einem geht ja genau oder mischt die wie man möchte ja das geht natürlich auch OKOK gut. Gut, gut. Dann haben wir es ja. Ich würd sagen, ja, ich hab jetzt auch nicht viel mehr und meine Nase ist zu.
Ja, hast gut durchgehalten und wieder ein cooles Thema erläutert, hat Spaß gemacht und wir hören uns dann vielleicht im neuen Jahr vielleicht nicht mal sehen, vielleicht auch schon vorher. Vielleicht fällt uns noch was anderes ein, aber Burkhard, lassen wir mal in die Weihnachtspause was Podcast, was den Podcast angeht, ja auf jeden Fall ja. Genau, genau.
Meine Kunden haben ja schon gesagt, ja, du musst doch unterm Tannenbaum programmieren, insofern machen wir vielleicht beim Podcast mal eine kleine Pause, aber ihr hört von uns, wir kriegen das hin. Wir machen auch ein weiteres Jahr weiter. Ja, und jetzt erstmal wunderschöne Feiertage, ja bleibt gesund, habt eine schöne Zeit mit eurer Familie und eurer Liebsten, kommt dann gut ins neue Jahr und wir hören uns dann wie gesagt spätestens dann wieder. So ist es wünsche ich euch auch.
Trinkt mal einen Glühwein, ist gesund, Grüße aus Hamburg, Tschüss. Und danke, dass ihr uns in diesem Jahr so treu wart. Bis dahin, tschau. Einfach komplex wird präsentiert und produziert von Heiseware. Wir freuen uns auf deine Fragen und [email protected] vielen Dank fürs Hören dieser Folge bis Dienstag in 2 Wochen und Tschüss aus Hamburg.