ساخت ID های منحصر به فرد در دیتابیس های توزیع شده ( قسمت دوم)
سلام دوستان امیدوارم که حالتون خوب باشه. این بار میخوایم قسمت قبل رو که یه مقدمه ای بود درباره دیتابیس های توزیع شده ادامه بدیم و یکم عمیق تر موضوع رو بررسی کنیم پس با ما همراه باشید.
راه حل بعدی که برای توزیع کلید ها بررسی میکنیم اسمش هست UUID
قطعا اگر توسعه پشت-انتها ( همون بک اند خودمونه) رو کار کرده باشید حداقل یکبار اسم UUID به گوشتون خورده. به یه شکل کلی بخوام توضیحش بدم میاد یه کلیدی که احتمال منحصر به فرد بودنش خیلی بالاست رو تولید میکنه و تو فیلد primary key دیتابیس قرار میده ( ۱۲۸ بیت هست) از قابل اعتماد بودن این روش همینقد اشاره کنم که اگر صد سال شما هر ثانیه یک کلید generate کنید، تازه احتمال تولید کلید تکراری به ۵۰ درصد میرسه. جالب نیست؟
این یه نمونه از UUID هست :09c93e62-50b4-468d-bf8a-c07e1040bfb2.
اینطوری با خیال راحت میتونید کلید های منحصر به فرد رو بین سرور های مختلف پخش کنید بدون هیچگونه نگرانی از تولید کلید های مشابه.
در واقع اینطور بگم که شما اگر پروژه بک اندتون رو روی چند سرور ران کنید، هر کدوم از سرور ها هر بار که نیاز شه یک کلید مجزا تولید میکنن بدون مشکل.
مشخصه که مشکلات مقیاس پذیری میاد پایین و این روش واقعا ساده و کم هزینست.
از معایبش هم اینه ۱۲۸ بیت رو رزرو میکنه در حالی که ما ۶۴ بیت فقط نیاز داریم و این که کلید تولیدی تنها عدد نیست ( البته عیب بزرگی محسوب نمیشن)
منبع:
https://t.me/tobecomesoftwareengineer