Tarantool es una plataforma informática en memoria con un esquema de datos flexible, que se utiliza mejor para crear aplicaciones de alto rendimiento. Dos partes principales son una base de datos en memoria y un servidor de aplicaciones Lua .
Autor (es) original (es) | Grupo Mail.Ru |
---|---|
Versión inicial | 2008 |
Lanzamiento estable | 2.7.2 / 21 de abril de 2021 |
Repositorio | |
Escrito en | C |
Sistema operativo | Linux , FreeBSD , macOS |
Disponible en | inglés |
Tipo | NoSQL |
Licencia | BSD simplificado |
Sitio web | www |
Tarantool mantiene los datos en la memoria y garantiza la resistencia a los choques con el registro de escritura anticipada y las instantáneas . Incluye un intérprete Lua y una consola interactiva, pero también acepta conexiones de programas en varios otros idiomas.
Historia
Mail.Ru, una de las empresas de Internet más grandes de Rusia, inició el proyecto en 2008 como parte del desarrollo de la red social Moy Mir (My World). En 2010, para un jefe de proyecto, contrató a un ex líder técnico de MySQL . Los colaboradores de código abierto han estado activos especialmente en el área de conectores de lenguaje externo para C , Perl , PHP , Python , Ruby y node.js
Tarantool se convirtió en parte de la columna vertebral de Mail.Ru, que se utiliza para contenido dinámico como sesiones de usuario, mensajes instantáneos no enviados, colas de tareas y una capa de almacenamiento en caché para bases de datos relacionales tradicionales como MySQL o PostgreSQL. [1] [2]
En 2014, Tarantool también había sido adoptado por los servicios de redes sociales Badoo y Odnoklassniki (este último está afiliado a Mail.Ru desde 2010). [3] [4]
Propiedades
Todos los datos se mantienen en la memoria (RAM), con la persistencia de los datos garantizada por el registro de escritura anticipada y la creación de instantáneas , y por esas razones, algunos observadores de la industria han comparado Tarantool con Membase . [5]
La replicación es asincrónica y la conmutación por error (hacer que un servidor de Tarantool sustituya a otro) es posible desde un servidor de réplica o desde un servidor de "espera activa".
No hay candados. Tarantool utiliza corrutinas de estilo Lua y E / S asincrónicas . El resultado es que los programas de aplicación o procedimientos almacenados deben escribirse teniendo en cuenta la multitarea cooperativa , en lugar de la multitarea preventiva más popular.
Para el almacenamiento de la base de datos, la unidad básica es una tupla . Las tuplas en conjuntos de tuplas manejan el mismo rol que las filas en tablas para bases de datos relacionales. Las tuplas tienen un número arbitrario de campos y los campos no necesitan nombres. Cada tupla en una base de datos tiene una clave principal (única, no nula) y una o más claves secundarias, que están habilitadas para la búsqueda inmediata a través de índices. Los tipos de índices admitidos son árbol B , hash, mapa de bits y árbol R (espacial).
Los campos de una tupla son independientes del tipo o pueden tener tipos de datos numéricos o de cadena específicos. Los usuarios pueden insertar, actualizar, eliminar o seleccionar si se les han otorgado los privilegios adecuados. [6]
En 2017, Tarantool introdujo un motor de almacenamiento en disco opcional que permite bases de datos más grandes que el tamaño de la memoria. [7]
En 2019, Tarantool introdujo una interfaz SQL opcional que cumple con la mayoría de las características obligatorias del estándar SQL oficial. [8]
Distribución
Tarantool viene como parte de las distribuciones oficiales de algunas distribuciones de Linux como Debian , Fedora o Ubuntu . [9] [10] [11] La organización Tarantool también proporciona descargas para otras distribuciones de Linux, OS X y FreeBSD. Tarantool se puede ampliar con módulos instalados utilizando LuaRocks e incluye su propia selección de rocas de extensión. [12]
Referencias
- ^ Gornyy, Alexander. "Tarantool 1.6: NoSQL база данных y el servidor de aplicaciones в одном флаконе" . Grupo Mail.Ru.
- ^ Osipov, Konstantin. "Colas persistentes en memoria de Tarantool" . NoSQL importa.
- ^ Povarov, Anton. "Tarantool в Badoo: хранение истории посещений" . Desarrollo Badoo.
- ^ "DST completa la compra de Odnoklassniki.ru, sale de Nasza-Klasa.pl" . TechCrunch . 31 de agosto de 2010.
- ^ Popescu, Alex; Bacalu, Ana-Maria. "Tarantool / Silverbox: otro almacén de valor-clave en memoria de Mail.Ru" . MyNoSQL.
- ^ "Guía del usuario de Tarantool" .
- ^ "Almacenamiento de datos con Vinyl" . Tarantool.
- ^ "Guía del usuario / SQL" . Tarantool.
- ^ "Paquete: Tarantool" . Debian.
- ^ "Paquete: base de datos en memoria tarantool con servidor de aplicaciones Lua" . Fedora.
- ^ "Paquete: base de datos en memoria tarantool con servidor de aplicaciones Lua" . Ubuntu.
- ^ "Tarantool Rocks" . Tarantool . Consultado el 30 de diciembre de 2016 .
enlaces externos
- Página web oficial