Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D375B200C0C for ; Mon, 30 Jan 2017 22:05:44 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id D2290160B4D; Mon, 30 Jan 2017 21:05:44 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 27E12160B35 for ; Mon, 30 Jan 2017 22:05:44 +0100 (CET) Received: (qmail 85924 invoked by uid 500); 30 Jan 2017 21:05:42 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 85913 invoked by uid 99); 30 Jan 2017 21:05:42 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Jan 2017 21:05:42 +0000 Received: from hw10447.local (unknown [167.102.188.146]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 4D55D1A002B for ; Mon, 30 Jan 2017 21:05:42 +0000 (UTC) Message-ID: <588FAAA3.1050304@apache.org> Date: Mon, 30 Jan 2017 16:05:39 -0500 From: Josh Elser User-Agent: Postbox 3.0.11 (Macintosh/20140602) MIME-Version: 1.0 To: user@hbase.apache.org Subject: Re: Performance: HBase Native Java Client versus Thrift Java client References: ,<588F9ABB.30703@apache.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit archived-at: Mon, 30 Jan 2017 21:05:45 -0000 Right you are, Jeff. The Master is just coordinating where these Regions are hosted (among other things...). Clients would be caching the mapping of which RegionServers is hosting a Region. Typically this information does not change often. In the case that it does change, the client can often react very quickly to this. Unless you have some use-case where your Java client is not long-lived, the Thrift server would always be overhead on top of what the HBase client itself would do. The Thrift server is just wrapping the HBase client you'd use in your own Java application and exposing it in a different manner. jeff saremi wrote: > Thanks Josh > > I made a mistake in mentioning the master. It looks like the client contacts the Region Server which holds the Meta table. > > Of a query into the meta table to get the RegionServer for a given key, it wasn't clear to me what was being cached on the client? Also on the same topic, is a Thrift server assisting this process in any shape or form? to make its presence necessary? > > Is there anything else that the Thrift server might be contributing to positively? > > > > ________________________________ > From: Josh Elser > Sent: Monday, January 30, 2017 11:57 AM > To: user@hbase.apache.org > Subject: Re: Performance: HBase Native Java Client versus Thrift Java client > > Would recommend that you brush up on your understanding of the HBase > architecture. > > Clients do not receive table data from the HBase Master at any point. > This is purely a RegionServer operation. > > http://hbase.apache.org/book.html#_architecture > > jeff saremi wrote: >> I'd like to understand if there are any considerations on why one would use thrift versus the direct client? >> >> I was told that Thrift server allow key-caching which would result in faster key-to-regionserver queries as opposed to getting that from the Hbase master nodes. It would also alleviate the load on the master. >> >> At the same time, we know if going through Thrift would add to the latency since it's an indirect way of getting at data. >> >> >> thanks >> >> Jeff >> >