Loading AI tools
De Wikipedia, la enciclopedia libre
RocksDB es una base de datos incrustada de alto rendimiento[1][2][3][4][5] para datos de clave-valor. Es un fork de LevelDB, optimizado para explotar múltiples núcleos de CPU, y hacer uso eficiente de dispositivos de almacenamiento rápido como Unidad de estado sólido en cargas de trabajo de Entrada/Salida (E/S) limitada. Está basado en la estructura de datos de árbol LSM (Log-structured merge-tree). Está escrito en C++ y provee una API de lenguaje oficial para C++, C y Java, junto a varios enlaces de lenguajes de terceros. RocksDB es de código abierto, publicado bajo la Licencia BSD de 3 cláusulas.[6][7][8]
RocksDB | ||
---|---|---|
Información general | ||
Tipo de programa | base de datos embebida | |
Desarrollador | Meta Platforms | |
Modelo de desarrollo | Código abierto | |
Licencia | Licencia BSD de 3 cláusulas | |
Información técnica | ||
Programado en | C++ | |
Plataformas admitidas | ||
Versiones | ||
Última versión estable | 9.6.124 de agosto de 2024 | |
Enlaces | ||
RocksDB es usando en sistemas de producción en varios sitios web de escala empresarial,[9] incluyendo Facebook, Yahoo!,[10] y LinkedIn.[11]
Al igual que LevelDB, RocksDB almacena claves y valores en arrays de bytes arbitrarios, y los datos son ordenados mediante byte por clave, o proveyendo un comparador personalizado.
RocksDB provee todas las características de LevelDB, además de:
RocksDB no es una base de datos SQL (a pesar de que MyRocks combina RocksDB con MySQL). Como otros sistemas de almacenamiento como NoSQL y dbm, RocksDB no posee un modelo relacional, y no soporta consultas SQL. Además, no posee soporte directo para índices secundarios,sin embargo, un usuario puede crear la suya propia internamente usando Familias de columnas o externamente. Las aplicaciones usan RocksDB como una biblioteca, ya que no provee una interfaz de servidor o línea de comandos.
RocksDB fue creado en Facebook por Dhruba Borthakur[20][21] en abril de 2012, como un fork de LevelDB, con el objetivo principal de mejorar el rendimiento en las cargas del servidor.[22][23]
Como una base de datos incrustada, RocksDB puede ser usado como un mecanismo de almacenamiento junto con gestores de bases de datos mayores. Por ejemplo, CockroachDB usa RocksDB como su mecanismo de almacenamiento.[24]
Los siguientes proyectos se han iniciado para ofrecer o reemplazar un mecanismo de almacenamiento alternativo para los sistemas de base de datos ya establecidos con RocksDB:
El proyecto MongoRocks provee un módulo de almacenamiento para MongoDB, en el cual el mecanismo de almacenamiento es RocksDB.[25][26][27]
Un programa relacionado es Rocks Strata, una herramienta escrita en Go, el cual permite manejar respaldos incrementales de MongoDB donde RocksDB es usado como mecanismo de almacenamiento.[28]
El proyecto MyRocks crea un nuevo mecanismo de almacenamiento para MySQL basado en RocksDB.[29][30] En el Percona Live 2016 se presentaron detalles en profundidad de MyRocks.[31]
Una base de datos distribuida NewSQL orientada a ser una alternativa compatible con MySQL, posee un número de backends conectables, entre ellos RocksDB.[33]
Los siguientes sistemas de bases de datos eligieron usar RocksDB como su mecanismo de almacenamiento incrustado:
El proyectp Dgraph[34] usa RocksDB como el motor de su base de datos.[35] NoSQLGraph Database.
El proyectp ssdb-rocks[36] usa RocksDB como mecanismo de almacenamiento NoSQL de SSDB.[37] NoSQL Database.
Los enlaces de lenguaje de terceros disponibles para RocksDB incluyen:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.