Yandex کد DBMS توزیع شده YDB را که از SQL پشتیبانی می کند باز کرد

Yandex کد منبع DBMS توزیع شده YDB را منتشر کرده است که از گویش SQL و تراکنش های ACID پشتیبانی می کند. DBMS از ابتدا ایجاد شد و در ابتدا با هدف اطمینان از تحمل خطا، بازیابی خودکار از خرابی ها و مقیاس پذیری توسعه یافت. خاطرنشان می شود که Yandex خوشه های YDB را راه اندازی کرده است، شامل بیش از 10 هزار گره، ذخیره صدها پتابایت داده و ارائه میلیون ها تراکنش توزیع شده در ثانیه. YDB در پروژه های Yandex مانند Market، Cloud، Smart Home، Alice، Metrica و Auto.ru استفاده می شود. کد به زبان C/C++ نوشته شده و تحت مجوز Apache 2.0 توزیع شده است. برای آشنایی و راه اندازی سریع می توانید از کانتینر داکر آماده استفاده کنید.

ویژگی های پروژه:

  • استفاده از مدل داده های رابطه ای با جداول. برای پرس و جو و تعریف طرح داده، از زبان YQL (YDB Query Language) استفاده می شود که گویش SQL است که برای کار با پایگاه داده های توزیع شده بزرگ سازگار شده است. هنگام ایجاد یک طرح ذخیره سازی، یک گروه بندی درخت مانند از جداول پشتیبانی می شود که یادآور دایرکتوری ها در یک سیستم فایل است. یک API برای کار با داده ها در قالب JSON ارائه شده است.
    Yandex کد DBMS توزیع شده YDB را که از SQL پشتیبانی می کند باز کرد
  • پشتیبانی از دسترسی به داده ها با استفاده از پرس و جوهای اسکن طراحی شده برای انجام پرس و جوهای موقتی تحلیلی در پایگاه داده، اجرا شده در حالت فقط خواندنی و برگرداندن جریان grpc.
  • تعامل با DBMS و ارسال درخواست ها با استفاده از رابط خط فرمان، رابط وب داخلی یا YDB SDK انجام می شود که کتابخانه هایی را برای C++، C# (.NET)، Go، Java، Node.js، PHP و Python فراهم می کند.
  • توانایی ایجاد پیکربندی‌های مقاوم در برابر خطا که در صورت خرابی دیسک‌ها، گره‌ها، رک‌ها و حتی مراکز داده به کار خود ادامه می‌دهند. YDB از استقرار و تکرار همزمان در سه منطقه در دسترس پشتیبانی می کند و عملکرد خوشه را در صورت خرابی یکی از مناطق حفظ می کند.
  • به طور خودکار از خرابی ها با حداقل تأخیر برای برنامه ها بازیابی می شود و به طور خودکار افزونگی داده های مشخص شده را حفظ می کند.
  • ایجاد خودکار نمایه ها بر اساس کلید اصلی و امکان تعریف شاخص های ثانویه برای بهبود کارایی دسترسی به ستون های دلخواه.
  • مقیاس پذیری افقی با افزایش بار و اندازه داده های ذخیره شده، خوشه را می توان با اتصال گره های جدید گسترش داد. طبقات محاسباتی و ذخیره سازی از هم جدا شده اند و به شما امکان می دهد قدرت محاسباتی و اندازه ذخیره سازی خود را به طور جداگانه افزایش دهید. خود DBMS توزیع یکنواخت داده ها و بار را با در نظر گرفتن منابع سخت افزاری موجود نظارت می کند. امکان استقرار پیکربندی های توزیع شده جغرافیایی که چندین مرکز داده را در نقاط مختلف جهان پوشش می دهند، وجود دارد.
  • از مدل سازگاری قوی و تراکنش های ACID هنگام پردازش پرس و جوهایی که چندین گره و جداول را در بر می گیرند، پشتیبانی می کند. برای بهبود عملکرد، می توانید به طور انتخابی بررسی سازگاری را غیرفعال کنید.
  • تکثیر خودکار داده ها، پارتیشن بندی خودکار (پارتیشن بندی، اشتراک گذاری) زمانی که اندازه یا بار افزایش می یابد، و بار خودکار و تعادل داده بین گره ها.
  • ذخیره داده ها به طور مستقیم در دستگاه های بلوک با استفاده از مؤلفه اصلی PDisk و لایه VDisk. DSProxy در بالای VDisk اجرا می‌شود، که ویژگی‌های در دسترس بودن و عملکرد دیسک‌ها را تجزیه و تحلیل می‌کند تا در صورت شناسایی مشکلات، آنها را حذف کند.
  • معماری انعطاف پذیر که به شما امکان می دهد خدمات مختلفی را در بالای YDB ایجاد کنید، از جمله دستگاه های بلوک مجازی و صف های دائمی. مناسب برای انواع مختلف بارهای کاری، OLTP و OLAP (پرس و جوهای تحلیلی).
  • پشتیبانی از تنظیمات چند مستاجر و بدون سرور. امکان احراز هویت مشتری. کاربران می‌توانند خوشه‌ها و پایگاه‌های داده مجازی خود را در یک زیرساخت مشترک مشترک، با در نظر گرفتن مصرف منابع در سطح تعداد درخواست‌ها و اندازه داده، یا با اجاره/رزرو منابع محاسباتی و فضای ذخیره‌سازی خاص ایجاد کنند.
  • امکان پیکربندی طول عمر رکوردها برای حذف خودکار داده های قدیمی.

منبع: opennet.ru

اضافه کردن نظر