Минималистичное Администрирование базы данных

StackOverflow https://stackoverflow.com/questions/35357

  •  09-06-2019
  •  | 
  •  

Вопрос

Я разработчик.Архитектор в хорошие дни.Каким-то образом я обнаруживаю, что я также являюсь администратором базы данных в моей маленькой компании.У меня неплохой опыт работы с БД, но я никогда не был полноценным администратором базы данных.Мой вопрос заключается в том, что я должен сделать, чтобы обеспечить реалистичную и разумно функциональную среду базы данных с минимальными реальными усилиями, насколько это возможно?

Я уверен, что мне нужно убедиться, что резервное копирование выполняется, и это делается.Это очень простой вопрос.Что еще я должен делать на постоянной основе?

Это было полезно?

Решение

Кто еще задействован в работе с базой данных?Вы единственный человек, вносящий изменения в схему (создающий новые объекты, выпускающий новые хранимые процедуры, разрешающий доступ новым пользователям)?

  • Убедитесь, что количество пользователей, делающих все, что может повлиять на производительность, сведено к максимально возможному нулю, в идеале включая вас.
  • Убедитесь, что вы тестируете свои резервные копии - в идеале запустите блок разработки, который периодически воссоздает производственную среду, 1.блок разработки - хорошая идея, 2.резервная копия полезна только в том случае, если вы можете восстановить данные из нее.
  • Создавайте группы для различных приложений, которые подключаются к вашей базе данных, чтобы при появлении нового пользователя вы не догадывались, какие разрешения ему нужны, просто добавьте их в группу, одновременно разрешая объекты базы данных только тем группам, которые в них нуждаются
  • Используйте индексы, первичные ключи, внешние ключи, ограничения, статистику и любые другие инструменты, поддерживаемые вашей базой данных.Привести в норму.
  • Оптимизируйте наиболее распространенный код под свой собственный - плохие хранимые процедуры / код доступа к данным убьют вас.

Другие советы

Я был там.Раньше у меня была работа, на которой я писал код, занимался всей инфраструктурой, носил шапочку администратора базы данных, занимался поддержкой пользователей, чинил электрический степлер, когда его заклинивало, и все остальное, что могло быть отдаленно связано с ЭТИМ.Это было здорово!Я узнал обо всем понемногу.

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

  • Выполняйте регулярные полные резервные копии.

  • Выполняйте регулярные резервные копии журнала транзакций.

  • Следите за своими заданиями резервного копирования.На рынке есть множество относительно дешевых утилит, которые могут автоматизировать это за вас.В маленьком магазине вы часто слишком заняты чтобы не забывать проверять их ежедневно.

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

  • Храните резервные копии за пределами сайта.Сегодня существует множество поставщиков услуг онлайн-резервного копирования, и нет особого оправдания тому, что у вас нет резервной копии за пределами сайта.

  • Ограничьте доступ sa к вашим ящикам.

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

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

Я бы предложил:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top