Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3D85D10200 for ; Thu, 12 Feb 2015 17:27:41 +0000 (UTC) Received: (qmail 96182 invoked by uid 500); 12 Feb 2015 17:27:28 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 96093 invoked by uid 500); 12 Feb 2015 17:27:28 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 96081 invoked by uid 99); 12 Feb 2015 17:27:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Feb 2015 17:27:27 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jesse.k.yates@gmail.com designates 209.85.218.49 as permitted sender) Received: from [209.85.218.49] (HELO mail-oi0-f49.google.com) (209.85.218.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Feb 2015 17:27:23 +0000 Received: by mail-oi0-f49.google.com with SMTP id v63so4381123oia.8 for ; Thu, 12 Feb 2015 09:27:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=Jglvski/PHJCZpCv78r0ElZhyl1oFqyrtayi2mxV05M=; b=gk6WsT+wqNwUZFbClCQKzJkBhoddPxmt0zvWCQPYo3igyJxOntUjvAE7j9K2zTwUHo WCfG5mn4n+TX/1QBNK0h8NN68FMOgL/+0ugFsPDF9y7nm3FTsLxEgJ+RUpK0WLF4GnsG ZAgwqNQizqTkGEOuBvwoSo9I6PMIWbdRLwb+vGplt2YJOWgeAOBkBFuH0SBWdfhBLd4w WeEumW7+ywsaHX6mpbatMc4fWeM6eP4MWxiOWJP8YzAfAZZJOg3xoBpleNG2vVOxdxZY En/vaV7tbRDOEpmt7+lR/MFScZjjRP0fdRzUBL/zI9w6B3qJfCusRYNqE5XaeVcwPB0z Kuyw== X-Received: by 10.182.103.232 with SMTP id fz8mr3528518obb.59.1423762022771; Thu, 12 Feb 2015 09:27:02 -0800 (PST) MIME-Version: 1.0 Received: by 10.202.60.134 with HTTP; Thu, 12 Feb 2015 09:26:42 -0800 (PST) In-Reply-To: References: From: Jesse Yates Date: Thu, 12 Feb 2015 09:26:42 -0800 Message-ID: Subject: Re: snapshotting key ranges To: "dev@hbase.apache.org" Content-Type: multipart/alternative; boundary=089e011833649cb2af050ee76db3 X-Virus-Checked: Checked by ClamAV on apache.org --089e011833649cb2af050ee76db3 Content-Type: text/plain; charset=UTF-8 Not a crazy idea at all :) It becomes very tractable if you are willing to allow keys to be munged to the nearest region boundary. The snapshot only considers the HFiles in each region and creates links to those files for the snapshot. So just capturing a subset of regions (as dictated by the 'hint' key ranges) would be reasonable. We might need a way to differentiate them from normal snapshots, but maybe not - if you supply key ranges, then its on you to know what you are doing with that snapshot. Would you ever want to restore only part of a table? Im not sure that even makes sense.... maybe restoring a chunk at a time? If the latter, then we will likely need to change the restore mechanics to make sure it works (but it may just work out the box, IIRC). we could do the process in batches Would you be willing to manage that your self or would you see this as something HBase would manage for you? ------------------- Jesse Yates @jesse_yates jyates.github.com On Thu, Feb 12, 2015 at 9:18 AM, rahul gidwani wrote: > Before proposing this idea, I would like to state I have recently had a > through psychiatric evaluation and I'm not crazy. > > We here at flurry land have some very large tables on the order of 1PB, 3PB > with dfs replication. We wanted to ship this table to another cluster > using snapshots. Problem is that the data will take weeks to ship and > during that time major compaction will happen and we will end up with > potentially double the data on our cluster. (We really don't want to turn > off major compaction because we will really suffer with reads). > > Additionally there is one really large CF that dominates this table. So to > mitigate this problem we were thinking that a user could pass in the key > ranges for a snapshot and we could do the process in batches. This might > also be useful for sampling data, or keys which are based on something like > timestamps, where you could archive certain portions of data known to be > stale. > > If people are interested we could get into more details about > implementation. > > Cheers > rahul > --089e011833649cb2af050ee76db3--