ලේඛන-නැඹුරු DBMS Apache CouchDB 3.0 නිකුත් කිරීම

සිදු විය බෙදා හරින ලද ලේඛන-නැඹුරු දත්ත සමුදායක් නිකුත් කිරීම Apache CouchDB 3.0, NoSQL පද්ධති පන්තියට අයත් වේ. ව්යාපෘති මූලාශ්ර බෝ වීම Apache 2.0 යටතේ බලපත්‍ර ලබා ඇත.

වැඩිදියුණු කිරීම්Apache CouchDB 3.0 හි ක්‍රියාත්මක කර ඇත:

  • පෙරනිමි වින්‍යාසය වැඩි දියුණු කර ඇත.
    ආරම්භ කරන විට, පරිපාලක පරිශීලකයා දැන් නිර්වචනය කළ යුතුය, එසේ නොමැතිව සේවාදායකය දෝෂයකින් අවසන් වනු ඇත (සත්‍යාපනය නොමැතිව නොසැලකිලිමත් ලෙස ප්‍රවේශය හැර යන සේවාදායකයන් දියත් කිරීමේ ගැටළු විසඳීමට ඔබට ඉඩ සලසයි). "/_all_dbs" වෙත වන ඇමතුම් සඳහා දැන් පරිපාලක අයිතිවාසිකම් අවශ්‍ය වන අතර, සියලුම දත්ත සමුදායන් පෙරනිමියෙන් සාදනු ලබන්නේ පරිපාලක පරිශීලකයාට පමණක් ප්‍රවේශ විය හැකි ("_security" වස්තුව හරහා ප්‍රවේශ පරාමිති වෙනස් කළ හැක). පෙරනිමියෙන්, _users දත්ත ගබඩාවේ ඇති වස්තූන් සංස්කරණය කිරීම තහනම්ය;

  • එකතු කරන ලදී පරිශීලකයන් විසින් නිර්වචනය කරන ලද ඛණ්ඩිත (කොටස් කරන ලද) දත්ත සමුදායන් නිර්මාණය කිරීමේ හැකියාව, කොටස් හරහා ලේඛන බෙදා හැරීම සඳහා ඔබේම නීති නිර්වචනය කිරීමට හැකි වේ (shard range). අඹ දර්ශන සහ දර්ශක වෙත ෂර්ඩ් දත්ත සමුදායන් සඳහා විශේෂ ප්‍රශස්තකරණයන් එක් කරන ලදී;
  • ක්‍රියාත්මක කළා ඛණ්ඩනය කිරීමේදී ස්වයංක්‍රීය බෙදීම් මාදිලිය (බෙදීම). දත්ත සමුදාය තුළ, බිඳවැටීමේ මට්ටම තීරණය කිරීම සඳහා භාවිතා කරන q-සාධකයේ අගයෙහි වැඩි වීමක් සැලකිල්ලට ගනිමින්, කොටස් අතර දත්ත නැවත බෙදා හැරීමට දැන් හැකි ය;
  • එකතු කරන ලදී ස්වයංක්‍රීය පසුබිම් සුචිගත කිරීම සහ ඒවායේ ඉදිකිරීම් මෙහෙයුම් පැහැදිලිව දියත් නොකර ද්විතීයික දර්ශක (ජාවාස්ක්‍රිප්ට්, මැංගෝ, පෙළ සෙවුම් දර්ශක) යාවත්කාලීනව තබා ගැනීම සඳහා කෙන් උප පද්ධතිය;
  • ස්වයංක්‍රීය දත්ත සමුදා ඇසුරුම් සඳහා භාවිතා කරන සුමට ක්‍රියාවලිය සම්පූර්ණයෙන්ම නැවත ලියා ඇත;
  • නව උප පද්ධතියක් යෝජනා කර ඇත IO පෝලිම, ඇතැම් මෙහෙයුම් සඳහා I/O ප්‍රමුඛතාවය වෙනස් කිරීමට භාවිතා කරයි;
  • ප්‍රතිගාමී පරීක්ෂණ පද්ධතියක් ක්‍රියාත්මක කරන ලදී;
  • arm64v8 (aarch64) සහ ppc64le (ppc64el) වේදිකා සඳහා නිල සහාය එක් කරන ලදී;
  • ES1.8.5, ES60 සහ ES5+ සඳහා වැඩි දියුණු කළ සහය ඇතිව JavaScript එන්ජිම SpiderMonkey 6 (ෆයර්ෆොක්ස් 2016 හි ESR ශාඛාව) සමඟ සම්බන්ධ කිරීම සඳහා සහය එක් කරන ලදී;
  • සෙවුම් යන්ත්‍රය ඇතුළත් පලවා හැරීමට තැත්කල ආකාරයට CouchDB මත පදනම් වූ සෙවුම් යන්ත්‍රයක් යෙදවීම බෙහෙවින් සරල කරන Lucene මත පදනම්ව;
  • systemd-journald භාවිතයෙන් ලොග් වීම සඳහා පසුපෙළ එකතු කරන ලදි;
  • “[couchdb] single_node” සැකසුම එක් කරන ලදී, සැකසූ විට, CouchDB ඒවා අතුරුදහන් වී ඇත්නම් ස්වයංක්‍රීයව පද්ධති දත්ත සමුදායන් සාදනු ඇත;
  • couch_server ක්‍රියාවලියේ ක්‍රියාකාරිත්වය ප්‍රශස්ත කර ඇත;
  • වින්ඩෝස් වේදිකාව සඳහා ස්ථාපකය සැලකිය යුතු ලෙස වැඩිදියුණු කර ඇත;
  • බැලීම් 2^28 (268435456) ප්‍රතිඵලවලට සීමා වේ. මෙම සීමාව "[query_server_config]" කොටසේ ඇති query_limit සහ partition_query_limit විකල්ප භාවිතා කරමින් නිත්‍ය සහ ඛණ්ඩිත බැලීම් සඳහා වෙන වෙනම වින්‍යාසගත කළ හැක;
  • ජාල වරාය 5986 මත දියත් කරන ලද වෙනම HTTP දේශීය නෝඩ් කළමනාකරණ අතුරු මුහුණතක් ඉවත් කර ඇත, එහි ක්‍රියාකාරිත්වය දැන් පොදු පොකුරු කළමනාකරණ අතුරු මුහුණත හරහා ලබා ගත හැකිය;
  • උපරිම ලේඛන ප්‍රමාණය 8 MB දක්වා අඩු කර ඇති අතර, එය CouchDB 3.0 වෙත උත්ශ්‍රේණි කිරීමෙන් පසු පැරණි සේවාදායකයන්ගෙන් දත්ත අනුවර්තනය වීමේ ගැටළු ඇති කළ හැක. සීමාව වැඩි කිරීමට, ඔබට "[couchdb] max_document_size" සැකසීම භාවිතා කළ හැක;
  • _ප්‍රතිකරනය සහ _බාහිර ඇමතුම්, තැටි_ප්‍රමාණය සහ දත්ත_ප්‍රමාණය ක්ෂේත්‍ර, සහ delayed_commits විකල්පය වැනි යල් පැන ගිය විශේෂාංගවල ප්‍රධාන පිරිසිදු කිරීමක් සිදු කර ඇත;
  • CouchDB ධාවනය කිරීමට දැන් Erlang/OTP 20.3.8.11+, 21.2.3+ හෝ 22.0.5 අවශ්‍ය වේ. න්‍යායාත්මකව, Erlang/OTP 19 ශාඛාව සමඟ ක්‍රියාකාරීත්වය සංරක්ෂණය කර ඇත, නමුත් එය පරීක්ෂණ මගින් ආවරණය කෙරේ.

CouchDB විසින් ඇණවුම් කළ ලැයිස්තු ආකෘතියකින් දත්ත ගබඩා කරන අතර ගැටුම් තත්ත්වයන් එකවර හඳුනා ගැනීම සහ විසඳීම සමඟ ප්‍රධාන-ප්‍රධාන මාදිලියේ දත්ත සමුදා කිහිපයක් අතර දත්ත අර්ධ වශයෙන් අනුකරණය කිරීමට ඉඩ ලබා දෙන බව අපි සිහිපත් කරමු. සෑම සේවාදායකයක්ම තමන්ගේම දේශීය දත්ත කට්ටලයක් ගබඩා කරයි, අනෙකුත් සේවාදායකයන් සමඟ සමමුහුර්ත කර ඇත, ඒවා නොබැඳි ලෙස ගත හැකි අතර වරින් වර වෙනස්කම් ප්‍රතිවර්තනය කළ හැකිය. විශේෂයෙන්ම, මෙම විශේෂාංගය CouchDB විවිධ පරිගණක අතර වැඩසටහන් සැකසුම් සමමුහුර්ත කිරීම සඳහා ආකර්ෂණීය විසඳුමක් බවට පත් කරයි. CouchDB මත පදනම් වූ විසඳුම් BBC, Apple සහ CERN වැනි සමාගම්වල ක්‍රියාත්මක කර ඇත.

CouchDB විමසුම් සහ දත්ත සුචිගත කිරීම සුසමාදර්ශය අනුව සිදු කළ හැක සිතියම් අඩු කිරීම, දත්ත නියැදි තර්කනය උත්පාදනය කිරීමට JavaScript භාවිතා කිරීම. පද්ධති හරය Erlang වලින් ලියා ඇත, එය බහු සමාන්තර ඉල්ලීම් සපයන බෙදා හරින ලද පද්ධති නිර්මාණය කිරීම සඳහා ප්‍රශස්ත කර ඇත. දර්ශන සේවාදායකය C වලින් ලියා ඇති අතර Mozilla ව්‍යාපෘතියේ JavaScript එන්ජිම මත පදනම් වේ. දත්ත සමුදායට ප්‍රවේශය RESTful JSON API භාවිතයෙන් HTTP ප්‍රොටෝකෝලය භාවිතයෙන් සිදු කෙරේ, බ්‍රවුසරයේ ක්‍රියාත්මක වන වෙබ් යෙදුම් ඇතුළුව දත්ත වෙත ප්‍රවේශ වීමට ඔබට ඉඩ සලසයි.

දත්ත ගබඩා ඒකකය යනු අනන්‍ය හඳුනාගැනීමක්, අනුවාදයක් ඇති ලේඛනයක් වන අතර යතුරු/අගය ආකෘතියෙන් නම් කරන ලද අත්තනෝමතික ක්ෂේත්‍ර කට්ටලයක් අඩංගු වේ. අත්තනෝමතික ලේඛන වලින් ව්‍යාජ-ව්‍යුහගත දත්ත සමූහයක් සංවිධානය කිරීම සඳහා (එකතු කිරීම සහ තේරීම), ජාවාස්ක්‍රිප්ට් භාෂාව භාවිතා කරන්නේ කුමන අර්ථ දැක්වීම සඳහා දසුන් (දර්ශන) සැකසීමේ සංකල්පය භාවිතා කරයි. විශේෂිත දසුනක් තුළ නව ලේඛන එකතු කිරීමේදී දත්ත වලංගු කිරීමට JavaScript හට කාර්යයන් නිර්වචනය කළ හැක.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න