stringtranslate.com

tarantool

Tarantool es una plataforma informática en memoria con un esquema de datos flexible, ideal para crear aplicaciones de alto rendimiento. Sus dos partes principales son una base de datos en memoria y un servidor de aplicaciones Lua .

Tarantool mantiene los datos en la memoria y garantiza la resistencia a las fallas con el registro de escritura anticipada y la creación de instantáneas . Incluye un intérprete de Lua y una consola interactiva, pero también acepta conexiones desde programas en varios otros lenguajes.

Historia

Mail.Ru, una de las mayores empresas de Internet de Rusia, inició el proyecto en 2008 como parte del desarrollo de la red social Moy Mir (Mi mundo). En 2010, contrató como jefe de proyecto a un exdirector técnico de MySQL . Los colaboradores de código abierto han estado activos especialmente en el área de conectores de lenguajes externos para C , Perl , PHP , Python , Ruby y node.js.

Tarantool se convirtió en parte de la columna vertebral de Mail.Ru, utilizada 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 fue 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 persistencia de datos asegurada por el registro de escritura anticipada y la toma 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 (lograr que un servidor Tarantool tome el control de otro) es posible desde un servidor de réplica o desde un servidor de "espera activa".

No hay bloqueos. Tarantool utiliza corrutinas de estilo Lua y E/S asincrónicas . El resultado es que los programas de aplicación o los procedimientos almacenados deben escribirse teniendo en cuenta la multitarea cooperativa , en lugar de la multitarea preventiva más popular.

Para el almacenamiento de bases de datos, la unidad básica es una tupla . Las tuplas en conjuntos de tuplas cumplen la misma función que las filas en las tablas de bases de datos relacionales. Las tuplas tienen una cantidad arbitraria 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 B-tree , hash, bitmap y R-tree (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 forma parte de las distribuciones oficiales de algunas distribuciones Linux como Debian , Fedora o Ubuntu . [9] [10] [11] La organización Tarantool también proporciona descargas para otras distribuciones Linux, OS X y FreeBSD. Tarantool se puede ampliar con módulos instalados mediante LuaRocks e incluye su propia selección de extensiones. [12]

Referencias

  1. ^ Gornyy, Alexander (11 de mayo de 2016). "Tarantool 1.6: base NoSQL y servidor de aplicaciones en una sola ventana". Grupo Mail.Ru.
  2. ^ Osipov, Konstantin. "Colas persistentes en memoria de Tarantool". NoSQL importa.
  3. ^ Povarov, Antón. "Tarantool en Badoo: хранение истории посещений". Desarrollo Badoo.
  4. ^ "DST completa la compra de Odnoklassniki.ru y abandona Nasza-Klasa.pl". TechCrunch . 31 de agosto de 2010.
  5. ^ Popescu, Alex; Bacalu, Ana-Maria. "Tarantool/Silverbox: otro almacén de clave-valor en memoria de Mail.Ru". MyNoSQL.
  6. ^ "Guía del usuario de Tarantool".
  7. ^ "Almacenamiento de datos con vinilo". Tarantool.
  8. ^ "Guía del usuario / SQL". Tarantool.
  9. ^ "Paquete: Tarantool". Debian.
  10. ^ "Paquete: tarantool Base de datos en memoria con servidor de aplicaciones Lua". Fedora.
  11. ^ "Paquete: tarantool Base de datos en memoria con servidor de aplicaciones Lua". Ubuntu.
  12. ^ "Tarantool Rocks". Tarantool . Consultado el 30 de diciembre de 2016 .

Enlaces externos