Apple відкрила код розподіленої СУБД FoundationDB

2 хв. читання

Apple перевела в розряд вільних проектів СУБД FoundationDB, що відноситься до класу NoSQL-систем, які маніпулюють даними в форматі ключ/значення. FoundationDB є однією з найбільш добре протестованих і надійних СУБД, що підтверджується активним застосуванням системи в інфраструктурі Apple і деяких інших великих компаній.

FoundationDB дозволяє створювати сховища для обробки дуже великих наборів структурованих даних, розподілених на вузлах кластера з типових серверів. Для забезпечення відмовостійкості застосовується реплікація даних на кілька вузлів. Код СУБД написаний на С++.

Особливості FoundationDB

Особливістю FoundationDB є можливість створення великих розподілених сховищ, котрі дозволяють використовувати повноцінні транзакції, які відповідають вимогам ACID (атомарність, узгодженість, ізольованість, надійність) для всіх операцій з даними.

Розподілене сховище засноване на архітектурі «shared-nothing», в якій кожен вузол є незалежною і самодостатньою ланкою, а вся система позбавлена єдиної точки відмови. Сховище добре підходить дня навантажень з великим числом операцій читання/запис, але також забезпечує гарну продуктивність і в умовах, в яких переважають операції записи. Взаємодія з СУБД проводиться за допомогою API та біндингів для різних мов програмування (C / C ++, Python, Perl, Ruby, Java, Go, Node.js, PHP).

Основні можливості:

  • Мультимодальне сховище, що дозволяє зберігати будь-які типи даних в одній БД. Всі дані надійно зберігаються, розподіляються й копіюються у низькорівневому поданні ключ/значення. Підтримується впорядковане збереження ключів, що дозволяє застосовувати ефективні вибірки за діапазонами значень;
  • Підтримується два рушії зберігання: ssd – зберігання даних на диску з використанням структури B-tree (сховище оптимізовано для SSD-накопичувачів), і memory – для зберігання даних в пам'яті зі скиданням логу транзакцій на диск;
  • Стійкість до збоїв і простота горизонтального масштабування. СУБД FoundationDB проста в установці, розширенні сховища та управлінні. СУБД має розподілену архітектуру, що дозволяє легко масштабуватися і на льоту обробляти збої, працюючи при цьому як єдина цілісна транзакційна БД, що відповідає вимогам ACID;
  • В рамках транзакції може бути прочитано і записано довільне число ключів, що зберігаються на будь-яких вузлах кластера, але час життя транзакції не може перевищувати 5 секунд, а її розмір не повинен перевищувати 10 Мб. Розмір ключа не повинен перевищувати 10 Кб, а розмір даних 100 Кб.
  • Забезпечення високого рівня продуктивності на звичайному обладнанні. СУБД FoundationDB здатна справлятися з великими навантаженнями, потребуючи мінімальних витрат на обладнання;
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.5K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація