mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-07 01:00:41 +00:00
255 lines
11 KiB
SQL
255 lines
11 KiB
SQL
--
|
|
-- Copyright 2015 LinkedIn Corp. All rights reserved.
|
|
--
|
|
-- Licensed under the Apache License, Version 2.0 (the "License");
|
|
-- you may not use this file except in compliance with the License.
|
|
-- You may obtain a copy of the License at
|
|
--
|
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
|
--
|
|
-- Unless required by applicable law or agreed to in writing, software
|
|
-- distributed under the License is distributed on an "AS IS" BASIS,
|
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
--
|
|
|
|
-- configuration tables
|
|
CREATE TABLE `wh_etl_job` (
|
|
`wh_etl_job_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
|
|
COMMENT 'id of the etl job',
|
|
`wh_etl_job_name` VARCHAR(127) NOT NULL
|
|
COMMENT 'etl job name',
|
|
`wh_etl_type` VARCHAR(127) DEFAULT NULL
|
|
COMMENT 'type of the etl service',
|
|
`cron_expr` VARCHAR(127) DEFAULT NULL
|
|
COMMENT 'frequency in crob expression',
|
|
`ref_id` SMALLINT(6) NOT NULL
|
|
COMMENT 'id of application/database where etl job runs',
|
|
`ref_id_type` ENUM('APP', 'DB') NOT NULL
|
|
COMMENT 'flag the ref_id is an application or a database',
|
|
`timeout` INT(11) DEFAULT NULL
|
|
COMMENT 'timeout in seconds for this etl job',
|
|
`next_run` INT(10) UNSIGNED DEFAULT NULL
|
|
COMMENT 'next run time',
|
|
`comments` VARCHAR(200) DEFAULT NULL,
|
|
`cmd_param` VARCHAR(500) DEFAULT ''
|
|
COMMENT 'command line parameters for launch the job',
|
|
`is_active` CHAR(1) DEFAULT 'Y'
|
|
COMMENT 'determine if this job is active or not',
|
|
PRIMARY KEY (`wh_etl_job_id`),
|
|
UNIQUE KEY `etl_unique` (`wh_etl_job_name`, `ref_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
AUTO_INCREMENT = 1
|
|
DEFAULT CHARSET = utf8
|
|
COMMENT = 'WhereHows ETL jobs table';
|
|
|
|
CREATE TABLE `wh_etl_job_execution` (
|
|
`wh_etl_exec_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT
|
|
COMMENT 'job execution id',
|
|
`wh_etl_job_id` INT(10) UNSIGNED DEFAULT NULL
|
|
COMMENT 'id of the etl job',
|
|
`status` VARCHAR(31) DEFAULT NULL
|
|
COMMENT 'status of etl job execution',
|
|
`request_time` INT(10) UNSIGNED DEFAULT NULL
|
|
COMMENT 'request time of the execution',
|
|
`start_time` INT(10) UNSIGNED DEFAULT NULL
|
|
COMMENT 'start time of the execution',
|
|
`end_time` INT(10) UNSIGNED DEFAULT NULL
|
|
COMMENT 'end time of the execution',
|
|
`message` VARCHAR(1024) DEFAULT NULL
|
|
COMMENT 'debug information message',
|
|
`host_name` VARCHAR(200) DEFAULT NULL
|
|
COMMENT 'host machine name of the job execution',
|
|
`process_id` INT UNSIGNED DEFAULT NULL
|
|
COMMENT 'job execution process id',
|
|
PRIMARY KEY (`wh_etl_exec_id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8
|
|
COMMENT = 'WhereHows ETL execution table';
|
|
|
|
CREATE TABLE `wh_etl_job_property` (
|
|
`id` INT(10) NOT NULL AUTO_INCREMENT,
|
|
`wh_etl_job_name` VARCHAR(127) NOT NULL
|
|
COMMENT 'etl job name',
|
|
`ref_id` SMALLINT(6) NOT NULL
|
|
COMMENT 'id of application/database where etl job runs',
|
|
`ref_id_type` ENUM('APP', 'DB') NOT NULL
|
|
COMMENT 'flag the ref_id is an application or a database',
|
|
`property_name` VARCHAR(127) NOT NULL
|
|
COMMENT 'property name',
|
|
`property_value` TEXT COMMENT 'property value',
|
|
`is_encrypted` CHAR(1) DEFAULT 'N'
|
|
COMMENT 'whether the value is encrypted',
|
|
`comments` VARCHAR(100) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `property_unique` (`wh_etl_job_name`, `ref_id`, `property_name`)
|
|
)
|
|
ENGINE = InnoDB
|
|
AUTO_INCREMENT = 1
|
|
DEFAULT CHARSET = utf8
|
|
COMMENT = 'Etl job configuration table';
|
|
|
|
CREATE TABLE `wh_property` (
|
|
`property_name` VARCHAR(127) NOT NULL
|
|
COMMENT 'property name',
|
|
`property_value` TEXT COMMENT 'property value',
|
|
`is_encrypted` CHAR(1) DEFAULT 'N'
|
|
COMMENT 'whether the value is encrypted',
|
|
`group_name` VARCHAR(127) DEFAULT NULL
|
|
COMMENT 'group name for the property',
|
|
PRIMARY KEY (`property_name`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8
|
|
COMMENT = 'WhereHows properties table';
|
|
|
|
CREATE TABLE `cfg_application` (
|
|
`app_id` SMALLINT UNSIGNED NOT NULL,
|
|
`app_code` VARCHAR(128) NOT NULL,
|
|
`description` VARCHAR(512) NOT NULL,
|
|
`tech_matrix_id` SMALLINT(5) UNSIGNED DEFAULT '0',
|
|
`doc_url` VARCHAR(512) DEFAULT NULL,
|
|
`parent_app_id` INT(11) UNSIGNED NOT NULL,
|
|
`app_status` CHAR(1) NOT NULL,
|
|
`last_modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
`is_logical` CHAR(1) DEFAULT NULL,
|
|
`uri_type` VARCHAR(25) DEFAULT NULL,
|
|
`uri` VARCHAR(1000) DEFAULT NULL,
|
|
`lifecycle_layer_id` TINYINT(4) UNSIGNED DEFAULT NULL,
|
|
`short_connection_string` VARCHAR(50) DEFAULT NULL,
|
|
PRIMARY KEY (`app_id`),
|
|
UNIQUE KEY `idx_cfg_application__appcode` (`app_code`) USING HASH
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE cfg_database (
|
|
db_id smallint(6) UNSIGNED NOT NULL,
|
|
db_code varchar(30) COMMENT 'Unique string without space' NOT NULL,
|
|
primary_dataset_type varchar(30) COMMENT 'What type of dataset this DB supports' NOT NULL DEFAULT '*',
|
|
description varchar(128) NOT NULL,
|
|
is_logical char(1) COMMENT 'Is a group, which contains multiple physical DB(s)' NOT NULL DEFAULT 'N',
|
|
deployment_tier varchar(20) COMMENT 'Lifecycle/FabricGroup: local,dev,sit,ei,qa,canary,preprod,pr' NULL DEFAULT 'prod',
|
|
data_center varchar(200) COMMENT 'Code name of its primary data center. Put * for all data cen' NULL DEFAULT '*',
|
|
associated_dc_num tinyint(4) UNSIGNED COMMENT 'Number of associated data centers' NOT NULL DEFAULT '1',
|
|
cluster varchar(200) COMMENT 'Name of Fleet, Group of Servers or a Server' NULL DEFAULT '*',
|
|
cluster_size smallint(6) COMMENT 'Num of servers in the cluster' NOT NULL DEFAULT '1',
|
|
extra_deployment_tag1 varchar(50) COMMENT 'Additional tag. Such as container_group:HIGH' NULL,
|
|
extra_deployment_tag2 varchar(50) COMMENT 'Additional tag. Such as slice:i0001' NULL,
|
|
extra_deployment_tag3 varchar(50) COMMENT 'Additional tag. Such as region:eu-west-1' NULL,
|
|
replication_role varchar(10) COMMENT 'master or slave or broker' NULL,
|
|
jdbc_url varchar(1000) NULL,
|
|
uri varchar(1000) NULL,
|
|
short_connection_string varchar(50) COMMENT 'Oracle TNS Name, ODBC DSN, TDPID...' NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(db_id),
|
|
UNIQUE KEY `uix_cfg_database__dbcode` (db_code) USING HASH
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8
|
|
COMMENT = 'Abstract different storage instances as databases' ;
|
|
|
|
|
|
CREATE TABLE stg_cfg_object_name_map (
|
|
object_type varchar(100) NOT NULL,
|
|
object_sub_type varchar(100) NULL,
|
|
object_name varchar(350) NOT NULL,
|
|
object_urn varchar(350) NULL,
|
|
object_dataset_id int(11) UNSIGNED NULL,
|
|
map_phrase varchar(100) NULL,
|
|
is_identical_map char(1) NULL DEFAULT 'N',
|
|
mapped_object_type varchar(100) NOT NULL,
|
|
mapped_object_sub_type varchar(100) NULL,
|
|
mapped_object_name varchar(350) NOT NULL,
|
|
mapped_object_urn varchar(350) NULL,
|
|
mapped_object_dataset_id int(11) UNSIGNED NULL,
|
|
description varchar(500) NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(object_name, mapped_object_name),
|
|
KEY idx_stg_cfg_object_name_map__mappedobjectname (mapped_object_name) USING BTREE
|
|
)
|
|
ENGINE = InnoDB
|
|
CHARACTER SET latin1
|
|
COLLATE latin1_swedish_ci
|
|
COMMENT = 'Map alias (when is_identical_map=Y) and view dependency' ;
|
|
|
|
CREATE TABLE cfg_object_name_map (
|
|
obj_name_map_id int(11) AUTO_INCREMENT NOT NULL,
|
|
object_type varchar(100) NOT NULL,
|
|
object_sub_type varchar(100) NULL,
|
|
object_name varchar(350) NOT NULL COMMENT 'this is the derived/child object',
|
|
map_phrase varchar(100) NULL,
|
|
object_dataset_id int(11) UNSIGNED NULL COMMENT 'can be the abstract dataset id for versioned objects',
|
|
is_identical_map char(1) NOT NULL DEFAULT 'N' COMMENT 'Y/N',
|
|
mapped_object_type varchar(100) NOT NULL,
|
|
mapped_object_sub_type varchar(100) NULL,
|
|
mapped_object_name varchar(350) NOT NULL COMMENT 'this is the original/parent object',
|
|
mapped_object_dataset_id int(11) UNSIGNED NULL COMMENT 'can be the abstract dataset id for versioned objects',
|
|
description varchar(500) NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(obj_name_map_id),
|
|
KEY idx_cfg_object_name_map__mappedobjectname (mapped_object_name) USING BTREE,
|
|
CONSTRAINT uix_cfg_object_name_map__objectname_mappedobjectname UNIQUE (object_name, mapped_object_name)
|
|
)
|
|
ENGINE = InnoDB
|
|
CHARACTER SET latin1
|
|
AUTO_INCREMENT = 1
|
|
COMMENT = 'Map alias (when is_identical_map=Y) and view dependency. Always map from Derived/Child (object) back to its Original/Parent (mapped_object)' ;
|
|
|
|
|
|
CREATE TABLE cfg_deployment_tier (
|
|
tier_id tinyint(4) NOT NULL,
|
|
tier_code varchar(25) COMMENT 'local,dev,test,qa,stg,prod' NOT NULL,
|
|
tier_label varchar(50) COMMENT 'display full name' NULL,
|
|
sort_id smallint(6) COMMENT '3-digit for group, 3-digit within group' NOT NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(tier_id),
|
|
UNIQUE KEY uix_cfg_deployment_tier__tiercode (tier_code)
|
|
)
|
|
ENGINE = InnoDB
|
|
AUTO_INCREMENT = 0
|
|
COMMENT = 'http://en.wikipedia.org/wiki/Deployment_environment';
|
|
|
|
|
|
CREATE TABLE cfg_data_center (
|
|
data_center_id smallint(6) NOT NULL DEFAULT '0',
|
|
data_center_code varchar(30) NOT NULL,
|
|
data_center_name varchar(50) NOT NULL,
|
|
time_zone varchar(50) NOT NULL,
|
|
city varchar(50) NOT NULL,
|
|
state varchar(25) NULL,
|
|
country varchar(50) NOT NULL,
|
|
longtitude decimal(10,6) NULL,
|
|
latitude decimal(10,6) NULL,
|
|
data_center_status char(1) COMMENT 'A,D,U' NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(data_center_id),
|
|
UNIQUE KEY uix_cfg_data_center__datacentercode (data_center_code)
|
|
)
|
|
ENGINE = InnoDB
|
|
AUTO_INCREMENT = 0
|
|
COMMENT = 'https://en.wikipedia.org/wiki/Data_center' ;
|
|
|
|
|
|
CREATE TABLE cfg_cluster (
|
|
cluster_id smallint(6) NOT NULL DEFAULT '0',
|
|
cluster_code varchar(80) NOT NULL,
|
|
cluster_short_name varchar(50) NOT NULL,
|
|
cluster_type varchar(50) NOT NULL,
|
|
deployment_tier_code varchar(25) NOT NULL,
|
|
data_center_code varchar(30) NULL,
|
|
description varchar(200) NULL,
|
|
last_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY(cluster_id),
|
|
UNIQUE KEY uix_cfg_cluster__clustercode (cluster_code)
|
|
)
|
|
COMMENT = 'https://en.wikipedia.org/wiki/Computer_cluster' ;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS cfg_search_score_boost (
|
|
`id` INT COMMENT 'dataset id',
|
|
`static_boosting_score` INT COMMENT 'static boosting score for elastic search',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = latin1;
|