விநியோகிக்கப்பட்ட அமைப்புகள், தரவுத்தொகுப்புகள் மற்றும் தனித்துவமான, நேரம் அடிப்படையில் வரிசைப்படுத்தக்கூடிய விசைகளை தேவைப்படும் பயன்பாடுகளுக்கு K-Sortable Unique Identifiers (KSUIDs) உருவாக்கவும். KSUIDs ஒரு நேரச்சீட்டு மற்றும் சீரற்ற தரவுகளை இணைத்து மோதல்-எதிர்ப்பு, வரிசைப்படுத்தக்கூடிய அடையாளங்களை உருவாக்குகிறது.
ஒரு KSUID உருவாக்கி நேர அடிப்படையிலான வரிசைப்படுத்தலுடன் கூடிய க்ரிப்டோகிராபிக் தனித்துவத்தை இணைக்கும் K-வரிசைப்படுத்தக்கூடிய தனித்துவ அடையாளங்களை உருவாக்குகிறது. பாரம்பரிய UUID களைப் போல அல்லாமல், KSUID கள் காலவரிசைப்படுத்தக்கூடியவை மற்றும் சேவையகங்களுக்கு இடையே ஒத்துழைப்பு இல்லாமல் தனித்துவ அடையாள உருவாக்கம் தேவைப்படும் விநியோகிக்கப்பட்ட அமைப்புகளுக்கு சிறந்தவை.
KSUID உருவாக்கியைப் பயன்படுத்துவதன் முக்கிய நன்மைகள்:
ஒரு KSUID (K-வரிசைப்படுத்தக்கூடிய தனித்துவ அடையாளம்) என்பது 20-பைட் வரிசைப்படுத்தக்கூடிய அடையாளமாகும், இது:
ஒரு சரத்தைப் போலக் குறிக்கும்போது, ஒரு KSUID base62 இல் குறியாக்கப்படுகிறது மற்றும் இது 27 எழுத்துகள் நீளமாக இருக்கும்.
KSUID கட்டமைப்பு மூன்று முக்கிய கூறுகளை உள்ளடக்கியது:
நேரச்சீட்டு கூறு (4 பைட்டுகள்): KSUID காலம் (2014-05-13T16:53:20Z) முதல் விநியோகிக்கப்பட்ட ID களை காலவரிசைப்படுத்த seconds ஐ பிரதிநிதித்துவம் செய்கிறது.
சீரற்ற கூறு (16 பைட்டுகள்): ஒரே நேரத்தில் பல KSUID களை உருவாக்கும் போது கூட தனித்துவத்தை உறுதி செய்யும் க்ரிப்டோகிராபிகல் பாதுகாப்பான சீரற்ற எண்.
Base62 குறியாக்கம்: இணைக்கப்பட்ட 20 பைட்டுகள் base62 (A-Z, a-z, 0-9) ஐப் பயன்படுத்தி குறியாக்கப்படுகிறது, இறுதியாக 27-அகர எழுத்து URL-பாதுகாப்பான சரம் உருவாக்கப்படுகிறது.
ஒரு KSUID ஐ கணிதமாகக் குறிக்கலாம்:
எங்கு:
நேரச்சீட்டு இவ்வாறு கணக்கிடப்படுகிறது:
T = \text{floor}(\text{current_time} - \text{KSUID_epoch})
எங்கு KSUID_epoch 1400000000 (2014-05-13T16:53:20Z).
KSUID கள் வரிசைப்படுத்தக்கூடிய தனித்துவ அடையாளங்களை தேவைப்படும் நவீன பயன்பாடுகளுக்கு சிறந்தவை. இங்கே மிகவும் பொதுவான பயன்பாடுகள் உள்ளன:
பல சேவையகங்களில் தனித்துவ ID களை உருவாக்கவும், ஒத்துழைப்பு அல்லது மைய அதிகாரம் இல்லாமல். மைக்ரோசர்வீசுகள் கட்டமைப்புகளுக்கு சிறந்தது.
தரவுத்தளங்களில் முதன்மை விசைகளாக KSUID களைப் பயன்படுத்தவும், காலவரிசைப்படுத்தல் முக்கியமான இடங்களில், தனித்துவமான நேரச்சீட்டு நெட்வொர்க் புலங்களை நீக்கவும்.
குறுகிய, தனித்துவமான, URL-பாதுகாப்பான அடையாளங்களை இணைய பயன்பாடுகள், API கள் மற்றும் பொது வளங்களுக்கு உருவாக்கவும், சிறப்பு குறியாக்கம் இல்லாமல்.
விநியோகிக்கப்பட்ட அமைப்புகளில் பல்வேறு சேவைகளில் பதிவு பதிவுகளை தொடர்புபடுத்தவும், காலவரிசையைப் பேணவும்.
உள்ளமைவான நேரச்சீட்டுகளுடன் நிகழ்வுகளை காலவரிசைப்படுத்தவும், ஒழுங்குபடுத்தல் மற்றும் பிழைதிருத்தம் நோக்கங்களுக்காக.
KSUID கள் பாரம்பரிய அடையாள அமைப்புகளுக்கு மேலான முக்கிய நன்மைகளை வழங்குகின்றன:
UUID களுக்கு மாறாக, KSUID கள் காலவரிசைப்படுத்தப்படலாம், இதனால் தரவுத்தள குறியீட்டீயில் மற்றும் பதிவு பகுப்பாய்வில் சிறந்தது.
பல சேவையகங்களில் தனித்துவ அடையாளங்களை சுயமாக உருவாக்கவும், மோதல்களை ஏற்படுத்தாமல் அல்லது மைய ஒத்துழைப்பை தேவைப்படாமல்.
UUID களுக்கு மாறாக சரங்களைப் போலக் குறிக்கும்போது, சேமிப்பு இடத்தைச் சேமிக்கவும் மற்றும் வாசிக்க எளிதாக்கவும்.
உள்ளமைவான நேரச்சீட்டு நேர அடிப்படையிலான வரிசைப்படுத்தல் மற்றும் வடிகட்டல் செய்ய உதவுகிறது, தனித்துவமான நேரச்சீட்டு புலங்களைத் தேவையில்லை.
Base62 குறியாக்கம் KSUID களை URL களுக்கு பாதுகாப்பான ஆக்குகிறது, கூடுதல் குறியாக்க தேவைகள் இல்லாமல்.
16-பைட் சீரற்ற கூறு மோதல்களை மிகவும் சாத்தியமற்றது ஆக்குகிறது, அதிக உருவாக்க விகிதங்களில் கூட.
KSUID களை ஆன்லைனில் உருவாக்க இந்த எளிய படிகளைப் பின்பற்றவும்:
தொழில்நுட்ப குறிப்புகள்: புதிய அமைப்புகளை அமைக்கும் போது அல்லது உள்ளமைவான தரவுகளை மாற்றும் போது தொகுதிகளில் KSUID களை உருவாக்கவும்.
உங்கள் விருப்பமான நிரலாக்க மொழியில் KSUID களை நிரலாக்கமாக உருவாக்குவது எப்படி கற்றுக்கொள்ளுங்கள்:
1## Python
2import ksuid
3
4new_id = ksuid.ksuid()
5print(f"Generated KSUID: {new_id}")
6
1// JavaScript
2const { ksuid } = require('ksuid')
3
4const newId = ksuid()
5console.log(`Generated KSUID: ${newId}`)
6
1// Java
2import com.github.ksuid.KsuidGenerator;
3
4public class KsuidExample {
5 public static void main(String[] args) {
6 String newId = KsuidGenerator.generate();
7 System.out.println("Generated KSUID: " + newId);
8 }
9}
10
1// C++
2#include <iostream>
3#include <ksuid/ksuid.hpp>
4
5int main() {
6 ksuid::Ksuid newId = ksuid::Ksuid::generate();
7 std::cout << "Generated KSUID: " << newId.string() << std::endl;
8 return 0;
9}
10
1## Ruby
2require 'ksuid'
3
4new_id = KSUID.new
5puts "Generated KSUID: #{new_id}"
6
1// PHP
2<?php
3require_once 'vendor/autoload.php';
4
5use Tuupola\KsuidFactory;
6
7$factory = new KsuidFactory();
8$newId = $factory->create();
9echo "Generated KSUID: " . $newId . "\n";
10?>
11
1// Go
2package main
3
4import (
5 "fmt"
6 "github.com/segmentio/ksuid"
7)
8
9func main() {
10 newId := ksuid.New()
11 fmt.Printf("Generated KSUID: %s\n", newId.String())
12}
13
1// Swift
2import KSUID
3
4let newId = KSUID()
5print("Generated KSUID: \(newId)")
6
KSUID கள் காலவரிசைப்படுத்தக்கூடியவை ஆனால் UUID கள் அல்ல. KSUID களுக்கு உள்ளமைவான நேரச்சீட்டுகள் உள்ளன மற்றும் 27 எழுத்துகள் நீளத்தில் அதிக சுருக்கமானவை, UUID களின் 36 எழுத்துகளுக்கு மாறாக.
KSUID கள் மிகவும் குறைந்த மோதல் வாய்ப்பு கொண்டவை, 16-பைட் சீரற்ற கூறின் காரணமாக. மோதலின் வாய்ப்பு, பில்லியன்கள் அளவிலான ID களை உருவாக்கும் போது கூட, முற்றிலும் பூஜ்யமாகும்.
ஆம், KSUID கள் தரவுத்தள முதன்மை விசைகளுக்கு சிறந்தவை, குறிப்பாக தானாகவே அதிகரிக்கும் முழு எண்கள் பொருந்தாத விநியோகிக்கப்பட்ட அமைப்புகளில்.
KSUID காலம் 2014-05-13T16:53:20Z (நேரச்சீட்டு 1400000000) இல் தொடங்குகிறது, யூனிக்ஸ் காலத்துடன் மாறுபடுகிறது.
ஆம், KSUID கள் base62 குறியாக்கத்தை (A-Z, a-z, 0-9) பயன்படுத்துவதால், கூடுதல் குறியாக்கம் இல்லாமல் முற்றிலும் URL-பாதுகாப்பானவை.
KSUID களை மிகவும் வேகமாக உருவாக்கலாம் ஏனெனில் அவை அமைப்புகள் அல்லது தரவுத்தள தேடல்களுக்கு இடையே ஒத்துழைப்பை தேவைப்படுவதில்லை.
ஆம், நீங்கள் எந்த KSUID இல் இருந்து உள்ளமைவான நேரச்சீட்டை எடுக்கலாம், அது எப்போது உருவாக்கப்பட்டது என்பதைத் தீர்மானிக்க.
KSUID கள் பொதுவாகப் பிரபலமான நிரலாக்க மொழிகளில் ஆதரிக்கப்படுகின்றன, Python, JavaScript, Java, Go, PHP, Ruby மற்றும் மேலும்.
உங்கள் பயன்பாட்டில் வரிசைப்படுத்தக்கூடிய தனித்துவ அடையாளங்களை செயல்படுத்த தயாரா? உங்கள் விநியோகிக்கப்பட்ட அமைப்புகள், தரவுத்தளங்கள் மற்றும் பயன்பாடுகளுக்கான நேரம்-வரிசைப்படுத்தப்பட்ட, உலகளாவிய தனித்துவ அடையாளங்களை உருவாக்க எங்கள் இலவச KSUID உருவாக்கி கருவியைப் பயன்படுத்தவும்.
உங்கள் முதல் KSUID ஐ இப்போது உருவாக்கவும் மற்றும் காலவரிசைப்படுத்தக்கூடிய தனித்துவ அடையாளங்களின் நன்மைகளை அனுபவிக்கவும்!
உங்கள் பணிப்பாக்கிலுக்கு பயனுள்ள மேலும் பயனுள்ள கருவிகளைக் கண்டறியவும்