01KZ789H75JHWBF5FYFFV8H28J
ULID یا Universally Unique Lexicographically Sortable Identifier یک شناسه ۱۲۸ بیتی است که بخش زمانی و بخش تصادفی دارد. برخلاف UUID v4 که کاملاً تصادفی است، ULIDها بر اساس زمان قابل مرتبسازی هستند و خوانایی بهتری با حروف Crockford Base32 دارند. این ویژگی برای دیتابیس، لاگ، event id و سیستمهایی که مرتبسازی زمانی ID مهم است کاربرد دارد.
ULID شامل timestamp است و بهصورت lexicographic قابل مرتبسازی زمانی است، اما UUID v4 معمولاً ترتیب زمانی ندارد.
ULID با ترکیب زمان و تصادفیبودن احتمال برخورد بسیار پایینی دارد، اما مثل هر ID تصادفی، یکتایی مطلق ریاضی برای همه شرایط تضمین نمیشود.
بله، چون قابلیت مرتبسازی زمانی میتواند نسبت به ID کاملاً تصادفی برای بعضی الگوهای insert و query خواناتر و کاربردیتر باشد.
بله، بخش اول ULID زمان تولید را در خود دارد. اگر پنهان ماندن زمان تولید مهم است، باید این نکته را در نظر بگیرید.
خیر، تولید در مرورگر انجام میشود و شناسه ساختهشده برای پردازش به سرور ارسال نمیگردد.
ULID جدید تولید کنید و آن را برای رکورد، event یا trace استفاده کنید. اگر زمان تولید نباید قابل حدس باشد، بهجای ULID از شناسه کاملاً تصادفی یا توکن مناسب استفاده کنید.