2
votes

Hi I am new to hbase and want to ask about columns and column families.

Its my assignment and I am stuck in design for this. I have to save month names in hbase in different formats and in different languages. Every record should have:

lang_id,
format,
language,
translation.

Now lang_id for:

January=1, 
February=2
 ......

format can be:

full(means January)
3figure(means Jan)

langauge can be:

eng
arabic
urdu
etc...

Now translation will have further columns like:

id
content
timestamp

id means id of translation

content is the actual data

e.g for lang_id =1 format=full language =english
the content should store January

e.g for lang_id =1 format=3figure language =english
the content should store Jan

Now i am stuck in the design. That what columns should i make and what column families. lang_id,format, language, translation But translation will again have some more columns... id,content,timestamp

Any help with an example will be very appreciative.

1
Please tidy up your question a bit, it looks like u have missing spaces. Its difficult to understand the problem. Add some formatting, bullet points etc. Also surely there has to be a use case, without a use case any design is valid.samthebest
I have edited the question and tried to make it clear sir. Any help would be very helpful sir.Mr37037
Thx. Why not have all 6 fields as columns? Im not sure I understand what id and lang_id are. Is lang_id an integer? Or the string Feburary=1? Why is it called lang_id not month_id? Why is this assignment supposed to use HBase when it seems month-language data is tiny; HBase is a Big Data db.samthebest

1 Answers

0
votes

I think storing just 12 rows/months, or even several years of year/month combinations (or x times the number of languages) in Hbase is a mistake. Hbase is designed to handle millions/billions of rows, you are contemplating it as store for a small reference table.

The overhead of handling this data in Hbase is simply too large. I would just use a RDBMS