Что на самом деле делает администратор базы данных (DBA)?

17.08.21

База данных - Администрирование СУБД

От переводчика: публикация составлена по материалам BrentOzar.com (Brent Ozar).

Сайту BrentOzar.com 20 лет - отметим это событие очередным постом, который мог бы опубликовать десять или двадцать лет назад или в будущем, спустя десять лет…

DBA обеспечивает резервное копирование баз данных, их правильную настройку, исправление, безопасность и быструю работу.

Я объясняю свою работу знакомым, говоря: «Вы знаете, как некоторые веб-сайты работают очень медленно, и время их проверки истекает, или они теряют ваши данные? Я несу ответственность за то, чтобы этих проблем не возникало. Я не единственный вовлеченный человек – есть также разработчики и инженеры, – но я несу ответственность за ту часть, которая хранит ваши данные, такие как ваш профиль, ваши заказы, история ваших посещений и все данные, которые компании собирали о вас. Я не уверен, что должен произносить эту последнюю часть вслух.»

В должностные обязанности DBA входит:

  • Контроль, что резервное копирование всех серверов баз данных выполнено таким образом, чтобы оно соответствовало целям точки восстановления предприятия (RPO).
  • Тест резервных копий, чтобы убедиться, что мы сможем выполнить задачи по времени восстановления бизнеса (RTO).
  • Устранение неполадок в работе службы баз данных по мере их возникновения, включая нерабочие часы и выходные дни
  • Настройка утилит мониторинга, чтобы свести к минимуму ложные сигналы тревоги
  • Выбор: следует ли использовать кластеризацию, доставку журналов, зеркальное отображение, Windows Azure или другие технологии
  • Установка и настройка новых серверов баз данных
  • Исправление существующих серверов баз данных
  • Развертывание сценариев изменения базы данных, предоставляемых сторонними поставщиками
  • При возникновении проблем с производительностью, поиск наиболее эффективного способа повышения производительности, включая покупку оборудования, изменения конфигурации сервера или изменения индекса/запроса
  • Документация среды баз данных компании
  • Снижение затраты компании на хостинг за счет настройки производительности, консолидации и изменения размеров

Почему так важен администратор базы данных?

Когда база данных выходит из строя, бизнес останавливается. Если вы продаете вещи онлайн, и ваш веб-сайт выходит из строя, это чрезвычайная ситуация. Даже если он не работает – если он просто замедляется – это тоже может быть чрезвычайной ситуацией. DBA помогают предотвратить эту проблему.

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

Где работают DBA?

Поскольку DBA занимаются защитой важных данных, вы найдете их везде, где важны данные – и в наши дни это везде! Однако в большинстве компаний, имеющих всего 1-2 базы данных, недостаточно работы, чтобы занять штатного сотрудника. В таких магазинах вы найдете человека, который тратит часть своего времени на администрирование баз данных. Мы называем этих людей “случайными DBA” – они не собирались становиться администраторами, но они просто унаследовали некоторые обязанности.

Чем крупнее компания, тем больше у нее будет баз данных. Для крупных национальных компаний характерно иметь целые команды DBA.

Какова типичная зарплата DBA?

Согласно нашим ежегодным данным Обследования профессиональной заработной платы, DBA в Соединенных Штатах получают в среднем 112 880 долларов США. Более подробные данные - в оригинальной статье.

Как и в любой другой профессии, люди зарабатывают больше денег, когда у них больше опыта или они живут в районах с более высокой стоимостью жизни.

Могут ли DBA работать из дома?

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

Некоторые компании готовы нанимать DBA на удаленке, но их довольно мало, и они находятся далеко друг от друга. Когда они это делают, обычно это происходит потому, что:

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

Но это скорее исключения, чем правило.

Что такое DBA по сравнению с аналитиком данных?

Аналитик данных пишет запросы, чтобы получить ответы на основе данных, в то время как DBA следит за тем, чтобы ответы возвращались быстро.

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

DBA обычно обладает меньшими знаниями в области бизнеса. Они знают больше о системах, в которых хранятся данные, таких как Microsoft SQL Server, Postgres, MySQL, Oracle... DBA будет знать, какие пользователи чаще всего выполняют какие запросы, и они могут даже помочь аналитикам данных создавать более качественные запросы, но обычно они не пишут новые запросы с нуля.

Это немного сбивает с толку, потому что некоторые компании просто используют термин DBA для всего. “Если они работают в базе данных, то они администраторы баз данных”, - ха-ха-ха.

В чем разница между младшим DBA и старшим DBA?

Младший DBA выполняет почти все свои задачи впервые. Он полагается на Google практически во всех задачах, которые ему необходимо выполнить.

Старший DBA провел пару/несколько лет, работая младшим DBA. Он привык выполнять общие задачи, такие как настройка резервных копий, устранение неполадок, управление безопасностью и реагирование на запросы конечных пользователей. Это не значит, что они все еще не выполняют задачи в первый раз – они часто это делают, и они полагаются на Google, чтобы помочь им разобраться в происходящем. Но, по крайней мере, в половине случаев они делают то, что уже делали раньше, и вместо того, чтобы гуглить концепции, они ищут наиболее эффективный способ сделать это в масштабе, например, автоматизировать его с помощью PowerShell.

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

Какие инструменты используют DBA?

При администрировании одного SQL-сервера они обычно используют среду SQL Server Management Studio. Это бесплатный инструмент от Microsoft, которому более десяти лет, и он с самого начала был написан как основная консоль для сервера баз данных. Довольно редко можно увидеть, как DBA используют сторонние инструменты для управления серверами только потому, что SSMS так долго отсутствовала и охватывает так много функций. Я проводил здесь большую часть своего времени.

При администрировании большого количества SQL-серверов DBA используют PowerShell, обычно с помощью DBAtools.структура ввода-вывода. Вы можете начать изучать это с помощью книги "Изучение сценариев PowerShell" за месяц обедов.

Для написания нового кода Microsoft хочет, чтобы мы использовали Azure Data Studio. Это похоже на Visual Studio Code, кроссплатформенное приложение, предназначенное для написания новых материалов с нуля. Он может выполнять некоторые административные задачи, но на самом деле он ориентирован на разработчиков. Я провожу здесь немного времени, потому что пишу запросы как для Microsoft SQL Server, так и для Amazon RDS Aurora Postgres, и Azure Data Studio работает с ними обоими.

Какое обучение готовит вас к получению первой работы DBA?

Компании почти никогда не нанимают DBA без опыта работы. Чтобы получить этот опыт, есть два общих карьерных пути.

Сначала устроитесь на работу разработчиком и потратьте много времени на запросы SQL Server. По мере выполнения вашей работы вы в конечном итоге будете создавать новые объекты SQL Server, такие как таблицы, индексы и хранимые процедуры. Затем вы можете постепенно стать “специалистом по базам данных” в офисе и, если это имеет смысл для вашей карьеры, постепенно перейти на специальную роль администратора базы данных.

Или сначала устроитесь на работу системным администратором, и в рамках ваших общих обязанностей по администрированию серверов вы вступите в контакт с серверами баз данных. По мере выполнения вашей работы вы будете устанавливать новые серверы баз данных, исправлять существующие, устранять неполадки при их поломке. Затем вы можете постепенно стать “специалистом по серверу баз данных” в офисе и, если это имеет смысл для вашей карьеры, перейти на должность DBA.

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

Если вы хотите начать с начала, у меня есть бесплатные курсы YouTube по основам администрирования баз данных и бесплатный класс для старших DBA.

Могут ли новички устроиться на работу DBA?

Если вы только что закончили колледж, вы вряд ли сразу пойдете на работу в DBA. Вам лучше получить работу разработчика или системного администратора, как я описал выше, а затем перейти на должность DBA.

Когда вы находите компании, нанимающие новичков в качестве удаленных DBA, они обычно обучают сотрудника основным должностным обязанностям DBA. Будьте осторожны здесь: эти работы чрезвычайно низкооплачиваемы, и после этого они, вероятно, не дадут вам отличную работу DBA. Вам придется уйти из компании, чтобы найти работу получше, но когда вы возьмете “опыт”, который вы получили в этой компании, и попытаетесь использовать его для получения следующей работы в DBA, вы, скорее всего, будете разочарованы. Компания учила вас минимальному минимуму вещей, просто чтобы выставить счет за ваше время, и на самом деле это не воспринимается как реальный опыт DBA.

Достаточно ли сертификатов администрирования баз данных, чтобы получить работу?

В мире Microsoft SQL Server нет: программы сертификации Microsoft, такие как помощник администратора базы данных Azure, просто не точно отражают то, что делают администраторы баз данных. Они отражают то, чему Microsoft хочет научить DBA, потому что Microsoft хочет, чтобы люди проповедовали облачные сервисы Microsoft внутри своей компании.

К сожалению, сертификаты Microsoft-это не лучший способ получить свою первую работу DBA. Вместо этого сначала сосредоточьтесь на том, чтобы получить работу разработчика или системного администратора, затем станьте “специалистом по базам данных” в своем магазине и идите оттуда.

Можете ли вы быть DBA без высшего образования?

Абсолютно точно – я сам бросил колледж. Тем не менее, вы должны быть готовы потратить годы на разработку и системное администрирование, прежде чем получить работу DBA.

Я бы не стал использовать себя в качестве примера “правильного способа” получить работу DBA. Это возможно – просто на это уходит много - много времени. Я бы также сказал, что я DBA, потому что я вышел из разработки! У меня не хватало терпения постоянно изучать новые языки и фреймворки, а также отлаживать во всех видах различных браузеров. Администрирование баз данных было проще для меня, поэтому я остановился на этом.

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

Нужны ли DBA для «облачных» баз?

Я часто задаю этот вопрос, когда компании начинают рассматривать облачные сервисы, такие как база данных SQL Azure.

Чтобы получить ответ, прочитайте список должностных обязанностей в верхней части поста. Некоторые из них действительно охвачены автономными платформами облачных баз данных, но многие-нет. (Например, если вы хотите хранить резервные копии дольше 35 дней, в настоящее время это доступно только в режиме предварительного просмотра и только в некоторых центрах обработки данных Azure.) Кроме того, ценообразование на производительность начинает становиться реальной проблемой в облаке: по мере роста ваших рабочих нагрузок растут и ваши затраты. DBA теперь могут окупать себя, помогая настраивать производительность рабочих нагрузок для снижения затрат на хостинг.

Является ли DBA хорошей карьерой?

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

Однако это имеет свои недостатки:

  • Трудно получить свою первую работу DBA
  • Трудно перейти от младшего к старшему DBA, не сменив компанию
  • Большинство должностей DBA находятся по вызову, и работа по вызову может быть утомительной
  • На некоторых должностях DBA есть масса обязанностей, но нет полномочий, чтобы изменить ситуацию к лучшему: вы застряли, поддерживая сломанную систему

За последние пару десятилетий это была солидная карьера, и для 2020-х и 2030-х годов все выглядит довольно радужно. В своем следующем посте я расскажу о том, почему базы данных еще не управляются самостоятельно, и как это повлияло на мои последние 10 лет.

Переводчик выражает благодарность Виктору Богачеву – автору и ведущему «Подготовка к 1С:Эксперту по технологическим вопросам. Основной курс» за спонсорскую помощь.

См. также

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Пользовался ранее https://infostart.ru/1c/articles/1120161/#, но она устарела, т.к. службы запускаются через systemctl, да и сами службы слегка изменились. Возможно, где-то на ИТС уже есть нужная инструкция, но мне не попалась.

15.11.2024    301    Baser    2    

1

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    830    Tantor    19    

14

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    3145    Tantor    38    

34

Администрирование СУБД Системный администратор Программист Бесплатно (free)

CDC - очень мощный механизм, который можно использовать во многих сценариях, возможность развернуть его в Docker показывает простоту и лёгкость данной технологии.

08.10.2024    734    AlexSvoykin    1    

7

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ и решение ошибок СУБД. Во время реиндексации базы Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект "ИмяБазы.dbo._RefSInf21806", так как он не существует, или отсутствуют разрешения. Во время проверки целостности Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf21806".

19.09.2024    4349    Xershi    10    

17

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    2971    1CUnlimited    9    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. triviumfan 97 23.08.21 10:05 Сейчас в теме
"Сайту BrentOzar.com 20 лет - отметим это событие очередным постом", - пост Озара от марта как бы... На дворе конец августа. У него есть и сайт, и ютуб канал и куча соцсетей. Кому интересно его творчество - следят за ним. А с переводом может справиться и гугл.
2. vasilev2015 2722 23.08.21 11:20 Сейчас в теме
(1) Переводы всегда "на любителя". Любите оригиналы - читайте оригиналы.
3. пользователь 05.12.21 15:35
Сообщение было скрыто модератором.
...
Оставьте свое сообщение