డాక్యుమెంట్-ఆధారిత DBMS Apache CouchDB 3.0 విడుదల

జరిగింది పంపిణీ చేయబడిన డాక్యుమెంట్-ఆధారిత డేటాబేస్ విడుదల Apache CouchDB 3.0, NoSQL వ్యవస్థల తరగతికి చెందినది. ప్రాజెక్ట్ మూలాలు వ్యాప్తి Apache 2.0 క్రింద లైసెన్స్ పొందింది.

మెరుగుదలలుApache CouchDB 3.0లో అమలు చేయబడింది:

  • డిఫాల్ట్ కాన్ఫిగరేషన్ మెరుగుపరచబడింది.
    ప్రారంభించేటప్పుడు, నిర్వాహక వినియోగదారుని తప్పనిసరిగా నిర్వచించాలి, అది లేకుండా సర్వర్ లోపంతో ముగుస్తుంది (ప్రమాణీకరణ లేకుండా అనుకోకుండా యాక్సెస్‌ను వదిలివేసే సర్వర్‌లను ప్రారంభించడంలో సమస్యలను పరిష్కరించడానికి మిమ్మల్ని అనుమతిస్తుంది). "/_all_dbs"కి కాల్‌లకు ఇప్పుడు నిర్వాహక హక్కులు అవసరం మరియు అన్ని డేటాబేస్‌లు డిఫాల్ట్‌గా సృష్టించబడతాయి, అడ్మిన్ యూజర్‌కి మాత్రమే యాక్సెస్ చేయవచ్చు (యాక్సెస్ పారామితులు "_security" ఆబ్జెక్ట్ ద్వారా మార్చబడతాయి). డిఫాల్ట్‌గా, _users డేటాబేస్‌లోని వస్తువులను సవరించడం నిషేధించబడింది;

  • చేర్చబడింది వినియోగదారు నిర్వచించిన సెగ్మెంటెడ్ (విభజించబడిన) డేటాబేస్‌లను సృష్టించే సామర్థ్యం, ​​సెగ్మెంట్‌లలో (షార్డ్ రేంజ్) పత్రాలను పంపిణీ చేయడానికి మీ స్వంత నియమాలను నిర్వచించడం సాధ్యమవుతుంది. మామిడి వీక్షణలు మరియు సూచికలకు షార్డ్ డేటాబేస్‌ల కోసం ప్రత్యేక ఆప్టిమైజేషన్‌లు జోడించబడ్డాయి;
  • అమలు చేశారు విభజన సమయంలో ఆటోమేటిక్ డివిజన్ మోడ్ (షార్డింగ్). డేటాబేస్లో, విభజన స్థాయిని నిర్ణయించడానికి ఉపయోగించే q-కారకం విలువలో పెరుగుదలను పరిగణనలోకి తీసుకుని, విభాగాల మధ్య డేటాను పునఃపంపిణీ చేయడం ఇప్పుడు సాధ్యమవుతుంది;
  • చేర్చబడింది ఆటోమేటిక్ బ్యాక్‌గ్రౌండ్ ఇండెక్సింగ్ కోసం కెన్ సబ్‌సిస్టమ్ మరియు సెకండరీ ఇండెక్స్‌లను (జావాస్క్రిప్ట్, మామిడి, టెక్స్ట్ సెర్చ్ ఇండెక్స్‌లు) స్పష్టంగా వాటి నిర్మాణ కార్యకలాపాలను ప్రారంభించకుండా తాజాగా ఉంచడం;
  • ఆటోమేటిక్ డేటాబేస్ ప్యాకేజింగ్ కోసం ఉపయోగించే స్మూష్ ప్రక్రియ పూర్తిగా తిరిగి వ్రాయబడింది;
  • కొత్త ఉపవ్యవస్థ ప్రతిపాదించబడింది IO క్యూ, కొన్ని కార్యకలాపాల కోసం I/O ప్రాధాన్యతను మార్చడానికి ఉపయోగిస్తారు;
  • రిగ్రెషన్ టెస్టింగ్ సిస్టమ్‌ను అమలు చేసింది;
  • arm64v8 (aarch64) మరియు ppc64le (ppc64el) ప్లాట్‌ఫారమ్‌లకు అధికారిక మద్దతు జోడించబడింది;
  • ES1.8.5, ES60 మరియు ES5+లకు మెరుగైన మద్దతుతో JavaScript ఇంజిన్ SpiderMonkey 6 (ఫైర్‌ఫాక్స్ 2016 యొక్క ESR శాఖ)తో లింక్ చేయడానికి మద్దతు జోడించబడింది;
  • శోధన ఇంజిన్ చేర్చబడింది డ్రైఫుస్ Lucene ఆధారంగా, ఇది CouchDB ఆధారంగా శోధన ఇంజిన్ యొక్క విస్తరణను చాలా సులభతరం చేస్తుంది;
  • systemd-journald ఉపయోగించి లాగింగ్ కోసం బ్యాకెండ్ జోడించబడింది;
  • “[couchdb] single_node” సెట్టింగ్ జోడించబడింది, సెట్ చేసినప్పుడు, CouchDB సిస్టమ్ డేటాబేస్‌లు తప్పిపోయినట్లయితే స్వయంచాలకంగా సృష్టిస్తుంది;
  • couch_server ప్రక్రియ యొక్క పనితీరు ఆప్టిమైజ్ చేయబడింది;
  • Windows ప్లాట్‌ఫారమ్ కోసం ఇన్‌స్టాలర్ గణనీయంగా మెరుగుపరచబడింది;
  • వీక్షణలు 2^28 (268435456) ఫలితాలకు పరిమితం చేయబడ్డాయి. "[query_server_config]" విభాగంలోని query_limit మరియు partition_query_limit ఎంపికలను ఉపయోగించి ఈ పరిమితిని రెగ్యులర్ మరియు సెగ్మెంటెడ్ వీక్షణల కోసం విడిగా కాన్ఫిగర్ చేయవచ్చు;
  • నెట్‌వర్క్ పోర్ట్ 5986లో ప్రారంభించబడిన ప్రత్యేక HTTP లోకల్ నోడ్ మేనేజ్‌మెంట్ ఇంటర్‌ఫేస్ తీసివేయబడింది, దీని కార్యాచరణ ఇప్పుడు సాధారణ క్లస్టర్ మేనేజ్‌మెంట్ ఇంటర్‌ఫేస్ ద్వారా అందుబాటులో ఉంది;
  • గరిష్ట డాక్యుమెంట్ పరిమాణం 8 MBకి తగ్గించబడింది, ఇది CouchDB 3.0కి అప్‌గ్రేడ్ చేసిన తర్వాత పాత సర్వర్‌ల నుండి డేటా రెప్లికేషన్‌తో సమస్యలను కలిగిస్తుంది. పరిమితిని పెంచడానికి, మీరు “[couchdb] max_document_size” సెట్టింగ్‌ని ఉపయోగించవచ్చు;
  • _రెప్లికేటర్ మరియు _ఎక్స్‌టర్నల్ కాల్‌లు, డిస్క్_సైజ్ మరియు డేటా_సైజ్ ఫీల్డ్‌లు మరియు డిలేటెడ్_కమిట్స్ ఎంపిక వంటి వాడుకలో లేని ఫీచర్‌ల యొక్క ప్రధాన క్లీనప్ నిర్వహించబడింది;
  • CouchDBని అమలు చేయడానికి ఇప్పుడు Erlang/OTP 20.3.8.11+, 21.2.3+ లేదా 22.0.5 అవసరం. సిద్ధాంతపరంగా, Erlang/OTP 19 శాఖతో కార్యాచరణ భద్రపరచబడింది, అయితే ఇది పరీక్షల ద్వారా కవర్ చేయబడింది.

CouchDB డేటాను ఆర్డర్ చేసిన జాబితా ఆకృతిలో నిల్వ చేస్తుందని మరియు సంఘర్షణ పరిస్థితులను ఏకకాలంలో గుర్తించడం మరియు పరిష్కరించడం ద్వారా మాస్టర్-మాస్టర్ మోడ్‌లో అనేక డేటాబేస్‌ల మధ్య డేటా యొక్క పాక్షిక ప్రతిరూపణను అనుమతిస్తుంది. ప్రతి సర్వర్ దాని స్వంత స్థానిక డేటాను నిల్వ చేస్తుంది, ఇతర సర్వర్‌లతో సమకాలీకరించబడుతుంది, వీటిని ఆఫ్‌లైన్‌లో తీసుకోవచ్చు మరియు క్రమానుగతంగా మార్పులను పునరావృతం చేయవచ్చు. ప్రత్యేకించి, ఈ ఫీచర్ CouchDBని వివిధ కంప్యూటర్‌ల మధ్య ప్రోగ్రామ్ సెట్టింగ్‌లను సమకాలీకరించడానికి ఆకర్షణీయమైన పరిష్కారంగా చేస్తుంది. BBC, Apple మరియు CERN వంటి కంపెనీలలో CouchDB-ఆధారిత పరిష్కారాలు అమలు చేయబడ్డాయి.

CouchDB ప్రశ్నలు మరియు డేటా ఇండెక్సింగ్ నమూనా ప్రకారం నిర్వహించబడతాయి మ్యార్రెడ్యూస్చే, డేటా నమూనా లాజిక్‌ను రూపొందించడానికి జావాస్క్రిప్ట్‌ని ఉపయోగించడం. సిస్టమ్ కోర్ ఎర్లాంగ్‌లో వ్రాయబడింది, ఇది బహుళ సమాంతర అభ్యర్థనలను అందించే పంపిణీ చేయబడిన సిస్టమ్‌లను రూపొందించడానికి ఆప్టిమైజ్ చేయబడింది. వీక్షణ సర్వర్ C లో వ్రాయబడింది మరియు మొజిల్లా ప్రాజెక్ట్ నుండి జావాస్క్రిప్ట్ ఇంజిన్‌పై ఆధారపడి ఉంటుంది. డేటాబేస్‌కు ప్రాప్యత RESTful JSON APIని ఉపయోగించి HTTP ప్రోటోకాల్‌ను ఉపయోగించి నిర్వహించబడుతుంది, ఇది బ్రౌజర్‌లో నడుస్తున్న వెబ్ అప్లికేషన్‌లతో సహా డేటాను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.

డేటా నిల్వ యూనిట్ అనేది ప్రత్యేకమైన ఐడెంటిఫైయర్, వెర్షన్ మరియు కీ/విలువ ఫార్మాట్‌లో పేరు పెట్టబడిన ఫీల్డ్‌ల యొక్క ఏకపక్ష సెట్‌ను కలిగి ఉన్న పత్రం. ఏకపక్ష పత్రాల (సముదాయం మరియు ఎంపిక) నుండి నకిలీ-నిర్మాణాత్మక డేటా సెట్‌ను నిర్వహించడానికి, జావాస్క్రిప్ట్ భాష ఏది ఉపయోగించబడుతుందో నిర్వచించడానికి వీక్షణలను (వీక్షణలు) రూపొందించే భావన ఉపయోగించబడుతుంది. నిర్దిష్ట వీక్షణలో కొత్త పత్రాలను జోడించేటప్పుడు డేటాను ధృవీకరించడానికి JavaScript కూడా ఫంక్షన్‌లను నిర్వచించగలదు.

మూలం: opennet.ru

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