ApiaryActive
Try: pause · settings · learn · wipe
← Community / Reading Room
A
computing · 4 min read

Accumulo

Accumulo is an open-source, NoSQL, distributed key-value store developed by the Apache Software Foundation. It is designed to handle large amounts of…

Overview

Accumulo is an open-source, NoSQL, distributed key-value store developed by the Apache Software Foundation. It is designed to handle large amounts of structured and semi-structured data in a scalable and fault-tolerant manner. Accumulo was initially developed by the National Security Agency (NSA) for use in their own data storage and analysis needs.

Architecture

Accumulo is built on top of Google's Bigtable, which it was designed to replace. Accumulo's architecture is based on a column-family oriented data model, where data is stored in tables with a primary key and a set of columns. Each column is further divided into a row and a column family. The key features of Accumulo's architecture include:

  • Tablets: Accumulo stores data in tablets, which are self-contained units of data that can be processed independently. Tablets are divided into tabletservers, which are responsible for storing and processing the data.
  • TServers: TServers are the primary storage and processing units in Accumulo. Each TServer is responsible for a set of tablets and performs tasks such as data storage, retrieval, and compaction.
  • Majors: Majors are the primary management units in Accumulo, responsible for managing TServers and ensuring data consistency and availability.
  • Scanners: Scanners are the primary interface for accessing data in Accumulo, allowing clients to iterate over the data in a table.

Features and Benefits

Accumulo offers several features that make it suitable for use in large-scale data storage and analysis applications. Some of the key features include:

  • Scalability: Accumulo is designed to scale horizontally, allowing it to handle large amounts of data and user traffic.
  • Fault-tolerance: Accumulo includes features such as redundancy and failover to ensure that data remains available even in the event of hardware failure.
  • Security: Accumulo includes features such as multi-tenancy, access control, and encryption to ensure that data is secure and compliant with regulatory requirements.
  • Data compression: Accumulo supports data compression, which can help reduce storage costs and improve data transfer times.
  • Data durability: Accumulo uses a Write-Ahead Log (WAL) to ensure that data is persisted to disk before it is returned to the client.

Use Cases

Accumulo is suitable for a wide range of use cases, including:

  • Data warehousing: Accumulo can be used as a data warehouse to store and analyze large amounts of structured and semi-structured data.
  • Data analytics: Accumulo can be used to support data analytics and machine learning applications, including data mining and predictive analytics.
  • IoT data storage: Accumulo can be used to store and analyze data from Internet of Things (IoT) devices, including sensor data and other types of machine-generated data.
  • Big data processing: Accumulo can be used in big data processing applications, including data integration, data quality, and data governance.

Comparison with Other NoSQL Databases

Accumulo is often compared to other NoSQL databases such as HBase, Cassandra, and Couchbase. While all of these databases share some similarities, they also have some key differences. Some of the key differences include:

  • Data model: Accumulo uses a column-family oriented data model, while HBase and Cassandra use a row-key oriented data model. Couchbase uses a document-oriented data model.
  • Scalability: Accumulo is designed to scale horizontally, while HBase and Cassandra are designed to scale vertically. Couchbase is designed to scale both horizontally and vertically.
  • Security: Accumulo includes features such as multi-tenancy, access control, and encryption, while HBase and Cassandra have limited security features. Couchbase includes features such as multi-tenancy and access control.

Community and Support

Accumulo has a large and active community of developers and users, with a wide range of resources available to support its use. Some of the key resources include:

  • Apache Software Foundation: The Apache Software Foundation is responsible for maintaining and developing Accumulo, and provides a wide range of resources and support to the community.
  • Accumulo mailing list: The Accumulo mailing list is a public forum where developers and users can discuss Accumulo-related topics and ask questions.
  • Accumulo documentation: Accumulo has a comprehensive documentation set that covers everything from installation and configuration to advanced topics such as data modeling and query optimization.
  • Accumulo forums: Accumulo has a number of online forums where developers and users can ask questions and discuss topics related to Accumulo.

Conclusion

Accumulo is a powerful and scalable NoSQL database designed for use in large-scale data storage and analysis applications. Its column-family oriented data model, horizontal scalability, and fault-tolerant architecture make it an ideal choice for a wide range of use cases, including data warehousing, data analytics, and big data processing. With a large and active community of developers and users, and a comprehensive documentation set, Accumulo is a great choice for developers and organizations looking to build large-scale data storage and analysis applications.

Frequently asked
What is Accumulo about?
Accumulo is an open-source, NoSQL, distributed key-value store developed by the Apache Software Foundation. It is designed to handle large amounts of…
What should you know about overview?
Accumulo is an open-source, NoSQL, distributed key-value store developed by the Apache Software Foundation. It is designed to handle large amounts of structured and semi-structured data in a scalable and fault-tolerant manner. Accumulo was initially developed by the National Security Agency (NSA) for use in their own…
What should you know about architecture?
Accumulo is built on top of Google's Bigtable, which it was designed to replace. Accumulo's architecture is based on a column-family oriented data model, where data is stored in tables with a primary key and a set of columns. Each column is further divided into a row and a column family. The key features of…
What should you know about features and Benefits?
Accumulo offers several features that make it suitable for use in large-scale data storage and analysis applications. Some of the key features include:
What should you know about use Cases?
Accumulo is suitable for a wide range of use cases, including:
References & sources
  1. Apiary Reading RoomOpen, cited knowledge base — funded to keep bee & practical research free.
From the Apiary Reading Room. Opinion & editorial — not financial advice. We don't overclaim.
More from the Reading Room