Jump to content

РоксДБ

РоксДБ
Оригинальный автор(ы) Дхруба Бортакур
Разработчик(и) Метаплатформы (было Facebook, Inc.)
Первоначальный выпуск май 2012 г .; 12 лет назад ( 2012-05 )
Стабильная версия
9.4.0 [1]  Отредактируйте это в Викиданных / 23 июня 2024 г.
Репозиторий
Написано в С++
Операционная система Windows , macOS , Linux , FreeBSD , OpenBSD , Solaris , AIX
Платформа Кросс-платформенный
Тип Встроенная база данных
Лицензия Апач 2.0 или GPL 2
Веб-сайт RockDB .org

RocksDB — это высокая производительность [2] [3] [4] [5] [6] встроенная база данных для данных «ключ-значение» . Это ответвление LevelDB от Google, оптимизированное для использования многоядерных процессоров (ЦП) и эффективного использования быстрых хранилищ, таких как твердотельные накопители (SSD), для вводом/выводом (I/O) рабочих нагрузок, связанных с . Он основан на структуре данных дерева слияния (LSM-дерева) с журнальной структурой. Он написан на C++ и предоставляет официальные языковые привязки для C++ , C и Java . Существует множество сторонних языковых привязок . RocksDB — это бесплатное программное обеспечение с открытым исходным кодом , первоначально выпущенное под лицензией BSD с тремя пунктами . [7] [8] [9] Однако в июле 2017 года проект был переведен на двойную лицензию Apache 2.0 и лицензию GPLv2 . [10] Это изменение помогло его принятию в проектах Apache Software Foundation после внесения в черный список предыдущей статьи лицензии BSD+Patents. [11] [12]

RocksDB используется в производственных системах на различных веб- предприятиях. [13] включая Facebook , Yahoo! , [14] и Линкедин . [15]

RocksDB, как и LevelDB , хранит ключи и значения в произвольных массивах байтов, а данные сортируются побайтово по ключу или с помощью специального компаратора.

RocksDB предоставляет все функции LevelDB, а также:

и другие. [26]

RocksDB не является базой данных SQL (хотя MyRocks сочетает в себе RocksDB с MySQL ). Как и другие хранилища NoSQL и dbm , он не имеет реляционной модели данных и не поддерживает запросы SQL. Кроме того, он не имеет прямой поддержки вторичных индексов, однако пользователь может создавать свои собственные внутренние индексы с использованием семейств столбцов или внешние. Приложения используют RocksDB в качестве библиотеки , поскольку она не предоставляет сервера или интерфейса командной строки .

RocksDB был создан на Facebook Дхрубой Бортакуром. [27] [28] в апреле 2012 года как ответвление LevelDB с первоначально заявленной целью повышения производительности серверных рабочих нагрузок. [29] [30]

Интеграция

[ редактировать ]

В качестве встраиваемой базы данных RocksDB может использоваться в качестве механизма хранения в более крупной системе управления базами данных (СУБД). Например, Rockset использует RocksDB. [31] в основном для аналитической обработки данных.

Альтернативный бэкэнд

[ редактировать ]

Следующие проекты были начаты для замены или предложения альтернативных механизмов хранения для уже существующих систем баз данных с RocksDB:

АрангоДБ

[ редактировать ]

ArangoDB добавила RocksDB к своему предыдущему механизму хранения («mmfiles»). [32] Начиная с ArangoDB 3.4, RocksDB будет механизмом хранения по умолчанию в ArangoDB. [33]

Кассандра

[ редактировать ]

Cassandra на RocksDB может значительно повысить производительность Apache Cassandra (в целом в 3–4 раза быстрее, в некоторых случаях — в 100 раз быстрее). [ нужна ссылка ] Команда Instagram в Facebook разработала и открыла исходный код своего кода, а также результаты тестов производительности. [34]

MariaDB может использовать механизм хранения MyRocks (который является ответвлением RocksDB), начиная с версии MariaDB 10.2.5 (альфа-статус). [35] и стабильна с версии MariaDB 10.2.16 в 2018 году. [36]

Проект MongoRocks предоставляет модуль хранения для MongoDB, в котором механизмом хранения является RocksDB. [37] [38] [39]

Связанная программа — Rocks Strata, инструмент, написанный на Go , который позволяет управлять инкрементными резервными копиями MongoDB, когда RocksDB используется в качестве механизма хранения. [40]

Проект MyRocks создал новый механизм хранения данных для MySQL на базе RocksDB . [41] [42] Подробная информация о MyRocks была представлена ​​на Percona Live 2016. [43]

Оксиграф

[ редактировать ]

Оксиграф [44] это графовая база данных , реализующая стандарт SPARQL , основанная на RocksDB.

УКВ [45] Проект позволяет пользователям использовать RocksDB наравне с LevelDB в качестве базового хранилища «ключ-значение» . Он представляет собой общую абстракцию для операций создания, чтения, обновления и удаления (CRUD), общих для каждого механизма хранения. Он дополняет его структурированными привязками для нескольких языков высокого уровня, включая Python , Java и Go .

Встроенный

[ редактировать ]

Следующие системы баз данных и приложения выбрали RocksDB в качестве встроенного механизма хранения:

использует Уровень хранения BlueStore Ceph RocksDB для управления метаданными в устройствах OSD. [46]

[ редактировать ]

Apache Flink использует RocksDB для хранения контрольных точек. [47]

FusionDB [48] использует RocksDB в качестве механизма хранения XML, ключей/значений и JSON. [49]

LogDevice LogsDB

[ редактировать ]

LogDevice's LogsDB построен на основе RocksDB. [50]

Кафка Стримы

[ редактировать ]

Kafka Streams использует RocksDB для своих хранилищ состояний. [51]

Манхэттен

[ редактировать ]

Манхэттенское распределенное хранилище ключей и значений использует RocksDB в качестве основного механизма для хранения данных Twitter с 2018 года. [52]

Роксет [53] Сервис, используемый для оперативного анализа данных, использует RocksDB в качестве механизма хранения. [54]

ssdb-качается [55] проект использует RocksDB в качестве механизма хранения данных SSDB. [56] База данных NoSQL.

ТиБД [57] проект использует RocksDB в качестве механизма хранения. [58]

ЮгабайтДБ

[ редактировать ]

ЮгабайтДБ [59] база данных использует модифицированную версию RocksDB как часть своего механизма хранения DocDB.

Сторонние языковые привязки

[ редактировать ]

Привязки сторонних языков программирования, доступные для RocksDB, включают:

  1. ^ «Выпуск RocksDB 9.4.0 · facebook/rocksdb · GitHub» . 23 июня 2024 г. Проверено 23 июня 2024 г.
  2. ^ «Эталоны производительности» . Гитхаб . Проверено 29 ноября 2015 г.
  3. ^ «Сравнительный анализ семейства leveldb» . 7 июля 2014 года . Проверено 10 марта 2016 г.
  4. ^ «Сравнивая LevelDB и RocksDB, дубль 2» . 27 апреля 2015 года . Проверено 10 марта 2016 г.
  5. ^ «Сравнение производительности LevelDB, RocksDB, HyperLevelDB и LMDB для InfluxDB» . 20 июня 2014 года . Проверено 10 марта 2016 г.
  6. ^ Голан-Гета, Гай; Бортников, Эдвард; Гилель, Эшар; Кейдар, Идит (21 апреля 2015 г.). «Масштабирование параллельных хранилищ данных с журнальной структурой». Материалы Десятой Европейской конференции по компьютерным системам . стр. 1–14. дои : 10.1145/2741948.2741973 . ISBN  9781450332385 . S2CID   5849146 .
  7. ^ «Последняя разработка Facebook с открытым исходным кодом: база данных на флэш-памяти под названием RocksDB» . 21 ноября 2013 г. Архивировано из оригинала 24 февраля 2020 г. . Проверено 10 марта 2016 г.
  8. ^ «Под капотом: создание и открытие RocksDB» . Фейсбук . Проверено 10 марта 2016 г.
  9. ^ «RocksDB — база данных Facebook теперь с открытым исходным кодом» . Проверено 10 марта 2016 г.
  10. ^ «Запрос на извлечение GitHub» . Гитхаб . Проверено 20 июля 2017 г.
  11. ^ «Apache говорит «нет» библиотекам кода Facebook» . Регистр . Проверено 20 июля 2017 г.
  12. ^ «Проблема с GitHub» . Гитхаб . Проверено 20 июля 2017 г.
  13. ^ «Пользователи.md» . Гитхаб . Проверено 1 декабря 2015 г.
  14. ^ «RocksDB на стероидах» . Проверено 10 марта 2016 г.
  15. ^ «Сравнительный анализ Apache Samza: 1,2 миллиона сообщений в секунду на одном узле» . Проверено 10 марта 2016 г.
  16. ^ «Транзакции RocksDB» . Гитхаб . Проверено 4 апреля 2016 г.
  17. ^ «Как сделать резервную копию RocksDB?» . Гитхаб . Проверено 19 июля 2017 г.
  18. ^ «КПП» . Гитхаб . Проверено 19 июля 2017 г.
  19. ^ «Семейства столбцов в RocksDB» . Гитхаб . Проверено 4 апреля 2016 г.
  20. ^ «Фильтры Блума RocksDB» . Гитхаб . Проверено 4 апреля 2016 г.
  21. ^ «Поддержка RocksDB TTL» . Гитхаб . Проверено 4 апреля 2016 г.
  22. ^ «Универсальное уплотнение» . Гитхаб . Проверено 4 апреля 2016 г.
  23. ^ «Оператор слияния RocksDB» . Гитхаб . Проверено 4 апреля 2016 г.
  24. ^ «Контекст производительности RocksDB и контекст статистики ввода-вывода» . Гитхаб . Проверено 4 апреля 2016 г.
  25. ^ «Пространственное индексирование в RocksDB» . rockdb.org . Проверено 19 июля 2018 г.
  26. ^ «Функции, которых нет в LevelDB» . Гитхаб .
  27. ^ «Первый коммит, в котором RocksDB отличается от LevelDB» . Гитхаб . 10 мая 2012 года . Проверено 15 марта 2016 г.
  28. ^ «Файл Readme RocksDB» . Гитхаб . 30 ноября 2012 г. Проверено 15 марта 2016 г.
  29. ^ «История RocksDB» . 24 ноября 2013 года . Проверено 10 марта 2016 г.
  30. ^ Бортакур, Дхруба (22 ноября 2013 г.). «RocksDB: высокопроизводительное встроенное хранилище значений ключей для флэш-хранилищ — Data@Scale» . Ютуб . Проверено 10 марта 2016 г. ... История о том, почему мы решили сделать RocksDB...
  31. ^ Дхут, Сандип (27 июня 2019 г.). «Как мы используем RocksDB в Rockset» . Rocket.com . Проверено 01 марта 2023 г.
  32. ^ «Сравнение новых механизмов хранения RocksDB и MMFiles» . АрангоДБ .
  33. ^ «RC1 ArangoDB 3.4 — Что нового?» . 6 сентября 2018 г.
  34. ^ «Открытие исходного кода для десятикратного сокращения задержки хвоста Apache Cassandra» . 5 марта 2018 г.
  35. ^ «МойРокс» . База знаний MariaDB . Проверено 28 апреля 2019 г.
  36. ^ «Примечания к выпуску MariaDB 10.2.16» . База знаний MariaDB .
  37. ^ "mongodb-partners/mongo-rocks" . Гитхаб . 29 октября 2021 г.
  38. ^ «Интеграция RocksDB с MongoDB» . Проверено 19 июля 2018 г.
  39. ^ «MongoDB + RocksDB при разборе» . Проверено 1 декабря 2015 г.
  40. ^ «facebookgo/rocks-strata» . Гитхаб . 31 октября 2021 г.
  41. ^ «Фейсбук/mysql-5.6» . Гитхаб . 2 ноября 2021 г.
  42. ^ «MyRocks: MySQL на RocksDB» (PDF) . Проверено 29 ноября 2015 г.
  43. ^ «Глубокое погружение в MyRocks» . 19 апреля 2016 года . Проверено 9 мая 2016 г.
  44. ^ Пеллиссье Танон, Томас (12 июля 2024 г.). «Оксиграф» – через GitHub.
  45. ^ Jump up to: а б с д и "unum-cloud/ukv" . Гитхаб . 28 декабря 2022 г.
  46. ^ «Устройства хранения данных — Документация Ceph» . Архивировано из оригинала 24 февраля 2020 г. Проверено 8 ноября 2017 г.
  47. ^ «Документация Apache Flink 1.8: серверные части состояния» . ci.apache.org . Проверено 11 августа 2019 г.
  48. ^ «ФьюжнДБ» . Развитый двоичный файл.
  49. ^ «Проектирование и реализация FusionDB» (PDF) . XML Прага.
  50. ^ «LogDevice: распределенное хранилище данных для журналов» . Марк Марчуков, Facebook. 31 августа 2017 г.
  51. ^ «Настройка приложения потоков» . kafka.apache.org . Проверено 11 марта 2024 г.
  52. ^ «Внедрение RocksDB на Манхэттене» . Твиттер . 28 декабря 2022 г.
  53. ^ «Rockset: База данных поиска и аналитики» . Rocket.com .
  54. ^ «Как мы используем RocksDB в Rockset» . Rocket.com . Проверено 10 июля 2019 г.
  55. ^ "ideawu/ssdb-rocks" . Гитхаб . 21 августа 2021 г.
  56. ^ "Дом" . ИД-2Сбо .
  57. ^ "пингкап/тидб" . Гитхаб . 4 ноября 2021 г.
  58. ^ «TiDB Internal (I) — Хранение данных» . Шен Ли. 11 июля 2017 г.
  59. ^ «Как мы создали высокопроизводительное хранилище документов на RocksDB?» . 20 февраля 2019 г.
  60. ^ «Уорренфальк/rocksdb-sharp» . Гитхаб . 28 сентября 2021 г.
  61. ^ «Привязки RocksDB для схемы CHICKEN 5» . wiki.call-cc.org . Проверено 13 июля 2024 г.
  62. ^ "b1naryth1ef/rocksdb" . Гитхаб . 22 октября 2019 г.
  63. ^ "урбинт/рокс" . Гитхаб . Сентябрь 2021 г.
  64. ^ «лео-проект/erocksdb» . Гитхаб . Сентябрь 2021 г.
  65. ^ "barrel-db / erlang-rocksdb · GitLab" . ГитЛаб .
  66. ^ "tecbot/gorocksdb" . Гитхаб . 29 октября 2021 г.
  67. ^ "rocksdb-хаскелл" . Хакадж .
  68. ^ «РоксЯва» . Гитхаб .
  69. ^ "роксдб" . 25 марта 2022 г.
  70. ^ "роксдб" . Гитхаб .
  71. ^ «Иабудиаб/ObjectiveRocks» . Гитхаб . 2 августа 2021 г.
  72. ^ «Привязки OCaml для RocksDB» . Гитхаб . 8 октября 2021 г.
  73. ^ «Привязка OCaml RocksDb с использованием ocaml-ctypes» . Гитхаб . 28 сентября 2020 г.
  74. ^ «РоксДБ» . МетаCPAN .
  75. ^ «Фотониос/rocksdb-php» . Гитхаб . 11 августа 2021 г.
  76. ^ « Пакет «rocksdb» для SWI-Prolog» . www.swi-prolog.org .
  77. ^ "штефан-хоф/pyrocksdb" . Гитхаб . 27 октября 2021 г.
  78. ^ «rocksdb-ruby | RubyGems.org | хост драгоценных камней вашего сообщества» . Rubygems.org .
  79. ^ "rust-rocksdb/rust-rocksdb" . Гитхаб . 11 июля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7a64326073246b4974371a8229b991d6__1720844160
URL1:https://arc.ask3.ru/arc/aa/7a/d6/7a64326073246b4974371a8229b991d6.html
Заголовок, (Title) документа по адресу, URL1:
RocksDB - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)