Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием / 16 сообщений из 16, страница 1 из 1
04.05.2015, 23:17:31
    #38951307
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Доброе время суток форумчане,
Интересует такой вопрос:
Каким образом можно сделать перенос данных таблицы одной БД (РБД) из другой БД (РБД) с промежуточным их преобразованием.
Существует распределенка, в ней есть БД1 с таблица1 (с полями «поле1», «поле2», «поле3»), а также БД2 с таблица2 (с полями «поле1», «поле2»).
Нужно данные из таблица1 перенести в таблица2, с объединением данных (при переносе):
«поле1» (таблица1), в «поле1» (таблица2) и
«поле2» + «поле3» (таблица1) в «поле2» (таблица2)

СУБД - MySQL

Заранее спасибо
...
Рейтинг: 0 / 0
05.05.2015, 00:08:17
    #38951320
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Если под словом "БД" подразумевается схема, то примерно так:
Код: sql
1.
INSERT INTO db2.table2 (field1, filed2) SELECT field1, field2+field3 FROM db1.table1
...
Рейтинг: 0 / 0
05.05.2015, 00:21:46
    #38951327
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
под абривиатурой БД, подразумевается база данных (которые находится на разных машинах)
...
Рейтинг: 0 / 0
05.05.2015, 00:27:20
    #38951329
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Kos-2010под абривиатурой БД, подразумевается база данных (которые находится на разных машинах)А, т.е. разные инстансы.
Тогда движок FEDERATED + мой запрос выше.
...
Рейтинг: 0 / 0
05.05.2015, 19:56:52
    #38952125
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
miksoftА, т.е. разные инстансы.
Тогда движок FEDERATED + мой запрос выше.

Т.е. если я вас правильно понял, просто нужно включить FEDERATED (через "my.cnf"). - Я его включил (т.е. по запросу "mysql > SHOW STORAGE ENGINES;" в таблице напротив "FEDERATED", появилось "YES")


А вот далее...,
В своем клиент-приложении, я использую для данных, компонент TADOQuery,
и мне просто в этом компоненте нужно написать (ну конечно запрос будет выглядеть немного поиному)
Код: pascal
1.
2.
3.
4.
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add('INSERT INTO db2.table2 (field1, filed2) SELECT field1, field2+field3 FROM db1.table1');
  Query.ExecSQL;



Правильно?
...
Рейтинг: 0 / 0
05.05.2015, 20:01:32
    #38952129
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Kos-2010,

Почти так. Только между этими действиями еще нужно создать таблицы-линки на удаленные таблицы. См. How to Create FEDERATED Tables .
...
Рейтинг: 0 / 0
05.05.2015, 20:17:49
    #38952136
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
перед проработкой данной ссылки я хочу более или менее представлять картину.
т.е. у меня в результате будет
база+таблица (источник (у меня уже есть)),
база+таблица (приемник (у меня уже есть)),
и связывающая таблица?
...
Рейтинг: 0 / 0
05.05.2015, 20:23:50
    #38952141
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
В целом да.
Kos-2010и связывающая таблица?Ну технически это не таблица. Это просто некое оглавление таблицы с указанием, что брать данные "там".
Но с точки зрения SQL-запросов это будет выглядеть как обычная таблица.
...
Рейтинг: 0 / 0
05.05.2015, 21:49:59
    #38952187
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
У меня пока все 3 БД распределенной базы данных, на одной машине.

Я все проделал, т.е. взял структуру таблицы-источника (в sql), в PhpMyAdmin открыл БД таблицу-приемника, провел скрипт, и о чудо, у меня в БД-приемнике оказалась таблица-источник с данными :-)
Вопрос:
- зачем мне тогда проводить запрос (см. выше), если я могу на клиент-приложении с помощью ADOQuery, просто выводить данные промежуточной таблицы (созданной с помощью FEDERATED)?

Или я чего то непонимаю?
...
Рейтинг: 0 / 0
05.05.2015, 21:52:30
    #38952189
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
А я для чего-то специально на серверном приложении кнопку делал ("Обновить данные") называется :-)
Теперь все это оказалось не нужным :-(
...
Рейтинг: 0 / 0
05.05.2015, 22:37:14
    #38952219
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Kos-2010,

Не все так просто. У FEDERATED тоже есть свои недостатки. Например, он требует постоянного наличия связи. Не помню, что там насчет индексов - в худшем случае можно нарваться на полное копирование всех данных таблицы при каждом выполнении SQL-запроса. Ну и задержки/пропускная полоса канала тоже могут играть роль ограничивающих факторов.

Как вариант, посмотрите на репликации. Это примерно ваша же синхронизация данных, только с помощью встроенных механизмов в MySQL.

Окончательный выбор зависит от всей архитектуры системы, ее задач и целей.
...
Рейтинг: 0 / 0
06.05.2015, 01:08:36
    #38952265
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Даже не знаю, у меня выбрана стратегия расчленения.
Т.е. предполагается что связь между отдельными БД (РБД), будет не постоянной, т.е. была закладывалась такая мысля, что связь будет временная, только на время обновления данных и все (чтоб не грузить сеть).

Т.е. на одном сервере (БД1) внесли или отредактировали данные, нажали кнопку и эти данные ушли в другие две БД (БД2 и БД3) и все.
Отсюда,
я не совсем понимаю (исходя из технологии FEDERATED), как оператор работая с БД1 (клиент1) (при этом не работая с данными БД2 и БД3), сможет обновить данные на БД2 (клиент2) и БД3 (клиент3).
Ведь запускать скрипт обновления (см. выше), у меня получается только находясь на клинт2 и клиент3?
...
Рейтинг: 0 / 0
06.05.2015, 02:11:56
    #38952274
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
т.е. уточню
оператор1 клиента1 обновил данные в БД1, эти данные, через связывающую таблицу, сразу обновились в БД2 и БД3 в FEDERATED-таблицах.
Чтоб не загружать сеть, команда оператора1 каким-то образом, должна выполнить скрип (см. выше), по обновлению физической таблицы в БД2 и БД3 (используя FEDERATED-таблицу), и прервать связь между серверами.
...
Рейтинг: 0 / 0
06.05.2015, 22:24:55
    #38953100
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Наверно техника " репликации " мне больше подойдет под мою задачу.
Только мне не очень понятно: все процессы репликации например , запускаются с командной строки.
А я хочу это сделать с помощью кнопки в приложении.
Хотя каким-то образом можно при нажатии кнопки, передавать команды в комадную строку?
...
Рейтинг: 0 / 0
06.05.2015, 23:34:20
    #38953123
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Kos-2010,

Все те же самые команды можно отправлять и через TQuery (или как он там в ваших компонентах называется).
...
Рейтинг: 0 / 0
07.05.2015, 01:12:34
    #38953157
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
miksoft,

Спасибо за подсказки
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]