В современном цифровом мире почти всё, что нас окружает, так или иначе связано с данными. И бизнес не исключение. Сложно представить работу большинства предприятий, как крупных, так и среднего и малого бизнеса, без ежедневного использования баз данных.
Данные составляют основу успешного бизнеса, они ежеминутно используются в операционной деятельности. Как только в таблице становится более 1000 строк, её обработка замедляется, и бизнесу пора заводить СУБД (систему управления базами данных). С ростом бизнеса и клиентской базы этот процесс неизбежен, объём данных будет экспоненциально увеличиваться, появятся новые параметры (номенклатура, кадры, процессы).
Уже на данном этапе требуется персонал, способный качественно администрировать постоянно разрастающиеся СУБД, иначе технические проблемы и простои, связанные с недоступностью данных, могут замедлить развитие бизнеса. На практике в большинстве компаний управлением баз данных приходится заниматься системным администраторам, несмотря на то, что это отдельная специализация. Компетенции администратора баз данных несколько выходят за рамки навыков штатных инженеров поддержки и системных администраторов.
Для работы с базами данных системным администраторам понадобятся глубокие знания хотя бы одной СУБД (например, MySQL, PostgreSQL, MS SQL или Oracle), а также операционной системы, на которой работает база данных (Windows Server, *nix или Linux). Помимо этого обязательно знание особенностей реализации баз данных, а также информационно-логического языка SQL.
Но главная проблема — это дополнительная нагрузка на и без этого заваленных ежедневными задачами сисадминов. При этом, в случае с базами данных, речь идет не о каких-то второстепенных задачах, а о поддержке критичного для бизнеса функционала и важных ИТ-процессов на предприятии. Ведь если что-то пойдёт не так с базами, то может разрушиться вся бизнес-цепочка.
Чек-лист администратора базы данных
Администраторы БД должны уметь:
- устанавливать системы управления БД и обновлять систему управления БД;
- планировать требования к памяти на будущее;
- распределять дисковую память;
- создавать табличные пространства;
- создавать основные объекты;
- модифицировать структуру БД под потребности приложений;
- зачислять пользователей;
- поддерживать защиту системы;
- управлять и отслеживать доступ пользователей к БД;
- отслеживать и оптимизировать производительность БД;
- планировать и осуществлять резервное копирование и восстановление данных;
- поддерживать архивные данные на устройствах;
- коммуницировать с разработчиками СУБД по поводу технического сопровождения.
А вот что должен сделать администратор при тестировании приложения, которое связано с администрируемой базой данных:
- сверить данные с сайта и с сервера;
- проверить наличие ограничений на входные значения для каждого столбца;
- проверить, что имеется возможность вводить граничные значения в таблицы БД;
- убедиться, что после того, как записи были редактированы созданы или удалены, происходит обновление данных;
- проверить сервер БД на предмет возможности обработки отрицательных чисел;
- сверить сервер БД по времени ответа;
- проверить наличие краткого описания у всех таблиц баз данных;
- проверить структуру базы данных на предмет наличия спецификации;
- убедиться, что изменения, которые внёс пользователь, не сохраняются после сбоя до завершения процесса;
- протестировать синхронизацию по часовым поясам (если клиент и сервер в разных поясах).
Все эти и другие задачи требуют высокой квалификации, дисциплины и ответственности от сотрудника, который администрирует БД. Часть операций, выполняемых администраторами — рутинные.
Для работы с большими объемами данных сегодня существует более чем достаточное количество программных реализаций систем управления базами данных и обработки данных. Так же обширен и их спектр применения. Например, проект с открытым исходным кодом Hadoop, который считается одной из технологических основ обработки больших данных, позволяет обеспечить масштабируемость для высоконагруженных приложений. А NumPy добавляет поддержку больших многомерных массивов и матриц для обработки данных с помощью языка Python.
Широкое распространение получают такие направления, как Machine Learning и AI, они меняют подходы и принципы работы в целых отраслях. Такие современные технологии делают обработку данных всё сложнее, и вопрос её передачи на аутсорсинг облачному провайдеру становится очень актуален.
Данные можно накапливать и хранить в базах на собственных серверах, в центрах обработки данных и облачных хранилищах. Но бизнесу нужно понимать, что вместе с хранением придётся обеспечить и отказоустойчивость, кластеризацию и масштабирование БД, исходя из возможностей выбранного хранилища. Например, хранить БД на собственных серверах и не нанять специалиста по их администрированию будет беспечным шагом, так как без должной квалификации обслуживающего персонала, а также постоянного контроля высока вероятность некорректного хранения и обработки данных.
При размещении баз данных в облаке можно заказать услугу «БД как сервис» и возложить ответственность за функционирование баз данных на профессионалов провайдера, который будет нести финансовую ответственность по соглашению об уровне оказания услуг.
Помимо закрытия основной задачи — обеспечения доступности баз данных, услуга позволяет организовать более эффективную работу с данными компании, избавляет от необходимости нанимать отдельного сотрудника для мониторинга и управления СУБД, позволяет быстро развернуть типовую конфигурацию для решения конкретной задачи, а также организовать высокую степень доступности за счёт резервирования вычислительных ресурсов и резервного копирования.
Когда база данных компании довольно большая или ожидается плановое масштабирование объёма обработки, то целесообразность самостоятельного администрирования БД компании слишком низкая. Да и в стартапах, где вся репутация зависит от бесперебойной работы сервиса, полностью полагаться на собственный штат и мощности может быть рискованно.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.