● データの登録
Blackhawk
スキーマリポジトリ
(Zookeepr,HBaseなど)
Blackhawk
23
relation定義
schema定義
insert intoexample
values(‘foo’,’bar’,1000);
HBase
example
define relation example{
service string key,
action string key,
val number
};
define primary schema s_example for example{
table "example-metrics",
row suffix("-"){service}:{action}:,
family "f",
qualifier “”,
value val
};
RowKey Column value
24.
● データの登録
Blackhawk
スキーマリポジトリ
(Zookeepr,HBaseなど)
Blackhawk
24
relation定義
schema定義
insert intoexample
values(‘foo’,’bar’,1000);
HBase
example
define relation example{
service string key,
action string key,
val number
};
define primary schema s_example for example{
table "example-metrics",
row suffix("-"){service}:{action}:,
family "f",
qualifier “”,
value val
};
RowKey Column value
put ‘example-metrics’,’foo-bar’,’f:’,1000
25.
● データの登録
Blackhawk
スキーマリポジトリ
(Zookeepr,HBaseなど)
Blackhawk
25
relation定義
schema定義
insert intoexample
values(‘foo’,’bar’,1000);
HBase
example
RowKey Column value
foo-bar f: 1000
define relation example{
service string key,
action string key,
val number
};
define primary schema s_example for example{
table "example-metrics",
row suffix("-"){service}:{action}:,
family "f",
qualifier “”,
value val
};
put ‘example-metrics’,’foo-bar’,’f:’,1000
26.
● データの参照
Blackhawk
スキーマリポジトリ
(Zookeepr,HBaseなど)
Blackhawk
26
relation定義
schema定義
select *from example
where
service=’foo’ and action=’bar’;
HBase
example
RowKey Column value
foo-bar f: 1000
define relation example{
service string key,
action string key,
val number
};
define primary schema s_example for example{
table "example-metrics",
row suffix("-"){service}:{action}:,
family "f",
qualifier “”,
value val
};
スキーマ
61
SELECT
count(*) AS foo
FROM
flume(`.datetime`)DISTINCT ON `.uuid` FOR 10m
WHERE ` ... `
GROUP BY `{
user_id: .user_id,
device: .device
}`
PARTITION BY user_id
INTERVAL 1d
ZeroQL
ZeroQL
アクセス局所性のため、 PARTITION BY
user_id, page_idだったとしても、hashは
user_idだけを使うなど工夫している