rqlite 6.0 வெளியீடு

விநியோகிக்கப்பட்ட DBMS rqlite 6.0 இன் வெளியீடு வழங்கப்படுகிறது, இது SQLite ஐ சேமிப்பக இயந்திரமாகப் பயன்படுத்துகிறது மற்றும் ஒத்திசைக்கப்பட்ட சேமிப்பகங்களின் தொகுப்பின் வேலையை ஒழுங்கமைக்க உங்களை அனுமதிக்கிறது. rqlite இன் அம்சங்களில் ஒன்று, விநியோகிக்கப்பட்ட தவறு-சகிப்புச் சேமிப்பகத்தை நிறுவுதல், வரிசைப்படுத்துதல் மற்றும் பராமரித்தல், etcd மற்றும் தூதரகத்தைப் போன்றது, ஆனால் விசை/மதிப்பு வடிவத்திற்குப் பதிலாக தொடர்புடைய தரவு மாதிரியைப் பயன்படுத்துகிறது. திட்டக் குறியீடு Go இல் எழுதப்பட்டு MIT உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

அனைத்து முனைகளையும் ஒத்திசைக்கப்பட்ட நிலையில் வைத்திருக்க, Raft consensus algorithm பயன்படுத்தப்படுகிறது. Rqlite அசல் SQLite நூலகம் மற்றும் நிலையான go-sqlite3 இயக்கியைப் பயன்படுத்துகிறது, அதன் மேல் கிளையன்ட் கோரிக்கைகளைச் செயல்படுத்தும் ஒரு அடுக்கு தொடங்கப்பட்டது, மற்ற முனைகளுக்கு நகலெடுக்கிறது மற்றும் முன்னணி முனையின் தேர்வில் ஒருமித்த கருத்தை அடைவதைக் கண்காணிக்கிறது.

தரவுத்தளத்தில் மாற்றங்களை லீடராகத் தேர்ந்தெடுக்கப்பட்ட முனையால் மட்டுமே செய்ய முடியும், ஆனால் எழுதும் செயல்பாடுகளுடனான இணைப்புகள் கிளஸ்டரில் உள்ள மற்ற முனைகளுக்கும் அனுப்பப்படும், இது கோரிக்கையை மீண்டும் செய்ய தலைவரின் முகவரியைத் தரும் (அடுத்த பதிப்பில் அவை தலைவருக்கு கோரிக்கைகளை தானாக முன்னனுப்புவதாக உறுதியளிக்கவும்). முக்கிய முக்கியத்துவம் தவறு சகிப்புத்தன்மையில் உள்ளது, எனவே DBMS வாசிப்பு செயல்பாடுகளுடன் மட்டுமே அளவிடப்படுகிறது, மேலும் எழுதும் செயல்பாடுகள் இடையூறாக உள்ளன. ஒரு ஒற்றை முனையில் இருந்து rqlite கிளஸ்டரை இயக்குவது சாத்தியம், மேலும் இந்த தீர்வை SQLite க்கு HTTP வழியாக அணுகலை வழங்காமல் தவறு சகிப்புத்தன்மையை வழங்க பயன்படுத்தலாம்.

ஒவ்வொரு முனையிலும் உள்ள SQLite தரவு ஒரு கோப்பில் சேமிக்கப்படவில்லை, ஆனால் நினைவகத்தில். Raft நெறிமுறையை செயல்படுத்தும் அடுக்கு மட்டத்தில், தரவுத்தளத்தில் மாற்றங்களுக்கு வழிவகுக்கும் அனைத்து SQLite கட்டளைகளின் பதிவும் வைக்கப்படுகிறது. இந்தப் பதிவு நகலெடுக்கும் போது (பிற முனைகளில் கோரிக்கைகளை மறுஉருவாக்கம் செய்யும் அளவில்), புதிய முனையைத் தொடங்கும் போது அல்லது இணைப்பு இழப்பிலிருந்து மீளும்போது பயன்படுத்தப்படுகிறது. பதிவின் அளவைக் குறைக்க, தானியங்கு பேக்கேஜிங் பயன்படுத்தப்படுகிறது, இது ஒரு குறிப்பிட்ட எண்ணிக்கையிலான மாற்றங்களுக்குப் பிறகு தொடங்குகிறது மற்றும் ஒரு ஸ்னாப்ஷாட் வட்டில் சரி செய்யப்படுவதற்கு வழிவகுக்கிறது, இது தொடர்பாக ஒரு புதிய பதிவு வைக்கத் தொடங்குகிறது (நினைவகத்தில் தரவுத்தளத்தின் நிலை ஸ்னாப்ஷாட் + திரட்டப்பட்ட மாற்றப் பதிவு) போன்றது.

Rqlite இன் அம்சங்கள்:

  • தனியான SQLite நிறுவல் தேவையில்லாமல், ஒரு கிளஸ்டரை வரிசைப்படுத்துவது எளிது.
  • பிரதி SQL சேமிப்பகத்தை விரைவாகப் பெறும் திறன்.
  • வேலை செய்யும் திட்டங்களில் பயன்படுத்த தயாராக உள்ளது (உற்பத்தி-தரம்).
  • HTTP(S) API இன் இருப்பு, நீங்கள் தரவை தொகுதி முறையில் புதுப்பிக்கவும், கிளஸ்டரின் முன்னணி முனையைத் தீர்மானிக்கவும் அனுமதிக்கிறது. இது ஒரு கட்டளை வரி இடைமுகம் மற்றும் SQLite க்காக உருவாக்கப்பட்ட பல்வேறு கிளையன்ட் லைப்ரரிகளைப் பயன்படுத்தும் திறனையும் வழங்குகிறது.
  • பிற முனைகளை அடையாளம் காண்பதற்கான சேவையின் கிடைக்கும் தன்மை, நீங்கள் கிளஸ்டர்களை மாறும் வகையில் உருவாக்க அனுமதிக்கிறது.
  • முனைகளுக்கு இடையில் தரவு பரிமாற்றத்தை குறியாக்கம் செய்வதற்கான ஆதரவு.
  • படிக்கும் போது தரவின் பொருத்தம் மற்றும் நிலைத்தன்மையை சரிபார்க்கும் அளவை கட்டமைக்கும் திறன்.
  • ஒருமித்த கருத்தை தீர்மானிப்பதில் பங்கேற்காத மற்றும் வாசிப்பு செயல்பாடுகளுக்கு கிளஸ்டரின் அளவிடுதல் அதிகரிக்கப் பயன்படும் படிக்க-மட்டும் பயன்முறையில் முனைகளை இணைக்கும் விருப்பத் திறன்.
  • ஒரு கோரிக்கையில் கட்டளைகளை இணைப்பதன் அடிப்படையில் உங்களின் சொந்தப் பரிவர்த்தனைகளுக்கான ஆதரவு (BEGIN, COMMIT, ROLLBACK, SAVEPOINT மற்றும் RELEASE ஆகியவற்றின் அடிப்படையில் பரிவர்த்தனைகள் ஆதரிக்கப்படாது).
  • சூடான காப்புப்பிரதிகளை உருவாக்குவதற்கான ஆதரவு.

புதிய வெளியீடு குறிப்பிடத்தக்க கட்டடக்கலை மாற்றங்களை அறிமுகப்படுத்துகிறது, இது கிளஸ்டர் நம்பகத்தன்மையை அதிகரிப்பதை நோக்கமாகக் கொண்டுள்ளது, இது சரியான கிளஸ்டர் முனைகளுக்கு வாசிப்பு மற்றும் எழுதுதல் கோரிக்கைகளை ரூட்டிங் செய்யும் செயல்முறையை மேம்படுத்துகிறது. rqlite கணுக்கள் இப்போது ராஃப்ட் புரோட்டோகால் மூலம் முனைகளுக்கு இடையே நிறுவப்பட்ட TCP இணைப்புகளைப் பயன்படுத்தி தங்களுக்குள் பல தருக்க இணைப்புகளை மல்டிபிளக்ஸ் செய்யலாம். ஒரு கோரிக்கைக்கு தலைவர் அதிகாரம் தேவைப்பட்டாலும், இரண்டாம் நிலை முனைக்கு அனுப்பப்பட்டால், இரண்டாம் நிலை முனையானது தலைவரின் முகவரியைத் தீர்மானித்து, ராஃப்ட் ஒருமித்த கணக்கீடுகளைச் செய்யாமல் கிளையண்டிற்கு அனுப்பும்.

இந்த மாற்றம் ஒரு தனி மெட்டாடேட்டா ஒத்திசைவு கூறுகளின் தேவையை நீக்கியது மற்றும் ராஃப்ட் நிலை மற்றும் மெட்டாடேட்டாவை தனித்தனியாக கையாள்வதை நீக்கியது. இரண்டாம் நிலை முனைகள், லீடர் நோட்டின் முகவரியைக் கண்டறிய வேண்டியிருக்கும் போது, ​​தேவைப்படும்போது மட்டுமே, லீடர் நோடுக்கு கோரிக்கைகளை அனுப்புகின்றன. API ஆனது கிளஸ்டரில் உள்ள மற்ற முனைகளின் நிலையைப் பற்றிய தகவலைப் பெறுவதற்கான திறனை வழங்குகிறது. கட்டளை வரி இடைமுகத்தில் ".sysdump" கட்டளை சேர்க்கப்பட்டுள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்