Что такое подложка для хранения?
При чтении статей о базах данных NoSQL, например FoundationDB
Я очень часто сталкиваюсь с понятием "storage substrate"
, Я пытался найти какое-то формальное или точное определение того, что является storage substrate
в контексте баз данных, но ничего не нашел, просто упоминает не определение.
Может кто-нибудь уточнить для меня, что такое storage substrate
? Это синоним базы данных или какой-то ее части? Небольшое определение или ссылка будут полезны. Спасибо
1 ответ
FoundationDB использует этот термин для обозначения "дна" технологического стека базы данных. Он используется, когда вы хотите подумать о том, как осуществляется доступ к данным отдельно от того, как они хранятся. Например, в FoundationDB ядро Key-Value является основой для хранения. Различные API или слои могут быть добавлены поверх этой подложки и предоставляют различные способы доступа к вашим данным.
Вот пример. Приложение использует язык запросов SQL для доступа к SQL-уровню FoundationDB, который затем преобразует эти запросы в API Key-Value. Эти команды Key-Value отправляются в субстрат хранения, называемый FoundationDB Cluster:
Когда мы начинаем думать о том, что субстраты хранения отличаются от того, как мы получаем доступ к нашим данным, это открывает интересную возможность. Что если бы у вас была одна подложка для хранения, но доступ к ней осуществлялся с помощью различных API, в зависимости от того, какой из них был наиболее подходящим для вашего приложения? Я думаю, что это может быть очень мощным с точки зрения эксплуатации, так как нам больше не нужно разбираться, как устанавливать, масштабировать и поддерживать несколько баз данных.
Полное раскрытие: я инженер в FoundationDB