2016-01-22 3 views
0

На данный момент у меня есть небольшое приложение JavaFX, которое генерирует отчеты и статистику из данных на удаленном MySQL-сервере. Я использую EclipseLink для сохранения. Поскольку доступ доступен только для чтения, и данные не всегда должны быть свежими, я думал, что могу ускорить процесс, используя встроенную базу данных (H2), которая может быть синхронизирована с удаленным сервером, когда и когда пользователь захочет. Проблема в том, что я не знаю, как это сделать.Синхронизировать встроенную БД с удаленным DB

Что я до сих пор придумал, это выполнить mysqldump, сделать дамп удаленного сервера и выполнить результирующий SQL-скрипт локально. Это, безусловно, далека от элегантности, поэтому: есть ли патентное решение для этой задачи?

+0

Мы говорим о множестве таблиц и данных (или даже возможно много данных за это время)? – augustoccesar

+0

около 50 столов, около 100 МБ, но не особенно быстро растущих. –

ответ

0

Ну, у 50 таблиц есть значительное количество отношений, это может быть сложно ... Насколько я знаю, нет ничего, что автоматизировало бы это для вас или что-то в этом роде. Очень возможно, что вам придется создать свою собственную логику. Когда я делал что-то вроде того, что вы пытаетесь сделать, я использовал логику «последнего обновления», например, локальные данные имеют временную метку времени, когда она была последней синхронизирована с удаленным, а удаленные данные имеют временную метку последнего время, когда данные были обновлены там (сам на столе или даже отношение к нему, как «один-к-одному»). Имея эти данные, каждый раз, когда локальный пользователь вводит часть системы, которая может быть устаревшей, клиент подключается к серверу и проверяет, является ли временная метка last update больше, чем локальная синхронизированная метка времени, если да, то она обновляет полный объект и отношение , Я потратил некоторое время на разработку, но в конце работал как шарм. Возможно, есть и другой способ сделать это, но так было в то время. Надеюсь, он поможет вам в решении вашей проблемы.

Смежные вопросы