Добавить условие в домен или эксперимент в перекрывающейся экспериментальной инфраструктуре? - PullRequest
0 голосов
/ 23 мая 2019

Я разрабатываю модель экспериментального фреймворка.Я внимательно прочитал статью об экспериментальной инфраструктуре Google Overlapping. Нужно ли добавлять условие в домен или эксперимент?

Я добавляю условие к эксперименту, потому что я думаю, что разделение трафика является сложным, чтобы добавить кодировку к домену. Но в статье Google говорится, что домен или эксперимент оба в порядке!

Это модель, которую я разработал.База данных Mysql 5.7:

CREATE TABLE `tbl_domain` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(128) NOT NULL,    
  `status` TINYINT DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

CREATE TABLE `tbl_layer` (
  `id` BIGINT NOT NULL AUTO_INCREMENT, 
  `name` VARCHAR(128) NOT NULL,
  `seed` BIGINT NOT NULL,
  `status` TINYINT DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

CREATE TABLE `tbl_domain_layer_relation` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `parent_id` BIGINT NOT NULL,
  `parent_type` VARCHAR(64) NOT NULL COMMENT 'domain/layer',
  `child_id` BIGINT NOT NULL, 
  `child_type` VARCHAR(64) NOT NULL COMMENT 'domain/layer',
  `status` TINYINT DEFAULT 0,  
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

CREATE TABLE `tbl_experiment` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `layer_id` BIGINT NOT NULL,
  `name` VARCHAR(128) NOT NULL,
  `description` VARCHAR(1024) NOT NULL, 
  `start_time` INT NOT NULL,
  `end_time` INT UNSIGNED NOT NULL,
  `condition` BLOB NOT NULL,
  `owner` VARCHAR(64) NOT NULL,
  `status` TINYINT DEFAULT 0,  
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

CREATE TABLE `tbl_group` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `experiment_id` BIGINT NOT NULL,
  `uniq_flag` VARCHAR(256) NOT NULL, 
  `status` TINYINT DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

Я хочу узнать о преимуществах добавления условия к домену или недостатке моей модели.

...