You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chukwa.apache.org by "Eric Yang (JIRA)" <ji...@apache.org> on 2015/01/11 23:46:34 UTC

[jira] [Commented] (CHUKWA-667) Optimize the HBase schema for Ganglia queris

    [ https://issues.apache.org/jira/browse/CHUKWA-667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14273080#comment-14273080 ] 

Eric Yang commented on CHUKWA-667:
----------------------------------

Resume progress on this issue.  We have learnt a few lessons on metrics schema design in the last couple years.  Monotonic increasing row key is bad for HBase region server.  We have built an alternate HBase schema, like this:

[group name].[date].[metric]:[primary key], and column family "m" and cell name "m".  This provides a way to prefix split of regions, but it also isn't great.  The advantage is to have one table for all type of metrics.  We observed that some group may have metrics growing faster than other group, therefore, the region split still need a lot of manual maintenance to prevent HBase from blowing up.

A new proposal is to change metrics schema design to partition by day of the month.  More than often that time series database have two requirements, fast lookup by time and fast lookup for the same metrics.  This means the row key need to have hints for partition by day and partition by primary key.  A improved schema can be generated by:

Table: [group name]
Row Key: [day:primary_key]
Column Family: [subgroup name]
Column: [metric name]
Timestamp: [actual timestamp]

Example of a Hadoop table would look like:

Table: Hadoop
Row Key: 13:host1.example.com
Column Family: HDFS
Column: datanode_bytes_read
Timestamp: 1234567890
Value: 123

Units, and metrics type can be stored in a secondary table for rendering and metadata lookup to reduce storage space.  Thoughts?

> Optimize the HBase schema for Ganglia queris
> --------------------------------------------
>
>                 Key: CHUKWA-667
>                 URL: https://issues.apache.org/jira/browse/CHUKWA-667
>             Project: Chukwa
>          Issue Type: Sub-task
>          Components: Data Processors
>    Affects Versions: 0.6.0
>            Reporter: Saisai Shao
>
> Chukwa HBase table schema is designed for HICC, it cannot be fully adapted to Ganglia web frontend for several reasons:
> (1) cannot fastly retrieve all the cluster and related host names.
> (2) system metrics have no attributes, like type, unit, so it is hard to explain the collected metrics by code.
> (3) lack of data cosolidate function, choosing metric for a large time range (like 30 days) will fetch all the data and draw graph, which will largely lose performance.
> We will redesign the table schema that will be better adapted to Ganglia web frontend queries.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)