Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Riak (произносится «РЗЭ-извед» [2] ) представляет собой распределенную NoSQL ключ-значение хранилища данных , который предлагает высокую доступность, отказоустойчивость, простоту эксплуатации и масштабируемость. [3] Помимо версии с открытым исходным кодом , она поставляется в поддерживаемой корпоративной версии и версии для облачного хранилища . [3] Риак реализует принципы из статьи Amazon Dynamo [4] с сильным влиянием теоремы CAP . Написанный на Erlang , Riak обеспечивает отказоустойчивую репликацию данных и автоматическое распределение данных по кластеру для повышения производительности и устойчивости. [5]

Riak лицензируется по модели freemium : доступны версии Riak и Riak CS с открытым исходным кодом, но конечные пользователи могут платить за дополнительные функции и поддержку. [5]

У Riak есть подключаемый бэкэнд для своего основного хранилища, причем бэкэнд хранилища по умолчанию является Bitcask . [6] LevelDB также поддерживается.

Основные особенности [ править ]

Отказоустойчивая доступность
Riak реплицирует хранилища ключей / значений в кластере узлов со значением n_val по умолчанию, равным трем. В случае выхода из строя узла из-за сетевого раздела или аппаратных сбоев, данные все еще могут быть записаны на соседний узел сверх начальных трех и считаны обратно благодаря его одноранговой архитектуре «без ведущего».
Запросы
Riak предоставляет REST-полнофункциональный API через HTTP и протоколы буферов для основных функций PUT, GET, POST и DELETE. Также возможны более сложные запросы, включая вторичные индексы, поиск (через Apache Solr ) и MapReduce . MapReduce имеет встроенную поддержку как JavaScript (с использованием среды выполнения SpiderMonkey ), так и Erlang.
Предсказуемая задержка
Riak распределяет данные по узлам с помощью хеширования и может предоставить профиль задержки даже в случае сбоя нескольких узлов.
Варианты хранения
Ключи / значения могут храниться в памяти, на диске или и там, и там.
Репликация в нескольких центрах обработки данных
При репликации с несколькими центрами обработки данных один кластер действует как «первичный кластер». Первичный кластер обрабатывает запросы репликации от одного или нескольких «вторичных кластеров» (обычно расположенных в других регионах или странах). Если центр обработки данных с основным кластером выходит из строя, второй кластер может взять на себя роль основного кластера.
Есть два основных режима работы: полная синхронизация и в реальном времени. В режиме полной синхронизации между первичным и вторичным кластерами происходит полная синхронизация, по умолчанию каждые шесть часов. В режиме реального времени репликация во вторичные центры обработки данных запускается обновлениями в первичных центрах обработки данных. Вся репликация с несколькими центрами обработки данных происходит через несколько одновременных TCP- соединений для максимального повышения производительности и использования сети.
Настраиваемая согласованность
Возможность выбора между возможной и сильной согласованностью для каждого ведра.

Лицензирование и поддержка [ править ]

Riak доступен бесплатно по лицензии Apache 2 . Кроме того, Basho Technologies предложила два варианта своего коммерческого программного обеспечения: Riak Enterprise и Riak Enterprise Plus. Riak Enterprise Plus добавляет базовые и ежегодные проверки работоспособности системы для обеспечения долгосрочной стабильности и производительности платформы.

Языковая поддержка [ править ]

У Riak есть официальные драйверы для Ruby , Java , Erlang и Python . Существует также множество поддерживаемых сообществом драйверов для других языков программирования. [7]

История [ править ]

Изначально Riak был написан Энди Гроссом и другими из Basho Technologies [2] для поддержки приложения автоматизации продаж через Интернет бывшими инженерами и руководителями Akamai . Интерес к технологии хранилищ данных был больше, чем к приложениям, основанным на ней, поэтому компания решила построить бизнес вокруг самого Riak, получив признание во всем списке Fortune 100 и став основой для многих из самых быстрорастущих в мире мобильных и веб-приложений. приложениями для социальных сетей, а также поставщиками облачных услуг. Выпуски после окончания включают

  • 1.1, выпущенный 21 февраля 2012 года, добавил Riaknostic, улучшенную регистрацию ошибок и создание отчетов, улучшенную отказоустойчивость для больших кластеров, а также новый графический интерфейс операций и мониторинга под названием Riak Control.
  • 1.4, выпущенный 10 июля 2013 г., добавлены счетчики, улучшена вторичная индексация, уменьшены накладные расходы на хранилище объектов, отчеты о ходе передачи и усовершенствованы репликации MDC.
  • 2.0, выпущенный 2 сентября 2014 г., добавил новые типы данных, включая наборы, карты, регистры и флаги, упрощающие разработку приложений. Сильная согласованность по корзине, полнотекстовая интеграция с Apache Solr, Security и уменьшенное количество реплик для вторичных сайтов.
  • 2.1, выпущенная 16 апреля 2015 г., добавлена ​​оптимизация для многих рабочих нагрузок с большим объемом записи - сегменты «однократная запись» - сегменты, записи которых предназначены для однократной записи и никогда не обновляются или перезаписываются.
  • 2.2, выпущенная 17 ноября 2016 г., добавлена ​​поддержка Debian 8 и Ubuntu 16.04, улучшения интеграции с Solr . [8]
  • Басё больше не может поддерживать Риака [9]
  • 2.2.5, выпущенная 26 апреля 2018 г., является первым выпуском сообщества. Добавлена ​​поддержка репликации Multi-Datacentre Replication, которая ранее не была частью Riak с открытым исходным кодом, добавлен тип данных только для роста, улучшено распределение данных по узлам и устранены проблемы производственного тестирования. [10]
  • ...
  • 2.9.0p3, выпущенный 9 августа 2019 г., является последним выпуском. [11]

Пользователи [ править ]

Известные пользователи включают AT&T , Comcast , [12] GitHub , [12] Best Buy , [12] Национальную службу здравоохранения Великобритании (NHS) , [13] The Weather Channel , [14] и Riot Games . [15]

См. Также [ править ]

  • Basho Technologies
  • Apache Accumulo
  • База данных Oracle NoSQL
  • NoSQL
  • Структурированное хранилище
  • Memcached
  • Redis

Ссылки [ править ]

  1. ^ Примечания к выпуску Riak 3.0 , 19 августа 2020 г.
  2. ^ а б Шихи, Джастин. "Выпускная вечеринка Riak 1.0" . Vimeo .
  3. ^ a b Харви, Синтия (23 мая 2014 г.). «60 приложений с открытым исходным кодом, которые можно использовать в облаке» . Датамация . Дата обращения 5 июня 2014 .
  4. ^ DeCandia, Джузеппе; Хасторун, Дениз; Джампани, Мадан; Какулапати, Гунавардхан; Лакшман, Авинаш; Пильчин, Алексей; Сивасубраманиан, Сваминатан; Фосхолл, Питер; Фогельс, Вернер (14–17 октября 2007 г.). Dynamo: высокодоступное хранилище ключей и значений Amazon (PDF) . Материалы 21-го симпозиума ACM SIGOPS по принципам операционных систем (SOSP '07) . Стивенсон, Вашингтон, США: ACM. С. 205–220. DOI : 10.1145 / 1294261.1294281 . ISBN  978-1-59593-591-5. Дата обращения 5 июня 2014 .
  5. ^ a b Морган, Тимоти Прикетт (7 мая 2014 г.). «Eucalyptus масштабирует облачный клон AWS» . Enterprise Tech . Дата обращения 5 июня 2014 .
  6. ^ "Basho: Bitcask" . Дата обращения 5 июня 2014 .
  7. ^ «Клиентские библиотеки Riak и код сообщества» . Дата обращения 5 июня 2014 .
  8. ^ «Примечания к выпуску Riak KV 2.2.0» . Басё. 2016-11-17 . Проверено 21 декабря 2016 .
  9. ^ "Расследование Регистратора" . Регистр .
  10. ^ "Примечания к выпуску Riak KV 2.2.5" . Проверено 23 июня 2018 .
  11. ^ "Примечания к выпуску Riak KV 2.9.0p3" . Дата обращения 9 августа 2019 .
  12. ^ a b c «Basho Technologies нацелена на большее количество предприятий с модернизацией» . 21 февраля 2013 . Проверено 26 марта 2015 года .
  13. ^ Кларк, Джек (10 октября 2013 г.). «NHS рвет свой Oracle Spine в пользу открытого кода» . Реестр . Дата обращения 5 июня 2014 .
  14. ^ Henschen Даг (2 июня 2014). «Почему инструменты больших данных никуда не денутся: видео InformationWeek» . Информационная неделя . Дата обращения 5 июня 2014 .
  15. ^ Ptaszek, Михал (16 января 2016). «Архитектура чата: постоянство» . RiotGames . Дата обращения 2 февраля 2016 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Независимое от производителя сравнение баз данных NoSQL: Cassandra, HBase, MongoDB, Riak (NetworkWorld)
  • Joyent - Riak SmartMachine Benchmark: технические подробности