Jump to content

Apache Accumulo

From Alfawiki
Apache Accumulo
Company typeOpen-source software
IndustrySoftware, Database management
Founded2008
FounderUnited States National Security Agency
Headquarters
United States
ProductsDistributed key-value store, NoSQL database
ParentApache Software Foundation
Websiteaccumulo.apache.org

Apache Accumulo represents a highly scalable, distributed key-value storage system that is sorted and modeled after Google's Bigtable. It is built on top of Apache Hadoop, Apache ZooKeeper, and Apache Thrift. Created using Java, Accumulo incorporates cell-level security labels alongside server-side programming functionalities. As per the DB-Engines ranking, it holds the position of the third most widely used NoSQL wide column store, following Apache Cassandra and HBase, and was ranked 67th among all database engines globally in 2018.

History

The inception of Accumulo dates back to 2008 when it was developed by the US National Security Agency. It was later submitted to the Apache Foundation as an incubator project in September 2011.

On March 21, 2012, Accumulo successfully transitioned from incubation status to become a fully-fledged top-level project within Apache.

Controversy

In June 2012, the US Senate Armed Services Committee incorporated Apache Accumulo into the Draft 2012 Department of Defense Authorization Bill. This legislation mandated that the DoD evaluate the technology’s commercial feasibility prior to wider adoption. Although exact evaluation standards were not specified, the presence of commercial support providers was regarded as an important indicator of success.

Cell-level security

Enhancing the core Bigtable data model, Apache Accumulo introduces a critical feature known as Column Visibility. This mechanism stores logical expressions of security labels required during query execution, allowing data with multiple security classifications to coexist within a single table while restricting access strictly to authorized users based on their permissions.

Server-side programming

In addition to cell-level security, Accumulo supports server-side computation through Iterators, which execute processing tasks directly on the Tablet Server. These functions are analogous to MapReduce Combiner operations, enabling aggregation across numerous key-value entries.

User key ordering

Entries in Accumulo are sorted according to user-defined keys, and iterators can traverse specific key ranges, facilitating locality of reference. This approach differs from distributed storage systems like Cassandra and Voldemort that organize data based on hashed keys.

Papers

See also

External links