ยซULID - die bessere UUIDยป
Nicht wirklich neu aber spannend und ja weder ich noch Coder die ich persรถnlich kenne haben dies bis jetzt angewenden aber UUIDv7. Ob nun ein ablegen eines UIIDv5 รผber XOR mit einer ULID einen Sinn ergibt bezweifele ich, da es (ein wenig) anonymer ist aber nicht mehr unbedingt einzigartig in der Datenbank sein kann. Ist ULID ein UUIDv7 "Ersatz", wie seht ihr es?
๐ pep-digital.de/blog/ulid-anstaโฆ
#uuid #ulid #xor #uuidv5 #uuidv7 #code #id #db #uniqueID #datenbanken #unique
ULID - die bessere UUID - pep.digital
Immer wieder stehen Entwickler und Datenbankadministratoren vor der Entscheidung, welcher Datentyp am besten fรผr die Primรคrschlรผssel in relationalen Datenbanksystemen geeignet ist. Integer und UUID sind die gรคngigsten Typen.Dirk Randhahn (pep.digital GmbH)
Jens Finkhรคuser
in reply to ๐๐๐๐๐โ๐๐ก๐๐ • • •Naja... fangen wir mal mit dem Debunken an:
"Performance Probleme bei Verwendung von โclustered indexesโ."
Ja. Nein. Beim *Schreiben* ist das so. Der Lookup eines Schlรผssels wรคre eher schneller, wenn รผberhaupt.
Du legst einen auf Lookup optimierten Index an und benutzt das um viel zu Schreiben? Da machst Du etwas falsch. Aber die Verwendung von UUID ist nicht der Fehler.
1/n
Jens Finkhรคuser
in reply to Jens Finkhรคuser • • •Wird dieses Problem bei ULIDs gelรถst?
Jein. Ja, aber nur wenn Du beim Schreiben primรคr in aufsteigender Zeitstempelreihenfolge schreibst. Wenn Du ULIDs von irgendwoher in irgendeiner Reihenfolge bekommst und schreibst, performen die genau wie UUIDs.
Wieder: der Fehler ist, einen clustered Index fรผr etwas zu verwenden, wo man viel sequentiell rein schreibt.
Jens Finkhรคuser
in reply to Jens Finkhรคuser • • •Es klingt so, als ob da jemand eigentlich eine time series database will.
Events werden da erst in ein Log geschrieben, also nur angehรคngt. Das geht schnell.
Dann werden die events an die richtige Stelle im Index gesetzt, und mit den umliegenden komprimiert.
Dadurch ergibt sich nicht nur schneller Lookup durch den Index, sondern auch schneller Lookup dadurch, das zeitlich zusammenhรคngende Daten in weniger Speicher geladen und durch die Gegend geschubst werden.
Jens Finkhรคuser
in reply to Jens Finkhรคuser • • •Die Logs sind eigentlich bei Datenbanken รผblich, die Komprimierung fรผr time series eher untypisch.
Aber wenn Du den Anwendungsfall hast, dann nimm halt eine passende DB, und dann braucht es auch keine ULID.
Nuja. Kann man schon machen. Weiss bloร nicht ganz, warum.