تقسيم ٿيل DBMS rqlite 7.0 جو رليز ٿيو، جيڪو SQLite کي اسٽوريج انجڻ جي طور تي استعمال ڪري ٿو ۽ توهان کي هڪ ٻئي سان هم وقت سازي ٿيل اسٽوريج مان ڪلستر جي ڪم کي منظم ڪرڻ جي اجازت ڏئي ٿو. rqlite جي خاصيتن مان هڪ ورهايل غلطي برداشت ڪرڻ واري اسٽوريج جي تنصيب، ترتيب ڏيڻ ۽ سار سنڀال جي آساني آهي، ڪجهه حد تائين etcd ۽ قونصل وانگر، پر هڪ اهم / قيمت جي شڪل جي بدران هڪ تعلقي ڊيٽا ماڊل استعمال ڪندي. پروجيڪٽ ڪوڊ گو ۾ لکيل آهي ۽ MIT لائسنس تحت ورهايو ويو آهي.
سڀني نوڊس کي هم وقت سازي واري حالت ۾ رکڻ لاءِ، Raft اتفاق راءِ الورورٿم استعمال ڪيو ويندو آهي. Rqlite اصل SQLite لائبريري ۽ go-sqlite3 ڊرائيور استعمال ڪري ٿو، جنهن جي چوٽي تي هڪ پرت شروع ڪئي وئي آهي جيڪا ڪلائنٽ جي درخواستن تي عمل ڪري ٿي، ٻين نوڊس کي نقل ڪري ٿي، ۽ معروف نوڊ جي چونڊ تي اتفاق جي حاصلات جي نگراني ڪري ٿي.
ڊيٽابيس ۾ تبديليون صرف نوڊ ذريعي ڪري سگهجن ٿيون جنهن کي ليڊر چونڊيو ويو آهي، پر لکڻ جي عملن سان رابطا پڻ ڪلستر ۾ ٻين نوڊس ڏانهن موڪلي سگهجن ٿا، جيڪي درخواست کي ورجائڻ لاءِ ليڊر جي ايڊريس واپس ڪندا (ايندڙ ورزن ۾ اهي ليڊر ڏانهن درخواستن جي خودڪار اڳتي وڌڻ جو واعدو ڪيو). بنيادي زور غلطي رواداري تي آهي، تنهنڪري ڊي بي ايم ايس اسڪيل صرف پڙهڻ واري عملن سان، ۽ لکڻ جي عملن ۾ رڪاوٽ آهي. اهو ممڪن آهي ته هڪ واحد نوڊ مان هڪ rqlite ڪلستر هلائڻ ۽ اهو حل استعمال ڪري سگهجي ٿو SQLite تائين رسائي فراهم ڪرڻ لاءِ HTTP تي بغير ڪنهن غلطي رواداري فراهم ڪرڻ.
هر نوڊ تي SQLite ڊيٽا فائل ۾ محفوظ نه آهي، پر ياداشت ۾. Raft پروٽوڪول جي عمل سان پرت جي سطح تي، سڀني SQLite حڪمن جو هڪ لاگ جيڪو ڊيٽابيس ۾ تبديلين جي ڪري رکيو ويو آهي. هي لاگ استعمال ڪيو ويندو آهي نقل جي دوران (ٻين نوڊس تي ٻيهر پيدا ڪرڻ جي درخواستن جي سطح تي نقل)، جڏهن هڪ نئون نوڊ شروع ڪيو وڃي، يا رابطي جي نقصان کان بحال ڪرڻ لاء. لاگ جي سائيز کي گھٽائڻ لاء، خودڪار پيڪنگ استعمال ڪيو ويندو آھي، جيڪو ھڪڙي مخصوص تبديلين کان پوء شروع ٿئي ٿو ۽ ھڪڙي سنيپ شاٽ جي ٺاھڻ جي ڪري ٿي، جنھن جي حوالي سان ھڪڙو نئون لاگ برقرار رکڻ شروع ٿئي ٿو (ميموري ۾ ڊيٽابيس جي حالت آھي. سنيپ شاٽ سان هڪجهڙائي + جمع ٿيل تبديلي لاگ).
rqlite جون خاصيتون:
- هڪ الڳ SQLite تنصيب جي ضرورت کان سواء، ڪلستر کي ترتيب ڏيڻ ۾ آسان.
- جلدي نقل ٿيل SQL اسٽوريج حاصل ڪرڻ جي صلاحيت.
- پيداوار جي منصوبن ۾ استعمال لاء تيار (پيداوار-گريڊ).
- هڪ HTTP(S) API جي موجودگي جيڪا توهان کي بيچ موڊ ۾ ڊيٽا کي اپڊيٽ ڪرڻ جي اجازت ڏئي ٿي ۽ ڪلستر جي معروف نوڊ کي طئي ڪرڻ جي اجازت ڏئي ٿي. هڪ ڪمانڊ لائن انٽرفيس ۽ مختلف پروگرامنگ ٻولين لاءِ ڪلائنٽ لائبريريون پڻ مهيا ڪيون ويون آهن.
- ٻين نوڊس جي سڃاڻپ لاءِ هڪ خدمت جي دستيابي، توهان کي متحرڪ طور ڪلستر ٺاهڻ جي اجازت ڏئي ٿي.
- نوڊس جي وچ ۾ ڊيٽا جي تبادلي کي انڪرپٽ ڪرڻ لاء سپورٽ.
- پڙهڻ دوران ڊيٽا جي مطابقت ۽ مطابقت کي جانچڻ جي سطح کي ترتيب ڏيڻ جي صلاحيت.
- صرف پڙهڻ واري موڊ ۾ نوڊس کي ڳنڍڻ جي اختياري صلاحيت، جيڪي اتفاق راءِ کي طئي ڪرڻ ۾ حصو نه وٺندا آهن ۽ پڙهڻ جي عملن لاءِ ڪلستر جي اسڪاليبلٽي کي وڌائڻ لاءِ استعمال ٿيندا آهن.
- ھڪڙي گذارش ۾ حڪمن کي گڏ ڪرڻ جي بنياد تي ٽرانزيڪشن جي توھان جي پنھنجي فارم لاءِ سپورٽ (شروع، ڪمي، رولبڪ، بچاءُ ۽ رليز تي ٻڌل ٽرانزيڪشن سپورٽ نه آھن).
- گرم بيڪ اپ ٺاهڻ لاء سپورٽ.
نئين رليز ۾:
- نئين نوڊ ڊسڪوري سروس استعمال ڪندي خودڪار rqlite ڪلسٽرنگ لاءِ سپورٽ شامل ڪئي وئي جيڪا قونصل ۽ وغيره وانگر ورهايل اسٽوريج تي هلائي سگهجي ٿي. هي سروس rqlite نوڊس کي خودڪار طريقي سان هڪ ٻئي کي ڳولڻ جي اجازت ڏئي ٿي - ايڊمنسٽريٽر کي صرف مختلف سرورن تي ڪيترائي نوڊس لانچ ڪرڻ جي ضرورت آهي. سرورز، قونصل يا وغيره ڪلسٽر جي شيئر ٿيل ايڊريس جي وضاحت ڪندي (مثال طور، "example.com:8500")، ۽ نوڊس خودڪار طريقي سان ڪلسٽر ۾ شامل ٿي ويندا. ليڊر نوڊ وقتاً فوقتاً قونصل يا وغيره اسٽوريج ۾ پنهنجي ايڊريس جي معلومات کي اپڊيٽ ڪندو آهي، توهان کي بعد ۾ ليڊر کي تبديل ڪرڻ جي اجازت ڏيندو آهي بغير ٻين نوڊس کي ٻيهر ترتيب ڏيڻ جي، انهي سان گڏ ليڊر تبديل ٿيڻ کان پوءِ به نوان نوڊس شامل ڪرڻ جي. AWS Lambda پاران طاقتور پراڻي نوڊ دريافت سروس (ڊسڪوري موڊ) لاءِ سپورٽ بند ڪئي وئي آهي.
- CLI انٽرفيس هڪ ئي وقت ڪيترن ئي ميزبانن کي بيان ڪرڻ جي اجازت ڏئي ٿو - جيڪڏهن پهريون نوڊ دستياب ناهي، ايندڙ ميزبان سان رابطو ڪيو ويندو.
- rqlited ڪمانڊ لائن دليلن کي پارس ڪرڻ لاءِ ڪوڊ ٻيهر ڪم ڪيو ويو آهي.
- ختم ٿيل پروٽوبف پيڪيج بند ڪيو ويو آهي.
- رافٽ پروٽوڪول جي عمل ۾ استعمال ٿيندڙ BoltDB اسٽوريج کي bbolt، etcd پروجيڪٽ مان هڪ ڪانٽو سان تبديل ڪيو ويو آهي.
جو ذريعو: opennet.ru
