Author: elserj Date: Tue Jun 10 17:06:53 2014 New Revision: 1601688 URL: http://svn.apache.org/r1601688 Log: ACCUMULO-2777 Update notable-features page with information from 1.6.0 release notes.
Modified: accumulo/site/trunk/content/notable_features.mdtext Modified: accumulo/site/trunk/content/notable_features.mdtext URL: http://svn.apache.org/viewvc/accumulo/site/trunk/content/notable_features.mdtext?rev=1601688&r1=1601687&r2=1601688&view=diff ============================================================================== --- accumulo/site/trunk/content/notable_features.mdtext (original) +++ accumulo/site/trunk/content/notable_features.mdtext Tue Jun 10 17:06:53 2014 @@ -63,6 +63,20 @@ documents containing certain words. When reading rows, there is no requirement that an entire row fits into memory. +### Namespaces + +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. + +### Volume support + +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. ## Integrity/Availability <a id="integrity"></a> @@ -186,7 +200,16 @@ test against Accumulo. Mock Accumulo is 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. +instance more closely. + +### Accumulo Maven Plugin + +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 [maven-accumulo-plugin](/release_notes/1.6.0.html#maven-plugin) which +can be used to start a Mini Accumulo Cluster instance as a part of the Maven +lifecycle that your application tests can use. ### Functional Test @@ -255,6 +278,23 @@ concurrent reading and writing. All of proxy wraps the Accumulo client API with thrift, making this API easily available to other languages like Python, Ruby, C++, etc. +### Conditional Mutations + +In version 1.6.0, Accumulo introduced [ConditionalMutations][7] +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 [ConditionalMutation](/1.6/apidocs/org/apache/accumulo/core/data/ConditionalMutation.html) and +[ConditionalWriter](/1.6/apidocs/org/apache/accumulo/core/client/ConditionalWriter.html) + +### Lexicoders + +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. + ## Extensible Behaviors <a id="behaviors"></a> ### Pluggable balancer @@ -282,6 +322,14 @@ period. The plugin that decided which loggers should be assigned to which tablet servers is configurable. +### Pluggable compaction strategy + +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. + ## General Administration <a id="admin"></a> ### Monitor page @@ -351,6 +399,14 @@ User written iterators are a useful way 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. +### Encryption + +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. + ## On-demand Data Management <a id="ondemand_dm"></a> ### Compactions @@ -399,3 +455,4 @@ beginning and end of the range are split [4]: /1.5/accumulo_user_manual.html#_writing_accumulo_clients [6]: /1.5/accumulo_user_manual.html#_bulk_ingest +[7]: /1.6/accumulo_user_manual.html#_conditionalwriter