Принадлежащая Apple компания FoundationDB сегодня объявила об открытии исходного кода Record Layer, который, по ее словам, обеспечивает семантику реляционной базы данных поверх FoundationDB с управлением схемами, индексацией и «богатым набором возможностей запросов».
Apple использует Record Layer для поддержки приложений и сервисов для сотен миллионов пользователей, и в сочетании с FoundationDB он составляет основу сервиса Apple CloudKit.
Созданный на базе FoundationDB, Record Layer наследует сильную ACID-семантику, надежность и производительность FoundationDB в распределенной среде. Record Layer также использует транзакционную семантику FoundationDB для предоставления функций, аналогичных традиционной реляционной базе данных, но в распределенной среде. Например, вторичные индексы Record Layer поддерживаются транзакционно, поэтому они всегда актуальны с последними изменениями данных. Транзакции уменьшают количество ошибок в коде приложений и значительно упрощают разработку приложений.
FoundationDB также подготовила полную статью, описывающую, как Record Layer был создан для работы в огромном масштабе и как именно CloudKit его использует. Эта статья доступна в формате PDF здесь.
В двух словах, CloudKit использует Record Layer для размещения миллиардов независимых баз данных, а его набор функций позволяет CloudKit предоставлять богатые API и сильную семантику с улучшенной масштабируемостью и сниженными затратами на обслуживание.
FoundationDB также написала руководство для начинающих, призванное помочь пользователям создать приложение, использующее Record Layer, а также подробный обзор и форум, все это доступно через анонс открытия исходного кода.
Apple приобрела FoundationDB в 2015 году и открыла исходный код ядра FoundationDB в апреле 2018 года.