UUID/GUID-ს გენერირება
უნივერსალურად უნიკალური იდენტიფიკატორი (UUID), ასევე ცნობილი როგორც გლობალურად უნიკალური იდენტიფიკატორი (GUID), ფართოდ გამოიყენება კომპიუტერულ სისტემებში.
ეს არის 128-ბიტიანი კოდი, რომელიც გენერირდება სისტემის მიერ ცვლადებსა და მუდმივებზე დაყრდნობით: მიმდინარე დრო, MAC მისამართი, SHA-1 ჰეში, MD5 სახელთა სივრცე. UUID-ის გენერირების საბოლოო შედეგი, რომელიც ნაჩვენებია დეფისებით გამოყოფილი 32-სიმბოლოიანი ალფაციფრული კოდის სახით, შეიძლება თვითნებური ჩანდეს, მაგრამ სინამდვილეში ეს რთული გამოთვლების შედეგია. ამრიგად, კომპიუტერი არ „იგონებს“ კოდს, არამედ აყალიბებს მას კონკრეტული ტექნიკური რაოდენობებისგან, რომლებიც შესაბამისია მოცემულ დროს.
ალბათობა იმისა, რომ ერთი და იგივე UUID გენერირებული იქნება ორ განსხვავებულ კომპიუტერზე სხვადასხვა დროს ნულისკენ მიდრეკილია, რაც შესაძლებელს ხდის მიღებული კოდების გამოყენებას წერტილის/ლოკალური მონაცემების იდენტიფიკაციისთვის საკოორდინაციო ცენტრის მითითების გარეშე. დღეს, UUID/GUID არის ყველგან გავრცელებული როგორც ონლაინ, ისე ოფლაინ ქსელებში და ეფექტურად მუშაობს არა მხოლოდ გლობალურ ინტერნეტ სივრცეში, არამედ დამოუკიდებელ კომპიუტერულ სისტემებშიც.
UUID ისტორია
128-ბიტიანი UUID კოდები პირველად გამოიყენა ამერიკულმა კომპანიამ Apollo Computer 1980-იან წლებში. ისინი ეფუძნებოდა უფრო მარტივ 64-ბიტიან კოდებს, რომლებიც გამოიყენება Domain/OS-ში და ფართოდ გამოიყენებოდა Open Software Foundation-ის გამოთვლით გარემოში.
Windows-ის პირველი პლატფორმების მოსვლასთან ერთად, გლობალურად უნიკალური იდენტიფიკატორი განზოგადებული და სტანდარტიზებულია. Microsoft-მა მიიღო DCE დიზაინი Apollo Computer-დან და დაარეგისტრირა URN სახელთა სივრცე RFC 4122-ში. 2005 წელს ეს უკანასკნელი შემოთავაზებული იქნა ახალ სტანდარტად IETF-ის მიერ და UUID სტანდარტიზებული იყო ITU-ში.
ადრე 2002 წელს გამოვლინდა სისტემის მუშაობის პრობლემები ადგილობრივ მონაცემთა ბაზებში UUID-ების პირველად გასაღებად გამოყენებისას. ისინი დაფიქსირდა მე-4 ვერსიაში კომპიუტერის სისტემის დროის მიხედვით არა შემთხვევითი სუფიქსის დამატებით. ეგრეთ წოდებული COMB (Combined GUID Time Identifier) მიდგომა გაზარდა კოდების დუბლირების რისკები, მაგრამ ამავდროულად მნიშვნელოვნად გააუმჯობესა შესრულება Microsoft SQL Server-თან მუშაობისას.
IT ტექნოლოგიების განვითარებით, უნივერსალური უნიკალური იდენტიფიკატორი აღარ იყო მაღალ სპეციალიზებული ტექნიკური ინსტრუმენტი და დღეს მისი გამოყენება ყველას შეუძლია. გენერირებული კოდების გამეორების ალბათობა არ არის ნულის ტოლი, მაგრამ მიდრეკილია მისკენ და მათ მიერ შესაძლებელია ნებისმიერი ციფრული ინფორმაციის იდენტიფიცირება, რის შემდეგაც ისინი შეიძლება გაერთიანდეს ერთ მონაცემთა მასივებში გამეორების მინიმალური რისკით.
UUID უპირატესობები
გლობალური უნიკალური კოდების გენერატორები არ საჭიროებენ მონაცემთა ცენტრალიზებულ შეჯერებას/სინქრონიზაციას და თავისუფლად ხელმისაწვდომია ყველა მომხმარებლისთვის. UUID-ის ძირითადი უპირატესობები მოიცავს:
- კოდების „შეჯახების“ (განმეორების) მინიმალური რისკები. მიუხედავად მათი მასიური გამოყენებისა, გამეორების ალბათობა ნულისკენ მიდის.
- მონაცემთა სხვადასხვა მასივების შეერთების შესაძლებლობა UUID-ების, როგორც ძირითადი (უნიკალური) გასაღებების გამოყენებით.
- მონაცემების გამარტივებული განაწილება მრავალ დისპერსიულ სერვერზე.
- კოდების გენერირების შესაძლებლობა ხაზგარეშე.
უნიკალური საიდენტიფიკაციო კოდები, დაწერილი ფორმატში xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, დისპერსიულ სისტემებს საშუალებას აძლევს ამოიცნონ ინფორმაცია კოორდინაციის გარეშე ერთი მონაცემთა ცენტრიდან: შეცდომების/გამეორებების თითქმის ნულოვანი ალბათობით. ეს ფუნქცია, მარტივად გამოყენებასთან და კომპიუტერის მუშაობის დაბალ მოთხოვნებთან ერთად, ხდის UUID მოთხოვნადს და შეუცვლელს მრავალფეროვან IT ინდუსტრიებში და ავტონომიურ გამოთვლით სისტემებში.