UUID v7 জেনারেটর
এমবেডেড Unix Epoch timestamp সহ UUID v7 আইডেন্টিফায়ার তৈরি করুন, বাল্ক জেনারেশন এবং ফরম্যাট অপশনসহ
ইনপুট
আউটপুট
রিডমি
UUID v7 কী?
UUID v7 হলো RFC 9562-এ সংজ্ঞায়িত Universally Unique Identifiers-এর সর্বশেষ সংস্করণ। UUID v4 (সম্পূর্ণ র্যান্ডম) বা UUID v1 (MAC ঠিকানা ব্যবহার করে)-এর মতো পুরনো সংস্করণগুলোর বিপরীতে, UUID v7 সরাসরি আইডেন্টিফায়ারের মধ্যে মিলিসেকেন্ডে একটি 48-bit Unix Epoch টাইমস্ট্যাম্প এম্বেড করে। এটি UUID v7 মানগুলোকে তৈরির সময় অনুযায়ী স্বাভাবিকভাবে সাজানোযোগ্য করে তোলে — ডেটাবেস ইন্ডেক্সিং, বিতরণকৃত সিস্টেম এবং ইভেন্ট লগিংয়ের জন্য এটি একটি বড় সুবিধা যেখানে কালানুক্রমিক ক্রম গুরুত্বপূর্ণ।
যেহেতু UUID v7 MAC ঠিকানা অন্তর্ভুক্ত করে না, তাই এটি UUID v1-এর সাথে সম্পর্কিত গোপনীয়তার উদ্বেগগুলো এড়িয়ে চলে। টাইমস্ট্যাম্প এবং version/variant ফিল্ডের পরে অবশিষ্ট বিটগুলো র্যান্ডম বা মনোটোনিক ডেটা দিয়ে পূরণ করা হয়, যা একই মিলিসেকেন্ডের মধ্যে একাধিক UUID তৈরি হলেও অনন্যতা নিশ্চিত করে।
UUID v7 কীভাবে তৈরি হয়
একটি UUID v7 নিম্নরূপে সংগঠিত 128 বিট নিয়ে গঠিত:
- বিট 0–47: মিলিসেকেন্ডে একটি 48-bit big-endian unsigned Unix Epoch টাইমস্ট্যাম্প
- বিট 48–51: 4-bit version ফিল্ড,
0111(7) হিসেবে সেট করা - বিট 52–63: সাব-মিলিসেকেন্ড নির্ভুলতা বা অনন্যতার জন্য 12 বিট র্যান্ডম বা মনোটোনিক ডেটা
- বিট 64–65: 2-bit variant ফিল্ড,
10(RFC 9562) হিসেবে সেট করা - বিট 66–127: অতিরিক্ত অনন্যতার জন্য 62 বিট র্যান্ডম বা মনোটোনিক ডেটা
এই কাঠামোর অর্থ হলো পরবর্তী সময়ে তৈরি UUID গুলো সর্বদা মিলিসেকেন্ড স্তরে আগেরগুলোর পরে সাজানো হবে, যা B-tree ইন্ডেক্সযুক্ত ডেটাবেসে প্রাথমিক কী হিসেবে আদর্শ করে তোলে।
টুলের বিবরণ
এই UUID v7 জেনারেটর এম্বেডেড টাইমস্ট্যাম্পের ভিজ্যুয়াল বিশ্লেষণসহ RFC 9562-সম্মত সংস্করণ 7 UUID তৈরি করে। একসাথে একটি বা সর্বোচ্চ 100টি UUID তৈরি করুন, আপারকেস এবং লোয়ারকেস ফরম্যাটের মধ্যে পরিবর্তন করুন এবং হাইফেন অন্তর্ভুক্ত করবেন কিনা তা বেছে নিন। টুলটি প্রথম তৈরি UUID থেকে এম্বেডেড Unix Epoch টাইমস্ট্যাম্পও বের করে প্রদর্শন করে, যা আপনাকে প্রতিটি আইডেন্টিফায়ারে এনকোড করা তৈরির সময় যাচাই করতে দেয়।
উদাহরণ
| ফরম্যাট | উদাহরণ আউটপুট |
|---|---|
| স্ট্যান্ডার্ড | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| আপারকেস | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| হাইফেন ছাড়া | 019544a23b4c7d8e9f012a3b4c5d6e7f |
বৈশিষ্ট্যসমূহ
- বাল্ক জেনারেশন: পরিমাণ স্লাইডার দিয়ে একসাথে 1 থেকে 100টি UUID v7 মান তৈরি করুন
- আপারকেস টগল: লোয়ারকেস এবং আপারকেস আউটপুটের মধ্যে পরিবর্তন করুন
- হাইফেন টগল: কম্প্যাক্ট ফরম্যাটের জন্য হাইফেন অন্তর্ভুক্ত করুন বা সরিয়ে দিন
- টাইমস্ট্যাম্প এক্সট্র্যাকশন: তৈরি UUID থেকে স্বয়ংক্রিয়ভাবে এম্বেডেড Unix Epoch টাইমস্ট্যাম্প প্রদর্শন করে
- ডাউনলোড সাপোর্ট: ব্যাচ ব্যবহারের জন্য তৈরি UUID গুলো টেক্সট ফাইল হিসেবে এক্সপোর্ট করুন
ব্যবহারের ক্ষেত্র
- বড় আকারের ডেটাবেসের জন্য সময়-সাজানোযোগ্য প্রাথমিক কী তৈরি করুন যেখানে ইনসার্ট পারফরম্যান্স এবং লোকালিটি গুরুত্বপূর্ণ
- Kafka বা Pulsar-এর মতো বিতরণকৃত ইভেন্ট স্ট্রিমিং সিস্টেমের জন্য মনোটোনিক্যালি বর্ধমান আইডেন্টিফায়ার তৈরি করুন
- এমন অ্যাপ্লিকেশনে UUID v4 প্রতিস্থাপন করুন যেগুলোতে আলাদা টাইমস্ট্যাম্প কলাম ছাড়াই কালানুক্রমিক ক্রম প্রয়োজন
UUID v7 বনাম অন্যান্য সংস্করণ
| সংস্করণ | সময়-ভিত্তিক | সাজানোযোগ্য | গোপনীয়তা-নিরাপদ | র্যান্ডমনেস |
|---|---|---|---|---|
| v1 | হ্যাঁ | না | না (MAC ব্যবহার করে) | কম |
| v4 | না | না | হ্যাঁ | বেশি |
| v6 | হ্যাঁ | হ্যাঁ | না (MAC ব্যবহার করে) | কম |
| v7 | হ্যাঁ | হ্যাঁ | হ্যাঁ | মাঝারি |
UUID v7 সেরা গুণাবলীগুলো একত্রিত করে: হার্ডওয়্যার আইডেন্টিফায়ার প্রকাশ না করে সময়-ভিত্তিক সাজানোযোগ্যতা, এবং বিতরণকৃত নোড জুড়ে সংঘর্ষ প্রতিরোধ করার জন্য যথেষ্ট র্যান্ডমনেস।
বিকল্পগুলোর ব্যাখ্যা
- পরিমাণ (1–100): একটি একক ব্যাচে কতটি UUID v7 মান তৈরি করতে হবে। একটি ব্যাচের সমস্ত UUID একই আনুমানিক টাইমস্ট্যাম্প শেয়ার করে কিন্তু তাদের র্যান্ডম বিটে আলাদা।
- আপারকেস: সক্ষম করা হলে, আপারকেস hex অক্ষর দিয়ে UUID আউটপুট করে (a–f-এর পরিবর্তে A–F)।
- হাইফেন: সক্ষম করা হলে (ডিফল্ট), UUID গুলো স্ট্যান্ডার্ড 8-4-4-4-12 হাইফেন গ্রুপিং অন্তর্ভুক্ত করে। কম্প্যাক্ট 32-অক্ষরের hex string-এর জন্য নিষ্ক্রিয় করুন।
সাধারণ প্রশ্নোত্তর
UUID v7 কি সংঘর্ষ করতে পারে?
সংঘর্ষ অত্যন্ত অসম্ভব। একই মিলিসেকেন্ডের মধ্যেও, র্যান্ডম/মনোটোনিক ডেটার 74 বিট 18 কুইন্টিলিয়নেরও বেশি সম্ভাব্য সমন্বয় প্রদান করে। uuid লাইব্রেরি একটি প্রক্রিয়ার মধ্যে অনন্যতা নিশ্চিত করতে মনোটোনিক কাউন্টারও ব্যবহার করে।
UUID v7 কি UUID v4-এর সাথে পশ্চাদমুখী-সামঞ্জস্যপূর্ণ? হ্যাঁ। UUID v7 একই 128-bit, 8-4-4-4-12 ফরম্যাট অনুসরণ করে এবং যেখানে UUID গ্রহণযোগ্য সেখানে বৈধ। বিদ্যমান UUID কলাম, পার্সার এবং ভ্যালিডেটর কোনো পরিবর্তন ছাড়াই কাজ করে।
কখন UUID v4-এর পরিবর্তে UUID v7 ব্যবহার করা উচিত? UUID v7 ব্যবহার করুন যখন আপনার ব্যবহারের ক্ষেত্রে সময়-ক্রমানুসারে কী থেকে উপকার হয় — উদাহরণস্বরূপ, ডেটাবেস প্রাথমিক কী হিসেবে যেখানে ক্রমানুসারে ইনসার্টের মাধ্যমে B-tree ইন্ডেক্স পারফরম্যান্স উন্নত হয়। UUID v4 ব্যবহার করুন যখন ক্রম অপ্রাসঙ্গিক এবং আপনি সর্বোচ্চ র্যান্ডমনেস চান।