سیستم عامل توزیع شده DBOS در حال اجرا در بالای DBMS ارائه شده است

پروژه DBOS (سیستم عامل مبتنی بر DBMS) ارائه شده است که یک سیستم عامل جدید را برای اجرای برنامه های کاربردی توزیع شده مقیاس پذیر توسعه می دهد. یکی از ویژگی های این پروژه استفاده از DBMS برای ذخیره برنامه ها و وضعیت سیستم و همچنین سازماندهی دسترسی به حالت فقط از طریق تراکنش ها است. این پروژه توسط محققان موسسه فناوری ماساچوست، دانشگاه ویسکانسین و استنفورد، دانشگاه کارنگی ملون و گوگل و VMware در حال توسعه است. این اثر تحت مجوز MIT توزیع می شود.

اجزای تعامل با تجهیزات و خدمات مدیریت حافظه سطح پایین در میکروکرنل قرار می گیرند. از قابلیت های ارائه شده توسط میکروکرنل برای راه اندازی لایه DBMS استفاده می شود. خدمات سیستم سطح بالا که اجرای برنامه را امکان پذیر می کند فقط با DBMS توزیع شده تعامل دارند و از میکروکرنل و اجزای خاص سیستم جدا می شوند.

ایجاد بر روی یک DBMS توزیع شده این امکان را فراهم می کند که سرویس های سیستم در ابتدا توزیع شده و به یک گره خاص متصل نشوند، که DBOS را از سیستم های کلاستر سنتی متمایز می کند، که در آن هر گره نمونه خود را از سیستم عامل اجرا می کند، که در بالای آنها مجزا است. زمانبندی های خوشه، سیستم های فایل توزیع شده و مدیران شبکه راه اندازی می شوند.

سیستم عامل توزیع شده DBOS در حال اجرا در بالای DBMS ارائه شده است

خاطرنشان می شود که استفاده از DBMS های توزیع شده مدرن به عنوان پایه DBOS، ذخیره داده ها در RAM و تراکنش های پشتیبانی مانند VoltDB و FoundationDB، می تواند عملکرد کافی برای اجرای کارآمد بسیاری از خدمات سیستم را ارائه دهد. DBMS همچنین می تواند زمانبندی، سیستم فایل و داده های IPC را ذخیره کند. در عین حال، DBMS ها بسیار مقیاس پذیر هستند، اتمی و جداسازی تراکنش ها را فراهم می کنند، می توانند پتابایت داده را مدیریت کنند، و ابزارهایی برای کنترل دسترسی و ردیابی جریان داده ها فراهم می کنند.

از جمله مزایای معماری پیشنهادی، گسترش قابل توجه قابلیت های تجزیه و تحلیل و کاهش پیچیدگی کد به دلیل استفاده از پرس و جوهای معمولی به DBMS در خدمات سیستم عامل است که در کنار آن اجرای تراکنش ها و ابزارهایی برای اطمینان از بالا بودن در دسترس بودن انجام می شود (چنین عملکردی را می توان یک بار در سمت DBMS پیاده سازی کرد و در سیستم عامل و برنامه ها استفاده کرد).

به عنوان مثال، یک زمان‌بندی خوشه می‌تواند اطلاعات مربوط به وظایف و کنترل‌کننده‌ها را در جداول DBMS ذخیره کند و عملیات زمان‌بندی را به‌عنوان تراکنش‌های معمولی، ترکیب کدهای ضروری و SQL پیاده‌سازی کند. تراکنش ها حل مشکلاتی مانند مدیریت همزمان و بازیابی شکست را آسان تر می کند زیرا تراکنش ها ثبات و تداوم حالت را تضمین می کنند. در زمینه مثال زمان‌بندی، تراکنش‌ها اجازه دسترسی همزمان به داده‌های مشترک را می‌دهند و تضمین می‌کنند که یکپارچگی حالت در صورت خرابی حفظ می‌شود.

مکانیسم های ثبت و تجزیه و تحلیل داده های ارائه شده توسط DBMS می تواند برای ردیابی دسترسی و تغییرات در وضعیت برنامه، نظارت، اشکال زدایی و حفظ امنیت استفاده شود. به عنوان مثال، پس از شناسایی دسترسی غیرمجاز به یک سیستم، می توانید پرس و جوهای SQL را برای تعیین میزان نشت اجرا کنید، و تمام عملیات انجام شده توسط فرآیندهایی که به اطلاعات محرمانه دسترسی پیدا کرده اند را شناسایی کنید.

این پروژه بیش از یک سال است که در حال توسعه است و در مرحله ایجاد نمونه های اولیه از اجزای معماری فردی است. در حال حاضر، یک نمونه اولیه از سرویس‌های سیستم‌عاملی که بر روی DBMS اجرا می‌شوند، مانند FS، IPC و زمان‌بند، آماده شده‌اند و یک محیط نرم‌افزاری در حال توسعه است که رابطی برای اجرای برنامه‌های کاربردی مبتنی بر FaaS (function-as-) فراهم می‌کند. a-service) مدل.

مرحله بعدی توسعه برنامه ریزی برای ارائه یک پشته نرم افزاری کامل برای برنامه های کاربردی توزیع شده است. VoltDB در حال حاضر به عنوان یک DBMS در آزمایشات استفاده می شود، اما بحث در مورد ایجاد لایه خودمان برای ذخیره داده ها یا پیاده سازی قابلیت های از دست رفته در DBMS های موجود در جریان است. این سؤال که کدام مؤلفه ها باید در سطح هسته اجرا شوند و کدام مؤلفه ها می توانند در بالای DBMS پیاده سازی شوند نیز مورد بحث است.

منبع: opennet.ru

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