Компания Apple перевела (https://www.foundationdb.org/blog/foundationdb-is-open-source/) в разряд свободных проектов СУБД FoundationDB (https://www.foundationdb.org/), относящуюся к классу NoSQL-систем, манипулирующих данными в формате ключ/значение. Особенностью FoundationDB является возможность создания больших распределённых хранилищ, в которых возможно использование полноценных транзакций, удовлетворяющих требованиям ACID (атомарность, согласованность, изолированность, надежность) для всех операций с данными. Код СУБД написан на языке С++ и поставляется (https://github.com/apple/foundationdb/) под лицензией Apache 2.0.Разработчики
заявляют (https://www.youtube.com/watch?v=4fFDFbi3toc), что FoundationDB является одной из самых хорошо протестированных и надёжных СУБД, что подтверждается активным применением данной системы в инфраструктуре Apple и некоторых других крупных компаний. FoundationDB позволяет создавать хранилища для обработки очень больших наборов структурированных данных, распределённых на узлах кластера из типовых серверов. Для обеспечения отказоустойчивости применяется репликация данных на несколько узлов.
Распределённое хранилище основано на архитектуре "shared-nothing (https://en.wikipedia.org/wiki/Shared-nothing_architecture)&q... в которой каждый узел является независимым и самодостаточным звеном, а вся система лишена единой точки отказа. Хранилище хорошо подходит к нагрузкам с большим числом операций чтение/запись, но также обеспечивает отличную производительность и в условиях, в которых преобладают операции записи. Взаимодействие с СУБД производится при помощи API и биндингов для различных языков программирования (C/C++, Python, Ruby, Java, Go).
Важной особенностью FoundationDB также является предоставление очень эффективного низкоуровневого интерфейса, позволяющего любым другим системам, использовать FoundationDB для распределённого хранения информации в согласованном состоянии. Например, на базе FoundationDB могут быть подготовлены фронтэнды для более крупных универсальных СУБД, для хранения различных моделей данных, для применения различных языков формирования запросов (например, SQL и документо-ориентированные системы), для хранения метаданных в распределённых ФС, для организаци распределённых очередей задач и т.п.
Основные возможности:
- Мультимодельное хранилище, позволяющее сохранять любые типы данных в одной БД. Все данные надёжно сохраняются, распределяются и реплицируются в низкоуровневом представлении ключ/значение;
- Устойчивость к сбоям и простота масштабирования.
СУБД FoundationDB проста в установке, расширении хранилища и управлении. СУБД имеет распределённую архитектуру, позволяющую легко масштабироваться и на лету обрабатывать сбои, работая при этом как единая цельная транзакционная БД, соответствующая требованиям ACID;
- Обеспечение очень высокой производительности на типовом оборудовании. СУБД FoundationDB способна справляться с очень жесткими нагрузками, требуя при этом минимальных затрат на оборудование;
- Готовность к промышленному применению. FoundationDB уже многие годы применяется в крупных промышленных инфраструктурах. Для тестирования внедрена специальная система, основанная на движке детерминистической симуляции.
URL: https://news.ycombinator.com/item?id=16877395
Новость: https://www.opennet.ru/opennews/art.shtml?num=48468