இந்த இணையதளம் Kohei Koyanagi உருவாக்கிய மென்பொருளால் பல மொழிகளுக்கு தானாக மொழிபெயர்க்கப்படுகிறது. துல்லியத்திற்காக அசல் ஆங்கிலம் பதிப்பைப் பார்க்கவும்.

Splync இன் இரட்டை அடையாள அணுகுமுறை: UUID மற்றும் தன்னிச்சையாக அதிகரிக்கும் எண்

அதிக நுணுக்கமான ID களுக்கு Splync இரட்டை அடையாளங்களை பயன்படுத்துகிறது

Splync இன் தரவுத்தளத்தில், ஒவ்வொருவரும் — மற்றும் ஒவ்வொரு திட்டமும் — இரண்டு விதமான ID கள் மூலம் அடையாளம் காணப்படுகின்றன: ஒரு UUID மற்றும் தன்னிச்சையாக அதிகரிக்கும் எண். தன்னிச்சையாக அதிகரிக்கும் எண் என்பது பெரும்பாலோனவர்களுக்கு பரிச்சயமான ஒன்று — இது ஒருவகையான எண்ணிக்கை: 1, 2, 3, என மேலும் மேலும். Splync இவற்றைப் பயன்படுத்தி சேவையகத் தரவுத்தளத்தின் பெரும்பாலான அட்டவணைகளை ஒழுங்கமைக்கிறது, ஏனெனில் அவை எளிமையானவை, விரைவானவை, மற்றும் இணைப்புகளிற்கு திறமையானவை. இருப்பினும், நாங்கள் இந்த உள் எண்களை பயன்பாட்டிற்கு வெளிப்படுத்த மாட்டோம். உதாரணமாக, நீங்கள் பதிவு செய்யும் 42 வது பயனர் என்றால், உங்களது உள் ID 42 ஆகும். ஆனால் உங்கள் iOS பயன்பாடு “42” ஐ ஒருபோதும் காணாது. அதற்கு பதிலாக, பயன்பாடு உங்களைப் பிரதிநிதித்துவப்படுத்த UUID ஐப் பயன்படுத்துகிறது. திட்டங்களுக்கு இதே அணுகுமுறையை நாங்கள் பயன்படுத்துகிறோம் — தரவுத்தளத்தில் திட்ட ID "7" ஆக இருக்கலாம், ஆனால் பயன்பாடு எப்போதும் அதை நீண்டு நிற்கும் UUID ஐப் பயன்படுத்தி குறிப்பிடுகிறது.

UUID என்பதன் பொருள் என்ன

UUID என்பது Universally Unique Identifier என்பதற்கான சுருக்கமாகும். Splync RFC 4122 உடன் இணக்கமான பதிப்பு 4, மாறுபாடு 1 UUID களைப் பயன்படுத்துகிறது — இது பரவலாக ஏற்றுக்கொள்ளப்பட்ட தரங்களுள் ஒன்றாகும். இது 949ca11c-a6ed-48a3-b40a-fa9727494917 போன்ற முறையாக உருவாக்கப்பட்ட சரம் ஆகும். UUID பொதுவாக 32 ஹெக்ஸாடெசிமல் எழுத்துக்களால் எழுதப்பட்டு, ஐந்து பிரிவுகள் மூலம் இணைக்கப்பட்டுள்ள பயன்பாடுகள் ஆகும். இது உலகளாவிய தனித்துவத்திற்காக வடிவமைக்கப்பட்டுள்ளது, அதாவது இது பல்வேறு சேவையகங்களிலும் தரவுத்தளங்களிலும் மோதாமல் இருக்கும். கணித ரீதியாக, சுமார் 16^32 = 2^128 சாத்தியமான இணைப்புகள் உள்ளன. இருப்பினும், ஆறு பிட்டுகள் மாறுபாடு மற்றும் பதிப்பு காட்டுவதற்காக ஒதுக்கப்பட்டுள்ளதால், மொத்தம் மாறுபாடு-4, மாறுபாடு-1 UUID களின் மொத்த எண் சுமார் 2^122, அல்லது சுமார் 5.3 x 10^36 ஆகும் — இது ஒரு வானளாவிய அளவு, இதில் செயல்படுத்துவதற்கு தனித்துவம் உறுதி செய்யப்படுகிறது.

1 / 5,300,000,000,000,000,000,000,000,000,000,000,000 எவ்வளவு சிறியது

ஒவ்வொரு UUIDv4 சரங்களும் 5.3 × 10^36 இன் 1 இல் சுமார் ஒரு சாத்தியம் கொண்டுள்ளது. அந்த எண் மிகச்சிறியதாக இருப்பதால் அது மனித கற்பனைக்கு ஏற்றதாக இல்லை. அதை கற்பனை செய்ய, ஒரே நேரத்தில் 47 சதுரங்களை சுழற்றுவது போல கற்பனை செய்யுங்கள். ஒவ்வொரு சதுரமும் “1” என்ற எண்ணைக் காட்டுவதற்கான சாத்தியம் சுமார் 6^47 இல் 1, குறித்த கணக்கில் சுமார் 3.7 × 10^36 ஆகும். இது UUID மோதலின் அதே வரிசை. இப்போது, பூமியில் உள்ள ஒவ்வொருவரும் — சுமார் எட்டு பில்லியன் பேர் — இந்த 47 சதுரங்களை ஒவ்வொரு மில்லிவினாடிக்கு ஒரு டிரில்லியன் ஆண்டுகளுக்கு சுழற்றுவதைக் கற்பனை செய்யுங்கள். இது சுமார் 2.5 × 10^32 மொத்த முயற்சிகளாகும். இவ்வளவு முயற்சிகளுக்குப் பிறகும், ஒருவருக்கோ அல்லது எங்கோ ஒருவருக்கோ 47 சதுரங்கள் ஒரே நேரத்தில் வரும் சாத்தியம் பத்து ஆயிரத்தில் ஒன்றாகவே இருக்கும். இது இரண்டு UUIDv4 சரங்கள் மோதுவதற்கான சாத்தியம் எவ்வளவு குறைந்தது என்பதைக் காட்டுகிறது. இது “அரிதானது” அல்ல. இது வானளாவிய ரீதியில் அபூர்வமானது — இது கணிதவியலாளர்களை ஆச்சரியப்படுத்தும் வகையில் ஒரு சம்பவம்.

UUID ஐ உருவாக்க எளிதா

முதலில் பார்ப்பதற்கு, UUID ஐ உருவாக்குவது எளிதாக இருக்கலாம் — இறுதியாக, இது ஒரு சீரற்ற தோற்றமுள்ள அகரஎண்ண மாலை. ஆனால், அதை நீங்கள் காகிதத்தில் எழுத முயற்சித்தால், எழுத்துக்களின் திட்டவட்டமான முறை வெளிப்படும். ஒருவேளை, நீங்கள் 3 அல்லது 8 போன்ற சில எண்களை விரும்புவீர்கள், மற்றும் x போன்ற எழுத்துக்களை அவ்வளவாக பயன்படுத்த மாட்டீர்கள். ஒரு கணினி உடனடியாக அந்த சார்புகளை கண்டறிய முடியும். ஒரு தீய ஹேக்கர் உங்கள் பழக்கங்களை பகுப்பாய்வு செய்து உங்கள் “சீரற்ற” ரகசிய மாலையை ஒரு நாளில் குறுக்க முடியும். அப்பொழுது, நீங்கள் ஒரு கணினியையும் பயன்படுத்தி, ஒவ்வொரு இலக்கத்தையும் உருவாக்க rand() என்ற பழக்க வழக்கமான சீரற்ற செயல்பாட்டை அழைக்கும் நிலையில் இருந்தால் என்ன. அது சிறந்தது, ஆனால் போதுமானதாக இல்லை. பொதுவான திட்டமிடல் சூழல்களில் பல “சீரற்ற” எண் ஜெனரேட்டர்கள் பியூடோசீரற்றவை, அதாவது அவை ஒரு கணினி நேர அடிப்படையிலான உள் விதையிலிருந்து தொடங்கும் கணக்கீட்டின் வரிசையைப் பின்பற்றுகின்றன. ஒருவர் அந்த விதையை கண்டுபிடிப்போ அல்லது ஊகிப்போ அம்சம், அவர்கள் உங்கள் ஜெனரேட்டர் உருவாக்கிய ஒவ்வொரு மதிப்பையும் மறுபடியும் உருவாக்க முடியும்.

UUID எவ்வளவு முழுமையாக சீரற்றது

சரியான சீரற்ற தன்மை உண்மையில் இல்லை — எவ்வாறெனில் சரியான சதுரம் இல்லை, அல்லது சரியான சீரற்ற சதுர சுழற்சி இல்லை. ஒவ்வொரு இயல்பான அல்லது டிஜிட்டல் செயல்முறை சில அடிப்படை விதிகளை பின்பற்றுகிறது. இருப்பினும், கணிதவியலாளர்கள் மற்றும் பொறியாளர்கள் பல தசாப்தங்களாக சரியான சீரற்ற தன்மையை நெருங்கும் ஆல்கோரிதங்களை வடிவமைக்க முயன்று வருகின்றனர். Splync புதிய பதிப்பு-4 UUID ஐ உருவாக்கும் போது, அது “சமயத்தில் எண்களை தேர்வு” செய்வது போல இருக்காது. இது செயல்முறை முறைமைகளின் சிறிய தடங்களுக்காக செயல்திட்டத்தை கேட்டுக்கொள்கிறது — எடுத்துக்காட்டாக, உங்கள் CPU ஒரு பணியை முடிக்கும் துல்லியமான நேரம், ஹார்ட்வேர் உள்ளிலுள்ள மங்கலான மின் ஒலி, அல்லது நினைவகத்தின் பின்னணியில் நேர நிலைமாற்றங்கள். இந்த சீரற்ற தன்மைகளின் துகள்கள் சேகரிக்கப்பட்டு 128 பிட்டுகளின் தரவுடன் சேர்க்கப்படுகிறது — நீண்ட ஒன்பது மற்றும் பூஜ்யங்களின் வரிசை. முடிவில் கிடைக்கும் குறியீடு பயன்பாட்டின் பயனாளர்களுக்கு அல்லது தீய நோக்கமுள்ள தாக்குதலாளர்களுக்கு ஊகிக்க இயலாத அல்லது மீண்டும் உருவாக்க இயலாததாக இருக்கும்.

Splync இன் இரட்டை அடையாள அணுகுமுறை

Splync பயனர் ID கள் மற்றும் திட்ட ID கள் போன்ற நுணுக்கமான அடையாளங்களுக்காக UUID களைப் பயன்படுத்துகிறது, ஏனெனில் அவை மிகுந்த சீரற்ற மற்றும் பாதுகாப்பானவை. அதே நேரத்தில், அதன் சேவையகத்தில், Splync அந்த UUID களை தன்னிச்சையாக அதிகரிக்கும் நுணுக்க கணக்கீடுகளாக மாற்றுகிறது, பெரும் தரவுத்தொகுப்புகளில் வேகமாக தேடலுக்கும் பகுப்பாய்வுக்கும். இந்த இரட்டை அடையாள அணுகுமுறை பாதுகாப்புக்கும் வசதிக்கும் இடையே சமநிலை ஏற்படுத்துகிறது — வெளிப்புற தனிப்பட்ட வகையில் உள் செயல்திறன். Splync இன் நோக்கம் மகிழ்ச்சியற்ற, எளிய, மற்றும் பாதுகாப்பான பட்ஜெட் கண்காணிப்பு பயன்பாடு ஆகும். தோற்றமான UI க்குப் பின்னால், நாங்கள் எங்கள் கட்டமைப்பை மென்மையாக, பாதுகாப்பாக, மற்றும் அமைதியாக புத்திசாலித்தனமாக வைத்திருக்க தொடர்ந்து சீரமைக்கிறோம்.