Организация разработки баз данных - PullRequest
3 голосов
/ 10 октября 2008

Вопрос по проекту разработки БД. База данных уже существует и является довольно большой (несколько ТБ).

  1. Что вы используете для контроля версий при разработке БД?
  2. Как вы контролируете одновременные изменения в модели данных различными командами
  3. Каков ваш подход к модульному тестированию при разработке БД
  4. Как вы справляетесь с конфиденциальными данными, если владельцы БД не знают, что такое конфиденциальные данные? Как вы подходите к обфускации данных? Какие у вас методы запутывания?
  5. Как вы работаете с большой БД из нескольких мест?

Пожалуйста, ответьте на один или несколько вопросов по своему усмотрению. Каждый ответ будет рассмотрен отдельно. Большое спасибо!

EDIT: Смежный вопрос с хорошими ответами на стр. 1 находится здесь: Как настроить версию схемы базы данных?

Ответы [ 2 ]

2 голосов
/ 10 октября 2008

Для большинства из них, хотя инструменты не применяются, общие процессы разработки кода:

  • Ведение системы разработки отдельно от рабочей среды с достаточным количеством данных для получения полезных показателей производительности при тестировании новой модели
  • В этой системе написаны модульные тесты (SQL-запросы, коммиты, прерванные атомарные коммиты и т. Д.), Которые выполняются перед каждым выпуском.
  • Официальные релизы
  • База данных разработки - это сама система управления исходным кодом - другими словами, база данных моделируется и хранится в базе данных с помощью входов и отката и т. Д. Она является нетривиальной и не решает всех проблем, но, учитывая отсутствие хороших VCS для баз данных это работает.
  • Развертывания (после тестирования, интеграции и т. Д.) Состоят только из новой структуры базы данных, идущей на производственную площадку - таблицы моделирования там не реплицируются.
2 голосов
/ 10 октября 2008

Для 4: «Как вы поступаете с конфиденциальными данными, если владельцы БД не знают, что такое конфиденциальные данные? Как вы подходите к запутыванию данных?»

«Чувствительный, пока не доказано безобидное» - моя мантра. Если кто-то не обосновывает необходимость надлежащей защиты каких-либо данных от видимости (внутренней или внешней), тогда мой режим по умолчанию - защищать их.

В дальнейшем появляются случаи, когда мы будем открывать данные по причинам производительности, отчетности и т. Д., Но требуется документированное экономическое обоснование с соответствующими подписями.

...