آخرین نسخه از پایگاه داده Rethink با تغییرات اساسی در ساختار لایه خوشه بندی و افزایش ویژگی های مختلف، منتشر شد. پایگاه داده Rethink یک پایگاه داده متن باز مبتنی بر NoSql، مناسب برای برنامه های وب است. تفاوت اصلی آن اینست که بجای آنکه برای انجام تغییرات، درخواستی به سمت آن فرستاده شود، می توان به آن دستور داد که به صورت مداوم، نتایج به روز شده ی پرس و جوها را، بلادرنگ، در برنامه قرار دهد.
این پایگاه داده، با استارت آپی در سال 2009، با پشتیبانی YCombinator پایه ریزی و در سال 2012 به صورت متن باز ارائه شد. در آن زمان، تیم در وبلاگ خود نوشت: "پایگاه داده Rethink برای ذخیره مستندات JSON ساخته شده است و با تلاش کمی می توان آن را برای چند ماشین، مقیاس بندی کرد. این پایگاه داده زبان پرس و جوی مناسبی به نام ReQL دارد که از پرس و جوهای مفید مانند join برای جداول یا group by پشتیبانی می کند. یادگیری و تنظیمات این زبان پرس و جو ساده و راحت است."
تغییرات اساسی نسخه Rethink 2.1، با پشتیبانی از شکست های خودکار شروع می شود. در زمان شکست یک سرور، پایگاه داده Rethink به صورت خودکار سرورهای جدید را انتخاب می کند و بدون نیاز به خاموش و روشن کردن سرور توسط مدیر، به کار خود ادامه می دهد.
توسعه دهندگان در مورد ویژگی های این پایگاه داده در وبلاگ خود، در مورد زمانی که سرور اصلی از کار می افتد: "سرورهایی که دارای تکرارهای زیادی هستند، زمانی که سرور اصلی از کار می افتد، سرور دیگری را انتخاب می کنند. تا زمانی که سرورهای باقیمانده ای وجود دارند تا یک سرور فعال را انتخاب کنند، شکست سخت افزار یا مشکلات جزئی شبکه، نمی تواند پایگاه داده را از کار بیندازد."
رفتار کلاستر نیز تفاوت هایی داشته است مثلا زمانی که یک سرور از کار می افتد، دیگر نیازی نیست که این سرور برای اجرای وظایف مدیر مانند ایجاد جداول از شبکه خارج شود. یا بهبود دیگر پشتیبانی برای حذف و اضافه کردن گره ها از یک کلاستر زنده بدون احتیاج به خاموش کردن شبکه است.
پشتیبانی از عدم موفقیت یا شکست، بر پایه الگوریتم توافقی Raft است که توسط پژوهشگران استندفورد توسعه داده شد. متاسفانه برای توسعه دهندگان، کتابخانه های موجود Raft به خوبی با لایه های شبکه و کوروتاین در پایگاه داده Rethink یکپارچه نمی شود، بنابراین آنها نسخه ی جدیدی از Raft را برای خود پیاده سازی کردند و با سیستم های سطح پایین Rethink به خوبی سازگار می شود.
نسخه ی جدید پشتیبانی از پرس و جوهای آسنکرون را نیز اضافه کرده است. این ویژگی توسط EventMachine در روبی و تورنادو و فریم ورک asyncio در پایتون پشتیبانی می شود.
Rethink نیز از SSL پشتیبانی می کند که سبب می شود دسترسی به کلاسترهای این پایگاه داده از طریق اینترنت آسانتر شود. دستورات محاسباتی جدیدی نیز به زبان پرس و جوی ReQL افزوده شده است.
ثبت نظر