Как избежать sym_tables в базе данных на стороне ведомого устройства в конфигурации симметричных Ds?

У меня есть главный узел и вспомогательный узел, работающие в одной и той же системе, реплицирующие от главного к подчиненному, когда я запускаю систему, она будет генерировать sym_tables как на главном, так и на подчиненных узлах. Действительно ли это необходимо для работы в одностороннем режиме репликации. я попытался добавить следующие свойства на ведомой стороне

auto.config.database=false

но он останавливает саму синхронизацию и мои записи в мастер-таблицах sym_ следующим образом

delete from sym_trigger_router;
delete from sym_trigger;
delete from sym_router;
delete from sym_channel where channel_id in ('item');
delete from sym_node_group_link;
delete from sym_node_group;
delete from sym_node_host;
delete from sym_node_identity;
delete from sym_node_security;
delete from sym_node;



insert into sym_channel 
(channel_id, processing_order, max_batch_size, enabled, description)
values('item', 1, 100000, 1, 'Item and pricing data');

insert into sym_node_group (node_group_id) values ('corp');
insert into sym_node_group (node_group_id) values ('store');

insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) values ('corp', 'store', 'W');
insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) values ('store', 'corp', 'P');



insert into sym_trigger 
(trigger_id,source_table_name,channel_id,last_update_time,create_time)
values('item','item','item',current_timestamp,current_timestamp);



insert into sym_router 
(router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time)
values('corp_2_store', 'corp', 'store', 'default',current_timestamp, current_timestamp);

insert into sym_router 
(router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time)
values('store_2_corp', 'store', 'corp', 'default',current_timestamp, current_timestamp);



insert into sym_trigger_router 
(trigger_id,router_id,initial_load_order,last_update_time,create_time)
values('item','corp_2_store', 100, current_timestamp, current_timestamp);



insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id) 
 values ('000','corp','000',1,null,null,null,null,null,current_timestamp,null,0,0,'000');
insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id) 
 values ('001','store','001',1,null,null,null,null,null,current_timestamp,null,0,0,'000');



insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id) 
 values ('000','5d1c92bbacbe2edb9e1ca5dbb0e481',0,current_timestamp,0,current_timestamp,'000');
insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id) 
 values ('001','5d1c92bbacbe2edb9e1ca5dbb0e481',1,null,1,null,'000');


insert into sym_node_identity values ('000');

если подчиненная сторона не требует sym_tables, пожалуйста, помогите мне избежать

заранее спасибо


person amicos    schedule 24.11.2017    source источник


Ответы (2)


Вы говорите о sym_, а не о sys_ таблицах, не так ли?

Да, вам нужны sym_ таблицы на целевом узле. Например, без sym_node ваш целевой узел не сможет зарегистрироваться и провести регистрацию на исходном узле. sym_incoming_batch содержит все пакеты данных, синхронизированные с целевым сервером и т. д.

person Boris Pavlović    schedule 24.11.2017

auto.config.database просто сообщает SymmetricDS, что вы собираетесь самостоятельно управлять созданием и обслуживанием таблиц SymmetricDS. Они по-прежнему требуются. Однако вы можете поместить таблицы SymmetricDS в другой каталог (базу данных), чем целевые таблицы.

Существует также недокументированная функция для настройки универсального загрузчика данных jdbc и использования небольшой локальной базы данных H2 в качестве базы данных SymmetricDS. Этот параметр предназначен только для односторонней синхронизации с клиентом.

person chenson42    schedule 24.11.2017