Решение для синхронизации данных? - PullRequest
0 голосов
/ 20 апреля 2010

Из-за некоторых проблем с безопасностью я нахожусь в ситуации, когда сторонние приложения не могут получить доступ к моей БД. По этой причине у меня должен быть какой-то сервис / инструмент / скрипт (не знаю, что еще ... я открыт для лучшего варианта, все еще читаю, чтобы увидеть, что я собираюсь сделать ...) что позволяет мне генерировать на регулярной основе (ежедневно, еженедельно, ежемесячно) некоторый CSV-файл со всеми новыми / измененными записями для определенного приложения.

Я должен иметь возможность автоматизировать этот процесс, а также в любой момент экспортировать новый файл. Таким образом, он должен отслеживать для каждого приложения, какие записи ему все еще нужны.

Каждому приложению потребуются некоторые данные в каком-то другом формате (csv / xls / sql), также некоторые поля будут необходимы для некоторых приложений, а некоторые нет ... Это должно быть достаточно гибким ...

Какой для меня лучший вариант? Создание пользовательских таблиц для каждого приложения? На основании чего извлекаются измененные данные?

1 Ответ

0 голосов
/ 20 апреля 2010

Я думаю, что вам здесь лучше, если у вас есть доступ к серверу, чтобы вы могли настроить его, - это создать небольшую программу командной строки, которая сможет выполнить простую задачу, которая вам нужна. Такие языки, как жемчуг, хороши для такого рода вещей, которым я верю.

Когда у вас есть этот «инструмент», вы можете запланировать его запуск через ОС сервера на любое установленное количество времени. Задача расписания для сервера Windows или cronjob для сервера Linux.

Вы также можете (без необходимости настраивать запланированное задание, если вы не хотите / не хотите этого) разрешить вызов этого небольшого приложения командной строки через 'CGI', это особый способ включения приложений. сервер будет выполнен по желанию веб-пользователем. Если вы все же включите это, я предлагаю вам добавить какую-то систему блокировки, чтобы ее можно было запускать только время от времени и чтобы она не запускалась пять раз за один раз.

EDIT

Возможно, вы захотите просто посмотреть на репликацию базы данных или добавить пользователей только для чтения. Это спасает множество проблем вокруг. Попробуйте найти решение, которое не будет разделять или дублировать данные. Вы можете настроить пользователей на доступ к определенным частям системы базы данных только определенным образом, например, к данным SELECT

...