Files
AWatch-rus/clickhouse-workforce/clickhouse/init/02_dimensions_dictionaries.sql
T

146 lines
3.3 KiB
SQL

CREATE TABLE IF NOT EXISTS aw_workforce.dim_workstation_user
(
host_name String,
user_login String,
user_domain String,
employee_id String,
employee_name String,
department String,
branch String,
position String,
source LowCardinality(String),
is_active UInt8 DEFAULT 1,
updated_at DateTime DEFAULT now()
)
ENGINE = ReplacingMergeTree(updated_at)
ORDER BY (host_name, user_login);
CREATE TABLE IF NOT EXISTS aw_workforce.dim_application_category
(
process_name String,
application_name String,
vendor String,
category LowCardinality(String),
productivity_class LowCardinality(String),
risk_level LowCardinality(String),
is_system UInt8 DEFAULT 0,
is_active UInt8 DEFAULT 1,
source LowCardinality(String),
comment String,
updated_at DateTime DEFAULT now()
)
ENGINE = ReplacingMergeTree(updated_at)
ORDER BY process_name;
CREATE TABLE IF NOT EXISTS aw_workforce.dim_domain_category
(
domain String,
site_name String,
category LowCardinality(String),
productivity_class LowCardinality(String),
risk_level LowCardinality(String),
business_allowed UInt8 DEFAULT 0,
source LowCardinality(String),
comment String,
is_active UInt8 DEFAULT 1,
updated_at DateTime DEFAULT now()
)
ENGINE = ReplacingMergeTree(updated_at)
ORDER BY domain;
CREATE TABLE IF NOT EXISTS aw_workforce.dim_url_rule
(
rule_id String,
domain String,
path_pattern String,
category LowCardinality(String),
productivity_class LowCardinality(String),
risk_level LowCardinality(String),
priority UInt16 DEFAULT 100,
is_active UInt8 DEFAULT 1,
comment String,
updated_at DateTime DEFAULT now()
)
ENGINE = ReplacingMergeTree(updated_at)
ORDER BY (domain, priority, rule_id);
DROP DICTIONARY IF EXISTS aw_workforce.dict_workstation_user;
CREATE DICTIONARY aw_workforce.dict_workstation_user
(
host_name String,
user_login String,
user_domain String,
employee_id String,
employee_name String,
department String,
branch String,
position String,
is_active UInt8
)
PRIMARY KEY host_name, user_login
SOURCE(CLICKHOUSE(
USER 'aw_workforce_dict'
PASSWORD ''
DB 'aw_workforce'
TABLE 'dim_workstation_user'
))
LAYOUT(COMPLEX_KEY_HASHED())
LIFETIME(MIN 3600 MAX 86400);
DROP DICTIONARY IF EXISTS aw_workforce.dict_application_category;
CREATE DICTIONARY aw_workforce.dict_application_category
(
process_name String,
application_name String,
vendor String,
category String,
productivity_class String,
risk_level String,
is_system UInt8,
is_active UInt8
)
PRIMARY KEY process_name
SOURCE(CLICKHOUSE(
USER 'aw_workforce_dict'
PASSWORD ''
DB 'aw_workforce'
TABLE 'dim_application_category'
))
LAYOUT(HASHED())
LIFETIME(MIN 3600 MAX 86400);
DROP DICTIONARY IF EXISTS aw_workforce.dict_domain_category;
CREATE DICTIONARY aw_workforce.dict_domain_category
(
domain String,
site_name String,
category String,
productivity_class String,
risk_level String,
business_allowed UInt8,
is_active UInt8
)
PRIMARY KEY domain
SOURCE(CLICKHOUSE(
USER 'aw_workforce_dict'
PASSWORD ''
DB 'aw_workforce'
TABLE 'dim_domain_category'
))
LAYOUT(HASHED())
LIFETIME(MIN 3600 MAX 86400);