Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

What is best way to access Phoenix databse : JDBC drivers OR Query Server ?

Highlighted

What is best way to access Phoenix databse : JDBC drivers OR Query Server ?

New Contributor

I have a use case where we want to make Hbase-Phoenix as a backend database for a WEB-Application.

The web-app will perform all CRUD operations and the performance should be fast as reply to user must be quick.

Also the web-app will fire search queries on big tables (300M + rows), hence performance should be good.

I want to know, what way of accessing the PhoenixDB will be good,

1) Directly using JDBC drivers

2) Using Query server

Note: Since we are building the app in python, we have some limitations in using JDBC drivers directly.

@Josh Elser

3 REPLIES 3

Re: What is best way to access Phoenix databse : JDBC drivers OR Query Server ?

If you have the ability to use the Phoenix "thick" JDBC driver, do so.

If you have a requirement to access Phoenix via another language, using the QueryServer would be ideal. There isn't a ready-for-production driver to pull off of the shelf for Python, but there is a starting point: https://bitbucket.org/lalinsky/python-phoenixdb

Re: What is best way to access Phoenix databse : JDBC drivers OR Query Server ?

New Contributor

Thanks for the reply Josh.

I'm already exploring the Phoenixdb library for python. But facing too many limitations there.

It has very limited support for Phoenix4.4. No support for DateTime, Array fields etc.

Also I wanted to check whether Query Server will give good performance (reply within 2/3 sec.) in case for search queries on large tables(300 M+ rows).

Re: What is best way to access Phoenix databse : JDBC drivers OR Query Server ?

The limitation on performance will be on Apache Phoenix itself, not the Query Server. Remember, PQS is just a thin-wrapper around the normal Phoenix JDBC driver -- the underlying performance will be dominated by Phoenix itself, not the Query Server.