[ 
https://issues.apache.org/jira/browse/HBASE-8693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Dimiduk updated HBASE-8693:
--------------------------------

    Release Note: 
This patch introduces an extensible data types API for HBase. It is inspired by 
the following systems:

 - PostgreSQL. Postgres has a user-extensible data type API, which has been 
used to great effect by it's user community (ie, PostGIS). The desire is for 
HBase to expose an equally extensible data type API. One aspect of the Postgres 
data type is the ability to provide equivalence functions for index operations. 
This appears to be of critical performance utility for its execution engine.
 - Orderly. Orderly handles the issue of compound rowkeys by providing 
convenience classes for handling these kinds of data types. This influence is 
reflected in the Struct and Union family of classes.
 - Phoenix. The PDataType enum used in Phoenix provides type hints, similar 
Postgres's equivalence functions. These appear to be used during query 
execution for numerical type promotion.

This patch introduces an interface, DataType, along with a number of data type 
implementations based on the Bytes encoding. Also included are Struct and Union 
types, demonstrating simple implementations of compound types. Helper classes 
around the Struct implementation are also provided.

This patch does not address the type compatibility concerns expressed by 
Phoenix's PDataType API (ie, isComparableTo, isCoercibleTo); these will be 
addressed in HBASE-8863.

This patch also provides DataType implementations based on the OrderedBytes 
encoding from HBASE-8201.
    
> DataType: provide extensible type API
> -------------------------------------
>
>                 Key: HBASE-8693
>                 URL: https://issues.apache.org/jira/browse/HBASE-8693
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>            Priority: Blocker
>             Fix For: 0.98.0, 0.95.2
>
>         Attachments: 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0001-HBASE-8693-Extensible-data-types-API.patch, 
> 0002-HBASE-8693-example-Use-DataType-API-to-build-regionN.patch, 
> KijiFormattedEntityId.java
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to