اسکایلا (پایگاه داده)
توسعهدهنده(ها) | ScyllaDB Inc. |
---|---|
انتشار اولیه | ۲۲ سپتامبر ۲۰۱۵ |
انتشار پایدار | Scylla Open Source 4.6
/ ۱۴ مارس ۲۰۲۲ |
مخزن | |
نوشتهشده با | C++ |
سیستمعامل | Linux |
نوع | distributed data store |
مجوز | GNU AGPL |
وبگاه |
اسکایلا (Scylla) یک ذخیرهسازستونی گسترده NoSQL با منبع باز است. این پایگاه داده طراحی شدهاست تا با آپاچی کاساندرا سازگار باشد و در عین حال به توان عملیاتی بسیار بالاتر و تأخیر کمتری دست یابد. از پروتکلهای مشابه کاساندرا Cassandra (CQL و Thrift) و همان فرمتهای فایل (SSTable) پشتیبانی میکند، اما یک پیادهسازی کاملاً بازنویسی شدهاست که از زبان C++20 جایگزین جاوای Cassandra و کتابخانه برنامهنویسی ناهمزمان سی استار Seastar[۱] استفاده میکند. که ریسمانها، حافظه مشترک، فایلهای نگاشت شده و سایر تکنیکهای کلاسیک برنامهنویسی لینوکس را پشتیبانی میکند. اسکایلا علاوه بر پیادهسازی پروتکلهای کاساندرا (Cassandra)، رابط برنامهنویسی دینامو دی بی Amazon DynamoDB API را نیز پیادهسازی میکند.[۲]
اسکایلا از یک طراحی تکه شده در هر گره (نود) استفاده میکند، به این معنی که هر هسته CPU زیرمجموعه متفاوتی از دادهها را مدیریت میکند. هستهها دادهها را به اشتراک نمیگذارند، بلکه در صورت نیاز بهطور صریح با هم ارتباط برقرار میکنند. نویسندگان اسکایلا ادعا میکنند که این طراحی به اسکایلا اجازه میدهد تا به عملکرد بسیار بهتری در ماشینهای مدرن NUMA SMP دست یابد و با تعداد هستهها مقیاس بسیار خوبی داشته باشد. آنها ۲ میلیون درخواست در ثانیه را روی یک ماشین اندازهگیری کردهاند،[۳] و همچنین ادعا میکنند که یک خوشه اسکایلا میتواند به اندازه یک خوشه کاساندرا ۱۰ برابر بزرگتر، درخواست ارائه دهد و این کار را با تاخیرهای کمتر انجام میدهد.[۴] آزمایشهای مستقل همیشه نتوانستهاند چنین پیشرفتهای ۱۰ برابری را تأیید کنند و گاهی اوقات سرعتهای کوچکتری مانند ۲ برابر را نشان میدهند.[۵] یک معیار ۲۰۱۷ از سامسونگ، سرعت ۱۰ برابری را در ماشینهای پیشرفته مشاهده کرد - معیار سامسونگ گزارش داد که اسکایلا بر روی مجموعهای از ماشینهای ۲۴ هستهای براساس حجم کاری وارد شده توسط تست محک سرویس ابری یاهو YCSB، با اختلاف ۱۰ تا ۳۷ برابر بهتر از کاساندرا Cassandra عمل کرد.[۶]
اسکایلا به عنوان یک راه حل داخلی، در ارائه دهندگان اصلی ابر عمومی یا به عنوان یک DBaaS (ابر اسکایلا) در دسترس است.
تاریخچه
[ویرایش]اسکایلا در دسامبر ۲۰۱۴ توسط استارتاپ کلودیوس سیستمز Cloudius Systems، که قبلاً به دلیل ایجاد OSv معروف بود، راه اندازی شد (شرکت بعداً به ScyllaDB Inc تغییر نام یافت). اسکایلا به عنوان منبع باز در سپتامبر ۲۰۱۵،[۷] تحت مجوز AGPL منتشر شد. کارمندان ScyllaDB Inc همچنان کد نویسان اصلی اسکایلا هستند، اما توسعه آن برای عموم آزاد است و از مخازن عمومی GitHub و لیستهای پستی عمومی استفاده میکند.
منابع
[ویرایش]- ↑ Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware.
- ↑ ScyllaDB Secures $25 Million to Open Source Amazon DynamoDB-compatible API
- ↑ ScyllaDB: Cassandra compatibility at 1.8 million requests per node by Don Marti (then a ScyllaDB Inc. employee), presented at the Fourteenth Annual Southern California Linux Expo, January 24, 2016.
- ↑ YCSB cluster benchmark, on the ScyllaDB Inc. website, read February 19, 2017.
- ↑ ScyllaDB vs Cassandra: towards a new myth?, by Marc Alonso and Thomas Mouron on the octo.com website, December 15, 2015.
- ↑ Rezaei, Arash; Guz, Zvika; Balakrishnan, Vijay (February 2017), ScyllaDB and Samsung NVMe SSDs Accelerate NoSQL Database Performance (PDF), Samsung Semiconductor Inc., p. 12, retrieved 2019-02-07
- ↑ "Cassandra Rewritten In C++, Ten Times Faster", September 22, 2015, Slashdot