Как совместить две достаточно объемные базы SQL, если одна из них обновляется каждую минуту?
Есть база MySQL, которая обновляется каждую минуты данными с биржы (цены, объемы и т д), у каждой строки есть свои уникальные id. И есть другая база в SQLLite (которая достаточно объемная), которую нужно впихнуть в MySQL базу максимально безболезненно и желательно без потери минут. В базах примерно по 200 таблиц (для каждой валюты своя), в каждой таблице по 9 колонок. В базе SQLLite около 200000 строк в каждой таблице. Для работы с базой использую SQLAlchemy. Тут даже не настолько важны технологии, насколько алгоритм действий. У меня есть у самого некоторые идеи, но мне кажется, есть какое-то элегантное решение, которое мне неизвестно, так как нет большого опыта в подобных вещах. И еще вопрос сразу. Как думаете для таких записей с временными отметками и данными мне нужны id? Я для себя решил, что не особо, но мало ли придется связывать с какой-нибудь таблицей. Просто если избавиться от id, процесс переноса несколько упрощается.
много текста, но мало исх. данных, у вас есть БД, которая рабочая и есть куча данных , аналогично тем что и приходят с биржы (те что в лайте) которые надо записать, вопрос то в чём ? чего вы опасаетесь ?
Алексей С., как мне их слить лучше? Вопрос в том, что айдишники в новой базе свои, а в старой свои. Новая база пополняется каждую минуту. Вот хочется слить эти две базы данных в одну без всяких потерь и с минимальными трудозатратами. Таблиц около 200 повторюсь. Не могу для себя сформировать четкий порядок действий, так как раньше такого не делал.
Лично я бы многопоточно INSERT'ами дописывал из второй базы в первую (если структура совпадает), самый безопасный способ, но признаю что в данном случае есть решения куда лучше - те же распределенные таблицы, про которые вам уже написали.
Arti Markelov, а так я уже решил через ORM это все конвертировать, скриптом который будет запускаться каждую минуту в промежутках между обновлением данных, каждый запуск-1 таблица. Решил пока так попробовать, если мои запросы будут обрабатываться секунд за 30
Не совсем понял, как мне это может помочь. Они вроде используются для связки одной таблицы с другой, как правило, удаленной. Как мне привязать к текущей базе не совсем понял. Чтобы данные как бы слились в единое целое.
hack_student, когда читал Ваш ответ, тоже пришла такая мысль, что можно с двух таблиц делать выборку, просто это lil bit hacky:) а что за методы шардирования?
Некто Белый, спасибо очень интересная статья. Но я все таки решил их попробовать пока объединить, есть одна идея, если получится, то так будет лучше. А как запасной 100% - ый вариант это конечно же подойдет.