MariaDB Federated FederatedX
У меня вопрос, чтобы узнать, какое решение лучше выбрать.
У меня есть две базы данных MariaDB на разных машинах в одной гигабитной сети, обе работают под управлением MariaDB 10.1.8 на centos 7
Одна - это веб-база данных, а другая - база данных FreeRadius.
Веб-база данных составляет около 8 ГБ, а с помощью рабочей среды я вижу около 18 записей InnoDB в секунду. Машина веб-базы данных имеет диск 50 ГБ, 8 Гб оперативной памяти, 4xCPU. На PRTG датчик выбора веб-базы данных задерживается в диапазоне 140 мс-203 мс.
База данных Radius составляет около 20 ГБ, а с помощью рабочей среды я вижу около 28 записей InnoDB в секунду. Машина базы данных Radius имеет диск 100 ГБ, 16 ГБ оперативной памяти, 6xCPU. На PRTG датчик выбора веб-базы данных задерживается в диапазоне от 140 мс до 300 мс.
Я думаю, что база данных Radius обычно используется чаще, чем веб-база данных.
Теперь вопрос в том, что мне нужно создать таблицу с посещениями пользователей по дням.
Мне нужно, чтобы эта таблица использовалась двумя базами данных и чтобы можно было вставлять данные с обеих машин.
Иногда веб-сервер будет вставлен первым, а иногда будет радиус-сервером, который их вставит. Radius Server выполнит большую часть вставок в эту таблицу. Это таблица, которую мне нужно заполнить
CREATE TABLE `visitas` (
`idUsuario` int(10) unsigned NOT NULL,
`idInstalacion` int(10) unsigned NOT NULL,
`fVisita` date DEFAULT NULL,
`tAcceso` varchar(25) DEFAULT NULL,
`nUpdates` int(10) unsigned NOT NULL,
UNIQUE KEY `Visitas` (`idUsuario`,`idInstalacion`,`fVisita`),
KEY `idUsuario` (`idUsuario`),
KEY `idInstalacion` (`idInstalacion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Итак, я создал TRIGGER на радиус-сервере для вставки при посещениях (с обновлением дублированного ключа). Это работает отлично.
DELIMITER $$;
create TRIGGER UpdateVisitas AFTER INSERT ON radacct
FOR EACH ROW
BEGIN
INSERT into visitas (
select u.department as idUsuario,u.company as idInstalacion,DATE(r.acctstarttime) as fVisita,'Radius' as tAcceso,0 as nUpdates from radacct r,userinfo u where r.username=u.username and r.radacctid=NEW.radacctid
) ON DUPLICATE KEY UPDATE visitas.tAcceso='Radius',nUpdates=(1+nUpdates) ;
END$$
Теперь вопрос мне нужно FEDERATEDX эту таблицу, чтобы иметь возможность вставлять с радиус-сервера и веб-сервера и соединяться с другими таблицами с веб-сервера.
Вставка будет производиться в основном из Radius, а выбор с объединениями для статистики будет производиться в основном из Интернета.
Итак, согласно всей этой информации, что лучше всего создать таблицу посещений на Radius Server и объединить ее на веб-сервере иным способом.
Дайте мне знать, если вам нужна дополнительная информация.
большое спасибо!.