د rqlite 7.0 خوشې کول، د SQLite پر بنسټ ویشل شوي، د غلطۍ زغمونکي DBMS

د توزیع شوي DBMS rqlite 7.0 خوشې کول ترسره شوي، کوم چې SQLite د ذخیره کولو انجن په توګه کاروي او تاسو ته اجازه درکوي د یو بل سره همغږي شوي ذخیره کولو څخه د کلستر کار تنظیم کړئ. د rqlite یوه ځانګړتیا د توزیع شوي غلطۍ زغمونکي ذخیره نصبولو، ځای پرځای کولو او ساتلو اسانتیا ده، یو څه د etcd او Consul سره ورته، مګر د کلیدي / ارزښت فارمیټ پرځای د اړونده ډیټا ماډل کارول. د پروژې کوډ په Go کې لیکل شوی او د MIT جواز لاندې ویشل شوی.

د ټولو نوډونو په ترکیب حالت کې ساتلو لپاره، د رافټ موافقت الګوریتم کارول کیږي. Rqlite اصلي SQLite کتابتون او د go-sqlite3 ډرایور کاروي، په سر کې یو پرت په لاره اچول کیږي چې د پیرودونکي غوښتنې پروسس کوي، نورو نوډونو ته نقل کوي، او د مخکښ نوډ په انتخاب کې د موافقې لاسته راوړنې څارنه کوي.

په ډیټابیس کې بدلون یوازې د نوډ لخوا رامینځته کیدی شي چې د مشر په توګه غوره شوی وي ، مګر د لیکلو عملیاتو سره اړیکې په کلستر کې نورو نوډونو ته هم لیږل کیدی شي ، کوم چې به د غوښتنې تکرارولو لپاره د مشر پته بیرته راولي (په راتلونکي نسخه کې دوی مشر ته د غوښتنو اتوماتیک لیږد اضافه کولو ژمنه وکړه). اصلي ټینګار د غلطۍ زغم باندې دی، نو د DBMS پیمانه یوازې د لوستلو عملیاتو سره، او د لیکلو عملیات خنډ دي. دا ممکنه ده چې د یو واحد نوډ څخه د rqlite کلستر چلول او دا حل د HTTP په اړه SQLite ته د لاسرسي چمتو کولو لپاره کارول کیدی شي پرته لدې چې د غلطۍ زغم چمتو کړي.

په هر نوډ کې د SQLite ډاټا په فایل کې نه ساتل کیږي، مګر په حافظه کې. د رافټ پروتوکول پلي کولو سره د پرت په کچه ، د ټولو SQLite کمانډونو لاګ ساتل کیږي چې ډیټابیس ته د بدلون لامل کیږي. دا لاګ د نقل کولو پرمهال کارول کیږي (په نورو نوډونو کې د بیا تولید غوښتنې په کچه نقل) ، کله چې نوی نوډ پیل کړئ ، یا د ارتباط له لاسه ورکولو څخه بیرته ترلاسه کولو لپاره. د لاګ د اندازې کمولو لپاره، اتوماتیک بسته بندي کارول کیږي، کوم چې د یو مشخص شمیر بدلونونو وروسته پیل کیږي او د سنیپ شاټ فکس کولو المل کیږي، په دې اړه چې د نوي لاګ ساتل پیل کیږي (په حافظه کې د ډیټابیس حالت دی. د سنیپ شاټ سره ورته والی + د جمع شوي بدلون لاګ).

د rqlite ځانګړتیاوې:

  • د کلستر ځای په ځای کولو کې اسانه ، پرته د جلا SQLite نصبولو اړتیا.
  • د ګړندي نقل شوي SQL ذخیره ترلاسه کولو وړتیا.
  • د تولید په پروژو کې د کارونې لپاره چمتو دی (د تولید درجه).
  • د HTTP(S) API شتون چې تاسو ته اجازه درکوي په بیچ حالت کې ډاټا تازه کړئ او د کلستر مخکښ نوډ وټاکئ. د مختلف پروګرامینګ ژبو لپاره د کمانډ لاین انٹرفیس او د مراجعینو کتابتونونه هم چمتو شوي.
  • د نورو نوډونو پیژندلو لپاره د خدمت شتون ، تاسو ته اجازه درکوي په متحرک ډول کلسترونه رامینځته کړئ.
  • د نوډونو ترمینځ د ډیټا تبادلې کوډ کولو لپاره ملاتړ.
  • د لوستلو پر مهال د معلوماتو د مطابقت او ثبات د چک کولو کچه تنظیم کولو وړتیا.
  • یوازې د لوستلو حالت کې د نوډونو سره وصل کولو اختیاري وړتیا ، کوم چې د توافق په ټاکلو کې برخه نه اخلي او د لوستلو عملیاتو لپاره د کلستر د توزیع کولو لپاره کارول کیږي.
  • په یوه غوښتنه کې د کمانډونو د یوځای کولو پراساس ستاسو د راکړې ورکړې بڼه لپاره ملاتړ (د BEGIN، COMMIT، ROLLBACK، SAVEPOINT او ریلیز پر بنسټ لیږدونه نه ملاتړ کیږي).
  • د ګرم بیک اپ جوړولو لپاره ملاتړ.

په نوې خپرونه کې:

  • د نوي نوډ کشف خدمت په کارولو سره د اتوماتیک rqlite کلسترینګ لپاره ملاتړ اضافه شوی چې کولی شي د قونسل او etcd توزیع شوي ذخیره پراساس کار وکړي. خدمت د rqlite نوډونو ته اجازه ورکوي چې په اوتومات ډول یو بل ومومي - مدیر یوازې اړتیا لري څو نوډونه په مختلف سرورونو کې لانچ کړي ، د قونسل یا etcd کلستر عام پته مشخص کړي (د مثال په توګه ، "example.com: 8500") ، او نوډونه به په اتوماتيک ډول په کلستر کې یوځای شي. مخکښ نوډ په وخت سره په قونسل یا etcd ذخیره کې د خپل پتې په اړه معلومات تازه کوي، کوم چې تاسو ته اجازه درکوي چې وروسته د نورو نوډونو بیا تنظیم کولو اړتیا پرته مشر بدل کړئ، او همدارنګه د مشر بدلولو وروسته حتی نوي نوډونه اضافه کړئ. د میراث کشف حالت خدمت چې په AWS Lambda کې روان دی بند شوی دی.
  • د CLI انٹرفیس اجازه ورکوي څو کوربه په یوځل مشخص کړي - که لومړی نوډ شتون ونلري، راتلونکی کوربه به اړیکه ونیسي.
  • د rqlited کمانډ لاین دلیلونو د پارس کولو کوډ بیا کار شوی.
  • د تخریب شوي پروټوبف کڅوړه بنده شوې ده.
  • د بولټ ډی بی ذخیره چې د رافټ پروتوکول پلي کولو کې کارول کیږي د bbolt لخوا بدل شوی ، د etcd پروژې څخه فورک.

سرچینه: opennet.ru

Add a comment