ሰነድ-ተኮር DBMS Apache CouchDB 3.0 መልቀቅ

ወስዷል የተከፋፈለ ሰነድ-ተኮር የውሂብ ጎታ መልቀቅ Apache CouchDB 3.0የ NoSQL ስርዓቶች ክፍል አባል። የፕሮጀክት ምንጮች ስርጭት በ Apache 2.0 ፍቃድ የተሰጠው.

ማሻሻያዎችበ Apache CouchDB 3.0 ውስጥ ተተግብሯል:

  • ነባሪ ውቅር ተሻሽሏል።
    ሲጀመር የአስተዳዳሪው ተጠቃሚ አሁን መገለጽ አለበት፣ ያለዚያ አገልጋዩ በስህተት ያበቃል (ያለማወቅ ያለ ማረጋገጫ መዳረሻ የሚተዉ አገልጋዮችን በማስጀመር ላይ ያሉ ችግሮችን ለመፍታት ያስችላል)። ወደ "/_all_dbs" የሚደረጉ ጥሪዎች አሁን የአስተዳዳሪ መብቶችን ይፈልጋሉ፣ እና ሁሉም የውሂብ ጎታዎች በነባሪነት የተፈጠሩት ለአስተዳዳሪው ተጠቃሚ ብቻ ነው (የመዳረሻ መለኪያዎች በ"_ሴኪዩሪቲ" ነገር በኩል ሊቀየሩ ይችላሉ።) በነባሪነት በ _users ዳታቤዝ ውስጥ ያሉ ነገሮችን ማስተካከል የተከለከለ ነው።

  • ታክሏል። በተጠቃሚ የተገለጹ የተከፋፈሉ (የተከፋፈሉ) የውሂብ ጎታዎችን የመፍጠር ችሎታ ፣ ይህም ሰነዶችን በክፍሎች (shard ክልል) ለማሰራጨት የራስዎን ህጎች ለመግለጽ ያስችላል። ወደ ማንጎ እይታዎች እና ኢንዴክሶች ለተከፋፈሉ የውሂብ ጎታዎች ልዩ ማመቻቸት ታክሏል;
  • ተተግብሯል። በራስ-ሰር ክፍፍል ሁነታ (በመከፋፈል) ወቅት. በመረጃ ቋቱ ውስጥ አሁን የመበስበስ ደረጃን ለመወሰን ጥቅም ላይ የዋለው የ q-factor ዋጋ መጨመር ግምት ውስጥ በማስገባት በክፍሎች መካከል መረጃን እንደገና ማሰራጨት ይቻላል;
  • ታክሏል። የኬን ንዑስ ስርዓት ለራስ-ሰር የጀርባ መረጃ ጠቋሚ እና የሁለተኛ ደረጃ ኢንዴክሶችን (ጃቫስክሪፕት ፣ ማንጎ ፣ የጽሑፍ ፍለጋ ኢንዴክሶች) የግንባታ ሥራቸውን በግልጽ ሳያስጀምሩ ማቆየት ፣
  • ለራስ-ሰር የውሂብ ጎታ ማሸግ ጥቅም ላይ የሚውለው ለስላሳ ሂደት ሙሉ በሙሉ እንደገና ተጽፏል;
  • አዲስ ንዑስ ስርዓት ቀርቧል አይኦ ወረፋ, ለአንዳንድ ኦፕሬሽኖች የ I / O ቅድሚያን ለመለወጥ ጥቅም ላይ ይውላል;
  • የድጋሚ መፈተሻ ስርዓትን ተተግብሯል;
  • ለ arm64v8 (aarch64) እና ppc64le (ppc64el) መድረኮች ይፋዊ ድጋፍ ታክሏል፤
  • ከጃቫ ስክሪፕት ኢንጂን SpiderMonkey 1.8.5 (ESR of Firefox 60 ቅርንጫፍ) ጋር ለማገናኘት ተጨማሪ ድጋፍ ለES5፣ ES6 እና ES2016+;
  • የፍለጋ ሞተር ተካትቷል። Dreyfus በ CouchDB ላይ የተመሠረተ የፍለጋ ሞተር መዘርጋትን በእጅጉ የሚያቃልል በሉሴን ላይ የተመሠረተ;
  • በስርዓተ-ጆርናልድ ተጠቅመው ለመመዝገብ የታከለ የጀርባ ጫፍ;
  • የ"[couchdb] single_node" መቼት ታክሏል፣ ሲዋቀር CouchDB ከጠፉ የስርዓት ዳታቤዞችን በራስ ሰር ይፈጥራል።
  • የcouch_server ሂደት ​​አፈጻጸም ተመቻችቷል፤
  • ለዊንዶውስ መድረክ ጫኚው በከፍተኛ ሁኔታ ተሻሽሏል;
  • እይታዎች በ2^28 (268435456) ውጤቶች የተገደቡ ናቸው። ይህ ገደብ በ"[query_server_config]" ክፍል ውስጥ ያለውን የመጠይቅ_limit እና partition_query_limit አማራጮችን በመጠቀም ለመደበኛ እና ለተከፋፈሉ እይታዎች ሊዋቀር ይችላል።
  • በኔትወርክ ወደብ 5986 የጀመረው የተለየ የኤችቲቲፒ የአካባቢ ኖድ አስተዳደር በይነገጽ ተወግዷል፣ ተግባሩ አሁን በጋራ ክላስተር አስተዳደር በይነገጽ በኩል ይገኛል።
  • ከፍተኛው የሰነድ መጠን ወደ 8 ሜባ ዝቅ ብሏል፣ ይህም ወደ CouchDB 3.0 ካሻሻሉ በኋላ ከአሮጌ አገልጋዮች የውሂብ መባዛት ላይ ችግር ሊፈጥር ይችላል። ገደቡን ለመጨመር የ"[couchdb] max_document_size" ቅንብርን መጠቀም ትችላለህ።
  • እንደ _replicator እና _ውጫዊ ጥሪዎች፣የዲስክ_መጠን እና የዳታ_መጠን መስኮች እና የዘገየ_ኮሚትስ አማራጭ ያሉ ጊዜ ያለፈባቸው ባህሪያትን የማጽዳት ስራ ተከናውኗል።
  • CouchDB አሁን ማስኬድ Erlang/OTP 20.3.8.11+፣ 21.2.3+ ወይም 22.0.5 ያስፈልገዋል። በንድፈ ሀሳብ፣ ከ Erlang/OTP 19 ቅርንጫፍ ጋር ያለው ተግባር ተጠብቆ ይቆያል፣ ነገር ግን በፈተናዎች የተሸፈነ ነው።

CouchDB ውሂብን በታዘዘ የዝርዝር ቅርጸት ያከማቻል እና በበርካታ የውሂብ ጎታዎች መካከል በዋና-ማስተር ሁነታ በአንድ ጊዜ የግጭት ሁኔታዎችን ፈልጎ ማግኘት እና መፍታት እንደሚፈቅድ እናስታውስ። እያንዳንዱ አገልጋይ ከመስመር ውጭ ሊወሰድ እና በየጊዜው ለውጦችን የሚደግም ከሌሎች አገልጋዮች ጋር የተመሳሰለ የራሱን የአካባቢያዊ የውሂብ ስብስብ ያከማቻል። በተለይም ይህ ባህሪ CouchDB በተለያዩ ኮምፒውተሮች መካከል የፕሮግራም መቼቶችን ለማመሳሰል ማራኪ መፍትሄ ያደርገዋል። በ CouchDB ላይ የተመሰረቱ መፍትሄዎች እንደ ቢቢሲ፣ አፕል እና ሲአርኤን ባሉ ኩባንያዎች ውስጥ ተተግብረዋል።

የ CouchDB መጠይቆች እና የውሂብ መረጃ ጠቋሚ በምሳሌው መሰረት ሊከናወን ይችላል የካርታ ቅነሳ, ጃቫ ስክሪፕት በመጠቀም የውሂብ ናሙና አመክንዮ ለማመንጨት. የሲስተም ኮር በኤርላንግ የተፃፈ ሲሆን ይህም በርካታ ትይዩ ጥያቄዎችን የሚያቀርቡ ስርጭቶችን ለመፍጠር የተመቻቸ ነው። የእይታ አገልጋዩ በ C የተፃፈ ሲሆን በሞዚላ ፕሮጀክት በጃቫ ስክሪፕት ሞተር ላይ የተመሠረተ ነው። የመረጃ ቋቱ መዳረሻ የኤችቲቲፒ ፕሮቶኮልን በመጠቀም RESTful JSON API በመጠቀም ይከናወናል፣ይህም በአሳሹ ውስጥ ከሚሰሩ የድር መተግበሪያዎችን ጨምሮ ውሂብን እንዲደርሱበት ያስችልዎታል።

የውሂብ ማከማቻ ክፍሉ ልዩ መለያ፣ ስሪት ያለው እና በቁልፍ/እሴት ቅርጸት የዘፈቀደ የተሰየሙ መስኮችን የያዘ ሰነድ ነው። በውሸት የተዋቀረ የውሂብ ስብስብ በዘፈቀደ ሰነዶች (ማጠቃለያ እና ምርጫ) ለማደራጀት ፣ እይታዎችን የመፍጠር ጽንሰ-ሀሳብ ጥቅም ላይ ይውላል ፣ የትኛው የጃቫ ስክሪፕት ቋንቋ ጥቅም ላይ እንደሚውል ያሳያል። ጃቫስክሪፕትም በተለየ እይታ ውስጥ አዲስ ሰነዶችን ሲጨምር ውሂብን ለማረጋገጥ ተግባራትን ሊገልጽ ይችላል።

ምንጭ: opennet.ru

አስተያየት ያክሉ