hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Purtell <apurt...@apache.org>
Subject contrib proposal: "stargate"
Date Sun, 31 May 2009 18:14:26 GMT
Please see https://issues.apache.org/jira/browse/HBASE-1400 as a proposed contrib for HBase,
a REST gateway -- code named "Stargate" -- which implements an extended/enhanced set of Web
enabled APIs for HBase over the current REST gateway:

    - Based on Jersey (hat tip to Brian Beggs) for clean and easily extendable code base

    - Batch upload/commit capability

    - Protobuf encoding option for efficient data transfer, especially for bulk transactions
where HTTP header overhead is amortized.

    - Zookeeper enabled load sharing and discovery, prelude to gateway-to-gateway load balancing

    - Support transparent (reverse) Squid cache in front of storage gateway by setting Cache-Control
header according to column family TTLs, or no-cache for metadata or scanner instance results,
etc.

    - Gateway and cluster status reports

Note that the I implemented this to a set of internal design criteria. For this version
contributed to the community, I think the community should change the interfaces and semantics
if
the consensus on various details differs from what is in place now, but I think they are pretty
good if a little different than the current REST gateway.
While the iron is hot I would be willing to do some of that work. Some items that come to
mind that I can/would do:

    - Back fill Javadoc.

    - Consider enhancing application/octet-stream encoding support with multipart responses
for multivalue queries (or batching scanners).

Then there are some larger issues:

    - Authentication and access control
        - Use something like S3's shared secrets and access keys?
        - HTTP basic authentication?
        - SSL client cert validity and revocation checking?
       
The above options can be handled by stacking an authentication and rule based access controller
on top of Stargate as a transparent proxy, so may be out of scope. Or maybe it is worth considering
if at least one or both of the first two options is easily supportable by logic in Stargate
plus an administrative table containing security policy and key material?

    - Implementation of transparent load balancing

Kindly take a look at this at your convenience.

Best regards,

   - Andy


      
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message