Desarrollador(es) | Fundación de software Apache |
---|---|
Versión estable | 2.1.3 (12 de agosto de 2024 [±] (2024-08-12) | [1] )
Repositorio | Repositorio de Accumulo |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Licencia | Licencia Apache 2.0 |
Sitio web | acumular.apache.org |
Apache Accumulo es un almacén de valores clave distribuido y ordenado altamente escalable basado en Bigtable de Google . [2] Es un sistema construido sobre Apache Hadoop , Apache ZooKeeper y Apache Thrift . Escrito en Java , Accumulo tiene etiquetas de acceso a nivel de celda y mecanismos de programación del lado del servidor . Según el ranking de DB-Engines , Accumulo es el tercer almacén de columnas anchas NoSQL más popular detrás de Apache Cassandra y HBase y el 67.º motor de base de datos más popular de cualquier tipo (completo) a partir de 2018. [3]
Accumulo fue creado en 2008 por la Agencia de Seguridad Nacional de Estados Unidos y contribuyó a la Fundación Apache como un proyecto de incubación en septiembre de 2011. [4]
El 21 de marzo de 2012, Accumulo se graduó de la incubación en Apache, convirtiéndose en un proyecto de alto nivel. [5]
En junio de 2012, el Comité de Servicios Armados del Senado de los Estados Unidos (SASC) publicó el Proyecto de Ley de Autorización del Departamento de Defensa (DoD) de 2012, que incluía referencias a Apache Accumulo. En el proyecto de ley, el SASC exigía al DoD que evaluara si Apache Accumulo podía lograr viabilidad comercial antes de implementarlo en todo el Departamento de Defensa. [6] No se incluyeron criterios específicos en el texto del borrador, pero el establecimiento de entidades comerciales que respaldaran a Apache Accumulo podría considerarse un factor de éxito. [7]
Apache Accumulo extiende el modelo de datos de Bigtable y agrega un nuevo elemento a la clave llamado Visibilidad de columna. Este elemento almacena una combinación lógica de etiquetas de seguridad que deben cumplirse en el momento de la consulta para que la clave y el valor se devuelvan como parte de una solicitud de usuario. Esto permite almacenar datos con distintos requisitos de seguridad en la misma tabla y permite a los usuarios ver solo las claves y los valores para los que están autorizados. [4]
Además de la seguridad a nivel de celda, Apache Accumulo proporciona un mecanismo de programación del lado del servidor denominado Iteradores que permite a los usuarios realizar un procesamiento adicional en el servidor Tablet. La gama de operaciones que se pueden aplicar es equivalente a las que se pueden implementar dentro de una función de combinación de MapReduce, que produce un valor agregado para varios pares clave-valor.
Apache Accumulo ordena las entradas según el orden de las claves de usuario y expone un iterador sobre un rango de claves. Esto permite una localidad de referencia que no está disponible en otros almacenes distribuidos (incluidos Cassandra y Voldemort, que ordenan por hash de la clave de usuario).