Aerospike (base de datos)

Summary

Aerospike es una base de datos NoSQL de alto rendimiento y en tiempo real. Diseñado para aplicaciones que no pueden experimentar ningún tiempo de inactividad y requieren un alto rendimiento de lectura y escritura. Aerospike está optimizado para ejecutarse en SSD NVMe capaces de almacenar de manera eficiente grandes conjuntos de datos (de gigabytes a petabytes). Aerospike también se puede implementar como una base de datos de caché completamente en memoria. Aerospike ofrece modelos de clave-valor, documentos JSON, datos gráficos y búsqueda vectorial. Aerospike es un sistema de gestión de bases de datos NoSQL distribuido de código abierto, comercializado por la empresa también llamada Aerospike.[1]

Aerospike database
Información general
Tipo de programa software privativo
Desarrollador Aerospike
Lanzamiento inicial 2012
Licencia
Información técnica
Programado en C
Versiones
Última versión estable 8.0.0.525 de febrero de 2025
Enlaces
Sitio web oficial
Repositorio de código

Historia

editar

Aerospike se conoció inicialmente como Citrusleaf. En agosto de 2012, la empresa, que había proporcionado su base de datos desde 2010, cambió el nombre de la empresa y del software a Aerospike.[2]​ El nombre "Aerospike" se deriva del motor aerospike, un tipo de tobera de cohete capaz de mantener su eficiencia de salida en un amplio rango de altitudes, y pretende referirse a la capacidad del software para escalar.[3]​ En 2012, Aerospike adquirió AlchemyDB e integró las funciones de las dos bases de datos, incluyendo la incorporación de un sistema de gestión de datos relacionales.[4]​ El 24 de junio de 2014, Aerospike se convirtió en código abierto bajo la licencia AGPL 3.0 para el servidor de base de datos Aerospike y la licencia Apache versión 2.0 para su kit de desarrollo de software cliente Aerospike.[5][6][7]

Historial de versiones

editar
Versión Primera versión Fecha de lanzamiento Última versión Fecha de lanzamiento Características Ref
Versión antigua, sin servicio técnico: 3.1 3.1.3 2 de enero de 2014 3.1.14 25 de febrero de 2014

[8]

Versión antigua, sin servicio técnico: 3.2 3.2.0 19 de marzo de 2014 3.2.9 12 de mayo de 2014

[8]

Versión antigua, sin servicio técnico: 3.3 3.3.5 9 de junio de 2014 3.3.26 3 de diciembre de 2014

[8]

Versión antigua, sin servicio técnico: 3.4 3.4.0 8 de diciembre de 2014 3.4.1 12 de enero de 2015

[8]

Versión antigua, sin servicio técnico: 3.5 3.5.2 13 de febrero de 2015 3.5.15 15 de julio de 2015

[8]

Versión antigua, sin servicio técnico: 3.6 3.6.0 31 de agosto de 2015 3.6.4 10 de noviembre de 2015

[8]

Versión antigua, sin servicio técnico: 3.7 3.7.0 10 de diciembre 2015 3.7.5.1 31 de marzo de 2016
  • Geospatial queries
  • Native List data type

[9][8]

Versión antigua, sin servicio técnico: 3.8 3.8.1 15 de abril de 2016 3.8.4 17 de junio de 2016
  • Secondary Index on List, Map & Geospatial

[10][8]

Versión antigua, sin servicio técnico: 3.9 3.9.0 11 de julio de 2016 3.9.1.1 2 de septiembre de 2016
  • Rapid Rebalance

[11][8]

Versión antigua, sin servicio técnico: 3.10 3.10.0.3 21 de octubre de 2016 3.10.1.5 13 de enero de 2017
  • Durable Delete
  • Support IPv6

[12][8]

Versión antigua, sin servicio técnico: 3.11 3.11.0 5 de enero de 2017 3.11.1.1 15 de febrero de 2017

[13][8]

Versión antigua, sin servicio técnico: 3.12 3.12.0 15 de marzo de 2017 3.12.1.3 31 de julio de 2017
  • Predicate Filters

[14][8]

Versión antigua, sin servicio técnico: 3.13 3.13.0.1 30 de mayo de 2017 3.13.0.11 26 de abril de 2018
  • Clustering Layer refactoring
  • Required "Jump" Release before 3.14

[15][8]

Versión antigua, sin servicio técnico: 3.14 3.14.0 6 de junio de 2017 3.14.1.10 26 de abril de 2018
  • Clustering Layer refactoring pt. 2

[15][8]

Versión antigua, sin servicio técnico: 3.15 3.15.0.1 3 de octubre de 2017 3.15.1.4 3 de enero de 2018

[8]

Versión antigua, sin servicio técnico: 3.16 3.16.0.1 21 de febrero de 2018 3.16.0.6 2 de marzo de 2018

[8]

Versión antigua, sin servicio técnico: 4.0 4.0.0.1 7 de marzo de 2018 4.0.0.6 6 de septiembre de 2018
  • Strong consistency Model

[16][17]

Versión antigua, sin servicio técnico: 4.1 4.1.0.1 10 de mayo de 2018 4.1.0.6 6 de septiembre de 2018

[18][17]

Versión antigua, sin servicio técnico: 4.2 4.2.0.2 31 de mayo de 2018 4.2.0.10 10 de agosto de 2018
  • Increase maximum object size to 8MB

[19][17]

Versión antigua, sin servicio técnico: 4.3 4.3.0.2 1 de agosto de 2018 4.3.1.14 26 de abril de 2019
  • All Flash Namespaces

[20][17]

Versión antigua, sin servicio técnico: 4.4 4.4.0.4 19 de noviembre de 2018 4.4.0.15 26 de abril de 2019
  • Change notification Framework - connectors for Apache Kafka and JMS
  • Rack aware reads

[21][17]

Versión antigua, sin servicio técnico: 4.5 4.5.0.1 12 de diciembre de 2018 4.5.3.22 7 de julio de 2020

[22][17]

Versión antigua, sin servicio técnico: 4.6 4.6.0.2 9 de agosto de 2019 4.6.0.21 18 de septiembre de 2020
  • Added bitwise BLOB operations
  • Nested Collection Data Type API support

[17]

Versión antigua, sin servicio técnico: 4.7 4.7.0.2 30 de septiembre de 2019 4.7.0.26 25 de noviembre de 2020
  • ADQ Support

[23][17]

Versión antigua, sin servicio técnico: 4.8 4.8.0.1 12 de diciembre de 2019 4.8.0.31 29 de marzo de 2021
  • Support for client/server compression
  • Support for Intel Persistent Memory for storing data

[24][17]

Versión antigua, con servicio técnico: 4.9 4.9.0.3 8 de abril de 2020 4.9.0.36 25 de octubre de 2021
  • Added support for HyperLogLog (HLL) data types
  • Improve Scans for non key value access
  • Modify Eviction/Expiration (TTL) Default behavior
  • Required "Jump" Release before 5.0 (LTS)

[25][17]

Versión antigua, sin servicio técnico: 5.0 5.0.0.3 14 de mayo de 2020 5.0.0.38 19 de julio de 2021
  • Refactor cross datacenter replication (XDR)
  • Strong consistency multi site clustering

[26][17]

Versión antigua, sin servicio técnico: 5.1 5.1.0.3 31 de julio de 2020 5.1.0.42 20 de septiembre de 2021
  • Hashicorp Vault integration

[27][17]

Versión antigua, sin servicio técnico: 5.2 5.2.02 1 de octubre de 2020 5.2.0.37 30 de octubre de 2021
  • Redesigned predicate expressions

[28][17]

Versión antigua, con servicio técnico: 5.3 5.3.0.2 10 de diciembre de 2020 5.3.0.27 30 de octubre de 2021
  • Added expression filtering for XDR
  • Expanded Multi-Site Clustering

[29][17]

Versión antigua, con servicio técnico: 5.4 5.4.0.1 13 de enero de 2021 5.4.0.22 30 de octubre de 2021
  • Added bin level convergence for active-active XDR scenarios

[30][17]

Versión antigua, con servicio técnico: 5.5 5.5.0.2 5 de febrero de 2021 5.5.0.20 30 de octubre de 2021

[17]

Versión antigua, con servicio técnico: 5.6 5.6.0.3 10 de mayo de 2021 5.6.0.14 30 de octubre de 2021
  • Aerospike Expressions
  • Set Indexes
  • Per-user quotas
  • Boolean datatype

[31][17]

Versión antigua, con servicio técnico: 5.7 5.7.0.7 27 de septiembre de 2021 5.7.0.9 10 de diciembre de 2021
  • Improved memory footprint and garbage collection for secondary indices
  • Support for PKI authentication

[32][17]

Versión estable actual: 6.0 6.0.0.0 27 de abril de 2022 6.0.0.0 27 de abril de 2022
  • Storing, Indexing and Querying JSON Documents
  • Partitioned Secondary Index Queries

[33][17]

Leyenda:
Versión antigua
Versión antigua, con soporte técnico
Última versión
Última versión previa
Lanzamiento futuro

Características

editar

La base de datos de Aerospike está modelada bajo la arquitectura de no compartición y escrita en C. Opera en tres capas: una capa de almacenamiento de datos, una capa de distribución autogestionada y una capa de cliente compatible con clústeres.[34]

Aerospike utiliza una arquitectura de memoria híbrida: los índices de la base de datos se almacenan completamente en la memoria de acceso aleatorio principal, mientras que los datos se almacenan en un dispositivo persistente utilizando la capa de datos. La capa de datos almacena los datos en una unidad de estado sólido, NVMe o memoria persistente.[35]​ La lectura de los datos se realiza mediante un acceso directo a la posición del registro en el disco usando un puntero directo desde el índice principal, y las escrituras de datos se optimizan mediante escrituras de bloques grandes para reducir la latencia.[34]​ Esta arquitectura recupera todos los registros del dispositivo persistente y evita el uso de caché de datos. Aerospike también proporciona la capacidad de almacenar los datos completamente en RAM, actuando así como una base de datos en memoria. En ese caso, los datos se conservarían en SSD, NVMe, PMEM o medios rotacionales tradicionales.[2]

Aerospike proporciona transacciones ACID de registro único.[36]​ La capa de distribución es responsable de replicar los datos entre los nodos para garantizar la durabilidad y las propiedades de consistencia inmediata de la transacción. Esto permite que la base de datos permanezca operativa incluso cuando un nodo de servidor individual falla o se elimina manualmente del clúster.[34]​ Desde la versión 4.0 (2018), la base de datos de Aerospike se puede configurar como Disponible y Tolerante a particiones (AP) o Consistente y Tolerante a particiones (CP) según el teorema CAP.[37][38]

La capa de cliente consciente del clúster se utiliza para rastrear la configuración del clúster en la base de datos y administra las comunicaciones directas del cliente con todos los nodos del clúster.[34]​ La agrupación se realiza mediante latidos y el algoritmo de protocolo de chismes basado en Paxos.[39]

El software utiliza dos subprogramas cuyos nombres en código son Defragmenter y Evictor.[34][40]​ El desfragmentador elimina los bloques de datos que se han eliminado y Evictor libera espacio en RAM eliminando referencias a registros caducados.[34][41]

Referencias

editar
  1. Yuhanna, Noel (15 de octubre de 2014). «NoSQL Key-Value Databases, Q3 2014». Forrester Research. Consultado el 29 de noviembre de 2014. 
  2. a b «Aerospike, the former Citrusleaf». DBMS2. 27 de agosto de 2012. Consultado el 17 de mayo de 2013. 
  3. «Definition of Aerospike engine». Wordiq. Archivado desde el original el 24 de diciembre de 2004. Consultado el 17 de mayo de 2013. 
  4. Klint Finley (28 de agosto de 2012). «Grim And Gritty Startup Reboot: NoSQL Company Citrusleaf Changes Name And Acquires AlchemyDB». TechCrunch. Consultado el 25 de noviembre de 2014. 
  5. Jack Clark (24 de junio de 2014). «Aerospike: Thanks for that $20m, VCs ... next we'll OPEN SOURCE our NoSQL database». The Register. Consultado el 25 de noviembre de 2014. 
  6. Rachel Schramm (24 de junio de 2014). «Aerospike open sources NoSQL database in bid to expand customer ranks». Silicon Angle. Consultado el 30 de julio de 2014. 
  7. Abel Avram (24 de junio de 2014). «Aerospike Open Sources Their In-memory NoSQL Database». InfoQ. Consultado el 30 de julio de 2014. 
  8. a b c d e f g h i j k l m n ñ o «Aerospike Release Notes Pre 4.0». Archivado desde el original el 11 September 2018. Consultado el 17 de febrero de 2021. 
  9. «Aerospike 3.7.0 Release». Aerospike. 14 de diciembre de 2015. Consultado el 17 de febrero de 2021. 
  10. «Aerospike 3.8 Release». Aerospike. 16 de abril de 2016. Consultado el 17 de febrero de 2021. 
  11. «Aerospike 3.9 Release». Aerospike. 12 de julio de 2016. Consultado el 17 de febrero de 2021. 
  12. «What's New in Aerospike 3.10?». Aerospike. 25 de octubre de 2016. Consultado el 17 de febrero de 2021. 
  13. «What's New in Aerospike 3.11?». Aerospike. 31 de enero de 2017. Consultado el 17 de febrero de 2021. 
  14. «What's New in Aerospike 3.12?». Aerospike. 4 de abril de 2017. Consultado el 17 de febrero de 2021. 
  15. a b «What's New in Aerospike 3.13 and 3.14?». Aerospike. 20 de junio de 2017. Consultado el 17 de febrero de 2021. 
  16. «Aerospike 4.0, Strong Consistency, and Jepsen». Aerospike. 7 de marzo de 2018. Consultado el 17 de febrero de 2021. 
  17. a b c d e f g h i j k l m n ñ o p q r «Aerospike Release Notes». Consultado el 17 de febrero de 2021. 
  18. «Aerospike 4.1». Aerospike. 11 de mayo de 2018. Consultado el 17 de febrero de 2021. 
  19. «Aerospike 4.2: Storage Efficiency and Speed Improvements». Aerospike. 5 de junio de 2018. Consultado el 17 de febrero de 2021. 
  20. «Aerospike 4.3: All Flash & Uniform Balance». Aerospike. 1 de agosto de 2018. Consultado el 17 de febrero de 2021. 
  21. «Aerospike 4.4: Change Notification and Operational Improvements». Aerospike. 19 de noviembre de 2018. Consultado el 17 de febrero de 2021. 
  22. «Aerospike 4.5: Persistent Memory and Compression». Aerospike. 13 de diciembre de 2018. Consultado el 17 de febrero de 2021. 
  23. «Announcing Aerospike 4.7 – the First Commercial Database to Support the Intel® Ethernet 800 Series with ADQ». Aerospike. 24 de septiembre de 2019. Consultado el 17 de febrero de 2021. 
  24. «Aerospike 4.8: Enhanced Persistent Memory Support and Compression». Aerospike. 10 de diciembre de 2019. Consultado el 17 de febrero de 2021. 
  25. «Aerospike 4.9: New Functionality for Developers». Aerospike. 17 de abril de 2020. Consultado el 17 de febrero de 2021. 
  26. «Aerospike Database 5: Multi-site Clustering and Cross Datacenter Replication». Aerospike. 12 de mayo de 2020. Consultado el 17 de febrero de 2021. 
  27. «Aerospike Database 5.1: Security Enhancements including HashiCorp Vault Integration». Aerospike. 30 de julio de 2020. Consultado el 17 de febrero de 2021. 
  28. «Aerospike Database 5.2: XDR Enhancements & Predicate Filters». Aerospike. 30 de septiembre de 2020. Consultado el 17 de febrero de 2021. 
  29. «Aerospike Database 5.3: XDR Filtering with Expressions & Expanded Multi-Site Clustering». Aerospike. 18 de noviembre de 2020. Consultado el 17 de febrero de 2021. 
  30. «Aerospike Database 5.4: Usability Improvements & Human-Readable XDR Filter Expressions». Aerospike. 13 de enero de 2021. Consultado el 17 de febrero de 2021. 
  31. «Aerospike Database 5.6: Developer Cornucopia». Aerospike. 12 de mayo de 2021. Consultado el 12 de mayo de 2021. 
  32. «Aerospike Database 5.7.0.7». Aerospike. 11 de noviembre de 2021. Consultado el 11 de noviembre de 2021. 
  33. «Aerospike Database 6». Aerospike. 27 de abril de 2022. Consultado el 11 de abril de 2022. 
  34. a b c d e f «Aerospike: Architecture of a Real-Time Operational DBMS». Consultado el 16 de febrero de 2021. 
  35. «Enhanced Persistent Memory Support and Compression». December 19, 2019. Consultado el 16 de febrero de 2021. 
  36. «CAP and ACID | Aerospike». www.aerospike.com. Consultado el 18 February 2021. 
  37. Kingsbury, Kyle (7 de marzo de 2018). «Jepsen: Aerospike 3.99.0.3». jepsen.io. Consultado el 18 de febrero de 2021. 
  38. «Strong Consistency mode | Aerospike». www.aerospike.com. Consultado el 18 de febrero de 2021. 
  39. «Clustering | High-speed Distributed Cluster Formation». www.aerospike.com. Consultado el 16 de febrero de 2021. 
  40. «CTO Panel on Super Storm Sandy and 100% Uptime». 14 de diciembre de 2012. Archivado desde el original el 3 de marzo de 2013. Consultado el 17 de mayo de 2013. 
  41. «Documentation | Aerospike». www.aerospike.com. Consultado el 28 de julio de 2020. 

Enlaces externos

editar
  • Sitio web oficial
  •   Datos: Q4688459