2013-03-21 2 views
-2

Позвольте мне объяснить проблему. Итак, есть база данных, которая имеет решающее значение для многих приложений, и мне нужно сохранить ее в безопасности. Кроме того, я не хочу напрямую обращаться к этой базе данных. Я думаю об использовании материализованного представления. Это хорошее решение? Мне нужны некоторые советы о том, как сохранить основную базу данных в безопасности и синхронизироваться.java web security

, приветствия.

ответ

0

Что именно вы хотите сделать? Нужно ли всем приложениям писать в базе данных? Если не для использования только для чтения, вы можете использовать View в своей базе данных.

В противном случае лучший способ сохранить безопасность своей базы данных - использовать ограничение при создании таблицы.

+0

Чтобы быть более конкретным, наша команда боится получить доступ к основной базе данных напрямую, поскольку она может сделать данные менее безопасными. Вот почему мы размышляем о том, чтобы использовать материализованные представления, чтобы не получить доступ к основной базе данных. Вы видите наши баллы? Мы просто хотим сохранить основную базу данных более безопасной, потому что она важна для многих других приложений. Несмотря на то, что у нас есть резервная копия, простой в восстановлении этой базы данных будет нежелательным. Даже приложение предотвращает выполнение SQL-инъекций, мы боимся, что любая проблема возникает из-за уязвимости системы безопасности. Спасибо за помощь! –

+0

Хорошо, я понимаю, но рано или поздно вам придется дублировать данные из материализованного представления в таблицу. Материализованное представление гораздо больше используется для получения большей производительности, чем для обеспечения безопасности. – Tako

0

Я бы использовал другой подход. Сделайте копию своей базы данных и используйте приложение против этой копии во время фазы QA/Pilot. Как только вы узнаете, что ваше приложение стабильно и не представляет проблемы безопасности или стабильности, вы можете начать использовать свою производственную базу данных.

Добавление материализованного представления, вероятно, будет трудным для работы, поскольку вам нужно будет проверять каждое обновление перед ручной синхронизацией с основной базой данных. И поскольку будет значительная задержка между обновлениями и синхронизацией, вы столкнетесь с потенциальными проблемами столкновения.

+0

gotcha! Спасибо! –