DBMS libmdbx విడుదల 0.11.7. GitHubలో బ్లాక్ చేసిన తర్వాత అభివృద్ధిని GitFlicకి తరలిస్తోంది

libmdbx 0.11.7 (MDBX) లైబ్రరీ అధిక-పనితీరు గల కాంపాక్ట్ ఎంబెడెడ్ కీ-వాల్యూ డేటాబేస్ అమలుతో విడుదల చేయబడింది. libmdbx కోడ్ OpenLDAP పబ్లిక్ లైసెన్స్ క్రింద లైసెన్స్ చేయబడింది. అన్ని ప్రస్తుత ఆపరేటింగ్ సిస్టమ్‌లు మరియు ఆర్కిటెక్చర్‌లకు అలాగే రష్యన్ ఎల్బ్రస్ 2000 మద్దతు ఉంది.

ఏప్రిల్ 15, 2022 తర్వాత ప్రాజెక్ట్‌ని GitFlic సేవకు తరలించినందుకు ఈ విడుదల గుర్తించదగినది, GitHub అడ్మినిస్ట్రేషన్ ఎటువంటి హెచ్చరిక లేదా వివరణ లేకుండా, ఇతర ప్రాజెక్ట్‌ల హోస్ట్‌తో పాటు libmdbxని తొలగించింది, అదే సమయంలో సంబంధిత అనేక డెవలపర్‌లకు యాక్సెస్‌ను బ్లాక్ చేస్తోంది. కంపెనీలు US ఆంక్షలకు లోబడి ఉంటాయి. వినియోగదారుల దృక్కోణం నుండి, అన్ని పేజీలు, ప్రాజెక్ట్ యొక్క రిపోజిటరీ మరియు ఫోర్కులు అకస్మాత్తుగా 404 పేజీగా మారాయి, ఎటువంటి కమ్యూనికేషన్ మరియు కారణాలను కనుగొనే అవకాశం లేకుండా.

దురదృష్టవశాత్తు, వివరణాత్మక సమాధానాలతో అనేక ప్రశ్నలు, అలాగే అనేక చర్చలు ఉన్న దాదాపు అన్ని సమస్యలు పోయాయి. GitHub అడ్మినిస్ట్రేషన్ ప్రాజెక్ట్‌పై కలిగించగలిగిన ఏకైక లక్ష్యం నష్టం ఈ సమాచారాన్ని కోల్పోవడం. చర్చల పాక్షిక కాపీలు archive.orgలో అందుబాటులో ఉంటాయి.

అంతర్నిర్మిత CI దృష్టాంతాలు మరియు అవస్థాపన (ఓపెన్‌సోర్స్ ప్రాజెక్ట్‌లకు ఉచితంగా అందుబాటులో ఉంది) కోల్పోవడం వలన మేము చిన్న సాంకేతిక రుణాల పునర్విమర్శ, ఏకీకరణ మరియు తొలగింపును చేపట్టవలసి వచ్చింది. ఇప్పుడు CI దాదాపు అదే స్థాయిలో పునరుద్ధరించబడింది, అన్ని BSD మరియు సోలారిస్ వేరియంట్‌ల కోసం బిల్డ్ మరియు రన్ టెస్ట్‌లు మినహా. సాధారణంగా, చర్యల తర్వాత, GitHub చెల్లింపు ఆవశ్యకత గురించి రిమైండర్‌లు మరియు డబ్బును రాయడానికి ప్రయత్నించడం మినహా ఎలాంటి స్పష్టీకరణలు లేదా నోటిఫికేషన్‌లను అందుకోలేదు.

libmdbx v0.11.3 విడుదల గురించిన చివరి వార్త నుండి, GitHub చర్యల నుండి పునరుద్ధరణతో పాటు, ఈ క్రింది మెరుగుదలలు మరియు పరిష్కారాలను గమనించడం విలువ:

  • లినక్స్ కెర్నల్‌లోని కంబైన్డ్ పేజీ మరియు బఫర్ కాష్‌లో గుర్తించబడిన అసంగత ప్రభావం/లోపం కోసం ఒక ప్రత్యామ్నాయం జోడించబడింది. పేజీ మరియు బఫర్ కాష్‌లు నిజంగా మిళితం చేయబడిన సిస్టమ్‌లలో, మెమరీలోకి ఇప్పటికే మ్యాప్ చేయబడిన ఫైల్‌కు వ్రాసేటప్పుడు కెర్నల్ రెండు కాపీల డేటా కోసం మెమరీని వృధా చేయడంలో అర్థం లేదు. అందువల్ల, డేటా డిస్క్‌కి ఇంకా వ్రాయబడనప్పటికీ, రైట్() సిస్టమ్ కాల్ పూర్తయ్యేలోపు మెమరీ మ్యాపింగ్ ద్వారా వ్రాయబడుతున్న డేటా కనిపిస్తుంది.

    సాధారణంగా, ఇతర ప్రవర్తన హేతుబద్ధమైనది కాదు, ఎందుకంటే వాయిదా వేసిన విలీనంతో, మీరు ఇప్పటికీ పేజీ జాబితాల కోసం లాక్‌లను పొందవలసి ఉంటుంది, డేటాను కాపీ చేయండి లేదా PTEని సర్దుబాటు చేయాలి. అందువల్ల, SRV1989లో ఏకీకృత బఫర్ కాష్ కనిపించిన 4 నుండి చెప్పని పొందిక నియమం అమలులో ఉంది. అందువల్ల, లోడ్ చేయబడిన libmdbx దోపిడీ దృశ్యాలలో వింత క్రాష్‌లను గుర్తించడానికి చాలా శ్రమ అవసరం. మొదట సమస్యను పునరుత్పత్తి చేయడానికి, ఆపై పరికల్పనలను ధృవీకరించడానికి మరియు మెరుగుదలలను పరీక్షించడానికి.

    పునరుత్పత్తి దృశ్యం యొక్క సంక్లిష్టత మరియు నిర్దిష్టత ఉన్నప్పటికీ, సమస్య విశ్వసనీయంగా గుర్తించబడిందని, స్థానికీకరించబడి మరియు విశ్వసనీయంగా తొలగించబడిందని ఇప్పుడు మనం నమ్మకంగా చెప్పగలం. అదనంగా, బైపాస్ మెకానిజం యొక్క ఆపరేషన్ ఎరిగాన్ (Ethereum) డెవలపర్‌లలో ఒకరు ధృవీకరించారు; అతని విషయంలో, డీబగ్ బిల్డ్‌లో, అనవసరమైన నిర్ధారిత తనిఖీ కారణంగా రక్షణ రిగ్రెషన్‌గా ప్రేరేపించబడింది.

    ఉత్పాదక ప్రాజెక్టులలో libmdbx విస్తృతంగా ఉపయోగించబడుతున్న సందర్భంలో, ఇది బగ్ లేదా లక్షణమా మరియు అటువంటి పొందికపై ఆధారపడగలదా అనేదానిని గుర్తించడం కంటే నమ్మదగిన ఆపరేషన్‌ను నిర్ధారించడం ప్రాథమికంగా చాలా ముఖ్యమైనదని గమనించాలి, దీని కోసం చాలా తక్కువ శోధన Linux కెర్నల్‌లో అసంబద్ధతకు కారణాలు. అందువల్ల, ఇక్కడ మేము వినియోగదారులను ప్రభావితం చేసే సమస్యను పరిష్కరించడం గురించి మాట్లాడుతున్నాము.

  • API ద్వారా మరియు mdbx_copy యుటిలిటీతో, మరొక ఫైల్ సిస్టమ్‌కు కాంపాక్టిఫికేషన్ లేకుండా డేటాబేస్‌ను హాట్ కాపీ చేస్తున్నప్పుడు EXDEV (క్రాస్-డివైస్ లింక్) లోపం యొక్క రిగ్రెషన్ తొలగించబడింది.
  • క్రిస్ జిప్ డెనోలో libmdbx మద్దతును అమలు చేసింది. Kai Wetlesen Fedora కోసం RPM ప్యాకేజింగ్‌ను రూపొందించారు. డేవిడ్ బౌస్సీ స్కాలా కోసం బైండింగ్‌లను అమలు చేశాడు.
  • పెద్ద డేటాబేస్‌లలో భారీ లావాదేవీలను ప్రాసెస్ చేస్తున్నప్పుడు MDBX_opt_rp_augment_limit ఎంపిక ద్వారా పేర్కొన్న విలువ యొక్క స్థిర ప్రాసెసింగ్. మునుపు, ఒక లోపం కారణంగా, అనవసరమైన చర్యలు నిర్వహించబడతాయి, ఇది కొన్నిసార్లు Ethereum ఇంప్లిమెంటేషన్స్ (Erigon/Akula/Silkworm) మరియు Binance Chain ప్రాజెక్ట్‌లలో పనితీరును ప్రభావితం చేస్తుంది.
  • C++ APIతో సహా చాలా బగ్‌లు పరిష్కరించబడ్డాయి. అరుదైన మరియు అన్యదేశ కాన్ఫిగరేషన్‌లలో అనేక బిల్డ్ సమస్యలు పరిష్కరించబడ్డాయి. చేంజ్‌లాగ్‌లో అన్ని ముఖ్యమైన మెరుగుదలల పూర్తి జాబితా అందుబాటులో ఉంది.
  • 185 ఫైల్‌లకు మొత్తం 89 మార్పులు చేయబడ్డాయి, ≈3300 పంక్తులు జోడించబడ్డాయి, ≈4100 తొలగించబడ్డాయి. GitHub మరియు డిపెండెంట్ సర్వీసెస్‌తో అనుబంధించబడిన ఇప్పటికే పనికిరాని సాంకేతిక ఫైళ్లను శుభ్రపరచడం వలన మరిన్ని తొలగించబడ్డాయి.

చారిత్రాత్మకంగా, libmdbx అనేది LMDB DBMS యొక్క లోతైన పునర్నిర్మాణం మరియు విశ్వసనీయత, ఫీచర్ సెట్ మరియు పనితీరులో దాని పూర్వీకుల కంటే మెరుగైనది. LMDBతో పోలిస్తే, libmdbx కోడ్ నాణ్యత, API స్థిరత్వం, పరీక్ష మరియు స్వయంచాలక తనిఖీలపై చాలా ప్రాధాన్యతనిస్తుంది. కొన్ని రికవరీ సామర్థ్యాలతో డేటాబేస్ నిర్మాణం యొక్క సమగ్రతను తనిఖీ చేయడానికి ఒక యుటిలిటీ సరఫరా చేయబడింది.

సాంకేతికత వారీగా, libmdbx CPU కోర్ల అంతటా లీనియర్ స్కేలింగ్‌తో ACID, బలమైన మార్పు సీరియలైజేషన్ మరియు నాన్-బ్లాకింగ్ రీడ్‌లను అందిస్తుంది. ఆటో-కాంపాక్టిఫికేషన్, ఆటోమేటిక్ డేటాబేస్ సైజ్ మేనేజ్‌మెంట్ మరియు రేంజ్ క్వెరీ అంచనాకు మద్దతు ఉంది. 2016 నుండి, ప్రాజెక్ట్ పాజిటివ్ టెక్నాలజీస్ ద్వారా నిధులు పొందింది మరియు 2017 నుండి దాని ఉత్పత్తులలో ఉపయోగించబడుతోంది.

libmdbx అభివృద్ధి చెందిన C++ APIని అందిస్తుంది, అలాగే రస్ట్, హాస్కెల్, పైథాన్, నోడ్‌జేఎస్, రూబీ, గో, నిమ్, డెనో, స్కాలా భాషలకు ఔత్సాహికుల మద్దతు గల బైండింగ్‌లను అందిస్తుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి