Первоначальный автор (ы) | LinkedIn / Microsoft |
---|---|
Первоначальный выпуск | 2009 г.; 11 лет назад (2009 г.) |
Стабильный выпуск | 1.10.25 / 25 июля 2017 г.; 3 года назад (25.07.2017) |
Репозиторий | |
Написано на | Java |
Доступно на | Английский |
Тип | Распределенное хранилище данных |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www.project-voldemort.com |
Voldemort - это распределенное хранилище данных, которое было разработано как хранилище "ключ-значение", используемое LinkedIn для высокомасштабируемого хранилища. Он назван в честь вымышленного Гарри Поттера злодея лорда Волан-де-Морта.
Волан-де-Морт не пытается удовлетворить произвольные отношения и свойства ACID, а представляет собой большую распределенную постоянную хеш-таблицу. В исследовании 2012 года, в котором сравнивались системы хранения данных управления производительностью приложений, сообщалось, что Voldemort, Apache Cassandra и HBase в большинстве случаев предлагали линейную масштабируемость, причем Voldemort имел самая низкая задержка и самая высокая пропускная способность у Cassandra.
В терминах теоремы Эрика Брюера CAP Волан-де-Морт - это система типа AP.
LinkedIn, создатель и основной корпоративный участник Волан-де-Морта, перенесла все свои системы из Волдеморта примерно в августе 2018 г. без замены спонсора на момент написания (октябрь 2018 г.).
Волан-де-Морт использует кэширование в памяти, чтобы исключить отдельный уровень кэширования. Он имеет слой хранения, который можно имитировать. Волан-де-Морт считывает и записывает масштаб по горизонтали. API решает репликацию и размещение данных и поддерживает широкий спектр стратегий для конкретных приложений.
Распределенное хранилище данных Voldemort поддерживает подключаемые стратегии размещения для распределения по центрам обработки данных. Данные автоматически реплицируются между серверами. Данные разделены, то есть один сервер содержит только часть всех данных. Каждый узел данных независим, чтобы избежать центральной точки отказа. Подключаемая сериализация позволяет использовать расширенные ключи и значения, включая списки и кортежи с именованными полями, а также интеграцию с общими средами сериализации, такими как Avro, Java Serialization, Protocol Buffers и Бережливость. Сбои сервера обрабатываются прозрачно. Элементы данных версируются, что обеспечивает максимальную целостность данных.