Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E5532CD26 for ; Mon, 19 Jan 2015 00:49:35 +0000 (UTC) Received: (qmail 24453 invoked by uid 500); 19 Jan 2015 00:49:36 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 24387 invoked by uid 500); 19 Jan 2015 00:49:36 -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 24086 invoked by uid 99); 19 Jan 2015 00:49:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2015 00:49:35 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests= X-Spam-Check-By: apache.org Received-SPF: unknown (athena.apache.org: error in processing during lookup of taeyun.kim@innowireless.co.kr) Received: from [59.12.193.91] (HELO MAIL1.innowireless.co.kr) (59.12.193.91) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2015 00:49:28 +0000 Received: from INNOC358 (218.154.28.88) by MAIL1.innowireless.co.kr (59.12.193.91) with Microsoft SMTP Server id 14.3.195.1; Mon, 19 Jan 2015 09:47:48 +0900 From: Taeyun Kim To: References: <54B98148.6080506@gmail.com> In-Reply-To: <54B98148.6080506@gmail.com> Subject: RE: general question about datamodel => empty columns Date: Mon, 19 Jan 2015 09:48:39 +0900 Message-ID: <01a601d03381$aa212100$fe636300$@innowireless.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQH1KH8qoNdkKv/H5GV0V3ASxcN6XZx8r28g Content-Language: ko X-Originating-IP: [218.154.28.88] X-Virus-Checked: Checked by ClamAV on apache.org Hi, (Warning: I'm kind of a newbie...)=20 I would make the tables as follows: row1: type1 + foo row2: type2 + bar row3: type1 + baz row4: type2 + whatever type1 + row1: foo type1 + row3: baz type2 + row2: bar type2 + row4: whatever Not needed Cheers. -----Original Message----- From: Wilm Schumacher [mailto:wilm.schumacher@gmail.com]=20 Sent: Saturday, January 17, 2015 6:23 AM To: user@hbase.apache.org Subject: general question about datamodel =3D> empty columns Hi, I run into a problem , which I encounter several times by now and = perhaps you can help me. What should I include in tables where just the qualifier is needed? E.g. in indexing you have to make the reference of the index either by = columns, or by rows in the index table. But in this way, there is no = data to put into the table. An example for clarification: Suppose you want to make an index for another table which indexes = something like "type of entry". row1 data:type =3D> type1 , data:data =3D> foo row2 data:type =3D> type2 , data:data =3D> bar row3 data:type =3D> type1 , data:data =3D> baz row4 data:type =3D> type2 , data:data =3D> whatever indexing 1: indexing by columns type1 index:row1 =3D> ??? , index:row2 =3D> ??? type2 index:row2 =3D> ??? , index:row4 =3D> ??? indexing 2: indexing by rows type1-row1 ??:?? =3D> ?? type1-row3 ??:?? =3D> ?? type2-row2 ??:?? =3D> ?? type2-row3 ??:?? =3D> ?? works if there is any column family file to scan. Thus I need data. either way ... I actually have to put data where it is'n needed. What should I do to insert into the columns? By now I mostly use the = timestamp of creation, which in my opinion is quite stupid, as I have = the timestamp in the column right away. This only would waste space. I = could use empty strings (bytes), which will work, but somehow feels = wrong. What are you using? Is empty string/useless timestamp common practice? Best wishes, Wilm