phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Dimiduk (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-971) Query server
Date Fri, 10 Apr 2015 02:25:12 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14488775#comment-14488775
] 

Nick Dimiduk commented on PHOENIX-971:
--------------------------------------

Haha yeah, that's true. Most of the work is in Avatica, which is lightly [documented|https://github.com/apache/incubator-calcite/blob/master/doc/avatica.md].
Docs in Avatica will improve as the RPC interfaces harden and we start getting non-Java clients.
The work was general purpose, should be applicable to query servers over other tools beside
Phoenix.

Avatica by rough outline is broken down like so. On the server side, {{JdbcMeta}} manages
mapping clients to specific connections,statement, and dispatching requests to the appropriate
instance. This is the class that keeps instances of {{PhoenixConnection}} and {{Phoenix(Prepared)Statement}}.
Rpc requests are dispatched to the {{JdbcMeta}} singleton via a {{JsonHandler}} through Jetty
-- this is where Jetty receives a POST and translates it into Avatica {{Service}} requests
and responses. On the client side, the thin driver is backed by a {{RemoteMeta}} object that
translates calls from the Avatica JDBC driver into json requests sent over the wire.

> Query server
> ------------
>
>                 Key: PHOENIX-971
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-971
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Andrew Purtell
>            Assignee: Nick Dimiduk
>             Fix For: 4.4.0
>
>         Attachments: 971-secure-login-1.patch, 971-secure-login.patch, PHOENIX-971.00.patch,
PHOENIX-971.01.patch, PHOENIX-971.01.patch, PHOENIX-971.01.patch, PHOENIX-971.02.patch, PHOENIX-971.02.patch,
PHOENIX-971.02.patch, PHOENIX-971.02.patch, image-2.png
>
>
> Host the JDBC driver in a query server process that can be deployed as a middle tier
between lighter weight clients and Phoenix+HBase. This would serve a similar optional role
in Phoenix deployments as the [HiveServer2|https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2]
does in Hive deploys.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message