Author: buildbot Date: Tue Jun 10 17:07:08 2014 New Revision: 912130 Log: Staging update by buildbot for accumulo
Modified: websites/staging/accumulo/trunk/content/ (props changed) websites/staging/accumulo/trunk/content/notable_features.html Propchange: websites/staging/accumulo/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Tue Jun 10 17:07:08 2014 @@ -1 +1 @@ -1601399 +1601688 Modified: websites/staging/accumulo/trunk/content/notable_features.html ============================================================================== --- websites/staging/accumulo/trunk/content/notable_features.html (original) +++ websites/staging/accumulo/trunk/content/notable_features.html Tue Jun 10 17:07:08 2014 @@ -221,6 +221,17 @@ document store. For example wikipedia co documents containing certain words.</p> <h3 id="large-rows">Large Rows</h3> <p>When reading rows, there is no requirement that an entire row fits into memory.</p> +<h3 id="namespaces">Namespaces</h3> +<p>In version 1.6.0, the concept of table "namespaces" was created to allow for logical +grouping and configuration of Accumulo tables. By default, tables are created in a +default namespace which is the empty string to preserve the feel for how tables operate +in previous versions. One application of table namespaces is placing the Accumulo root +and metadata table in an "accumulo" namespace to denote that these tables are used +internally by Accumulo.</p> +<h3 id="volume-support">Volume support</h3> +<p>Accumulo 1.6.0 migrated away from configuration of HDFS by using a single HDFS host and +directory, to a collection of HDFS URIs (host and path) which allows Accumulo to operate +over multiple disjoint HDFS instances.</p> <h2 id="integrityavailability-wzxhzdk2wzxhzdk3">Integrity/Availability <a id="integrity"></a></h2> <h3 id="master-fail-over">Master fail over</h3> <p>Multiple masters can be configured. Zookeeper locks are used to determine @@ -313,7 +324,14 @@ test against Accumulo. Mock Accumulo is <p>Mini Accumulo cluster is a set of utility code that makes it easy to spin up a local Accumulo instance running against the local filesystem. Mini Accumulo is slower than Mock Accumulo, but its behavior mirrors a real Accumulo -instance more closely. </p> +instance more closely.</p> +<h3 id="accumulo-maven-plugin">Accumulo Maven Plugin</h3> +<p>Using the Mini Accumulo Cluster in unit and integration tests is a great way for +developers to test their applications against Accumulo in an environment that is +much closer to physical deployments than Mock Accumulo provided. Accumulo 1.6.0 also +introduced a <a href="/release_notes/1.6.0.html#maven-plugin">maven-accumulo-plugin</a> which +can be used to start a Mini Accumulo Cluster instance as a part of the Maven +lifecycle that your application tests can use.</p> <h3 id="functional-test">Functional Test</h3> <p>Small, system-level tests of basic Accumulo features run in a test harness, external to the build and unit-tests. These tests start a complete Accumulo @@ -364,6 +382,19 @@ client code locates tablets, retries in concurrent reading and writing. All of this is written in Java. The thrift proxy wraps the Accumulo client API with thrift, making this API easily available to other languages like Python, Ruby, C++, etc.</p> +<h3 id="conditional-mutations">Conditional Mutations</h3> +<p>In version 1.6.0, Accumulo introduced <a href="/1.6/accumulo_user_manual.html#_conditionalwriter">ConditionalMutations</a> +which allow users to perform efficient, atomic read-modify-write operations on rows. Conditions can +be defined using on equality checks of the values in a column or the absence of a column. For more +information on using this feature, users can reference the Javadoc for <a href="/1.6/apidocs/org/apache/accumulo/core/data/ConditionalMutation.html">ConditionalMutation</a> and +<a href="/1.6/apidocs/org/apache/accumulo/core/client/ConditionalWriter.html">ConditionalWriter</a></p> +<h3 id="lexicoders">Lexicoders</h3> +<p>Common boilerplate code that exists when interacting with Accumulo is the conversion +of Java objects to lexicographically sorted bytes, e.g. ensure that the byte representation +of the number 9 sorts before the byte representation of the number 11. Version 1.6.0 introduced +Lexicoders which have numerous implementations that support for efficient translation from common +Java primitives to byte arrays and vice versa. These classes can greatly reduce the burden in +re-implementing common programming mistakes in encoding.</p> <h2 id="extensible-behaviors-wzxhzdk10wzxhzdk11">Extensible Behaviors <a id="behaviors"></a></h2> <h3 id="pluggable-balancer">Pluggable balancer</h3> <p>Users can provide a balancer plugin that decides how to distribute tablets @@ -384,6 +415,12 @@ period.</p> <h3 id="pluggable-logger-assignment-strategy">Pluggable logger assignment strategy</h3> <p>The plugin that decided which loggers should be assigned to which tablet servers is configurable.</p> +<h3 id="pluggable-compaction-strategy">Pluggable compaction strategy</h3> +<p>The plugin that decides which files should be chosen for major compaction is now +configurable. Given certain workloads, it may be known that once data is written, +it is very unlikely that more data will be written to it, and thus paying the penalty +to re-write a large file can be avoided. Implementations of this compaction strategy +can be used to optimize the data that compactions will write.</p> <h2 id="general-administration-wzxhzdk12wzxhzdk13">General Administration <a id="admin"></a></h2> <h3 id="monitor-page">Monitor page</h3> <p>A simple web server provides basic information about the system health and @@ -435,6 +472,12 @@ files.</p> <p>User written iterators are a useful way to manipulate data in data in Accumulo. Before 1.5., users had to copy their iterators to each tablet server. Starting with 1.5 Accumulo can load iterators from HDFS using Apache commons VFS.</p> +<h3 id="encryption">Encryption</h3> +<p>Still a work in progress, Accumulo 1.6.0 introduced encryption at rest (RFiles +and WriteAheadLogs) and wire encryption (Thrift over SSL) to provide enhance the +level of security that Accumulo provides. It is still a work in progress because +the intermediate files created by Accumulo when recovering from a TabletServer +failure are not encrypted.</p> <h2 id="on-demand-data-management-wzxhzdk16wzxhzdk17">On-demand Data Management <a id="ondemand_dm"></a></h2> <h3 id="compactions">Compactions</h3> <p>Ability to force tablets to compact to one file. Even tablets with one file are