11 вопросов к администраторам баз данных PostgreSQL
Он оперативен, но в то же время спокоен. Он умен, аналитически мыслит и всегда сосредоточен. Это основные качества, благодаря которым можно достичь успехов специалисту DBA.
В перерывах между докладами, в кулуарах конференции PG Day’16 мы буквально на пару минут отвоевали внимание опытных администраторов и задали вопросы о том, что они думают о своей профессии, какие досадные ошибки они допустили в работе и какие советы дали бы новичкам. Антон Бушмелев, Александр Чистяков, Дмитрий Васильев, Михаил Тюрин и Брюс Момжан вспомнили истории на старте своей карьеры и рассказали, сколь тернист оказался их путь.
Кто такой администратор баз данных, и чем он отличается от других «айтишников»?
Александр Чистяков: Администратор баз данных – это человек, который умеет читать план запросов. В основном, этим он и отличается от других айтишников. На самом деле, человек, который умеет читать план запроса, немного печален, потому что он хотел бы, чтобы другие айтишники тоже так могли, но они такого не могут. Он пытается их сподвигнуть на это, но они не хотят. Возникает некий конфликт. Человек, который не хочет быть тем, кем он является, но вынужден.
Антон Бушмелев: Администратор баз данных – эксперт в своем деле. Это должен быть человек с опытом. Желательно, с background в разработке, чтобы с ходу замечать косяки при “накате” релиза. Администратор должен быть самым квалифицированным человеком в команде. За ним большая ответственность, он один отвечает сразу за много баз. Чем отличается от остальных “айтишников”? Он должен быть фанатом своего дела, любить свою работу!
Дмитрий Васильев: На инженере базы данных лежит максимальная ответственность не только за текущую работу приложений, но и за сохранность данных, в том числе исторических. Подчас, сердцем и кровеносной системой любого типового проекта является база данных. Нет ничего важнее сохранности данных, это очень большая нагрузка на человека.
Михаил Тюрин: Администратор баз данных отличается от других “айтишников” тем, что его сложно найти. Чрезвычайно редкий специалист. К нему повышенные требования. Большая редкость – найти человека, который одновременно понимает, что такое транзакция и bаsh-скрипт.
Брюс Момжан: Администратор работает с запросами, которые пишут разработчики приложений, и настраивает БД таким образом, чтобы производительность не падала, работа была надежной, вовремя происходили обновления. Он также устанавливает дополнительные пакеты, делает резервные копии и т.д. – есть множество задач на бэкенде, которые выполняет администратор баз данных, чтобы помочь разработчикам приложений. Этот человек отвечает за то, чтобы все таблицы были созданы, управляет правами пользователей, контролирует, как всё работает и следит за производительностью.
Что главное в профессии?
Александр Чистяков: Четкость. Я думаю, что необходимо помнить, как мы оказались в текущей ситуации, чтобы не быть виноватым. Хорошая память нужна.
Антон Бушмелев: Спокойствие, без этого очень тяжело. Должна быть нацеленность на результат. Не надо говорить разработчикам: «Ваш софт – г*вно!», для них это не будет составлять интереса. Надо показывать им: «Ребята, если делать так и так, будет быстрее. Давайте попробуем переделать!» – такой подход у хорошего ДБА должен быть.
Дмитрий Васильев: Способность к аналитике, рассудительность, умение избегать принятия быстрых, необдуманных решений.
Михаил Тюрин: Если совсем не философствовать, а говорить о конкретных навыках, это понимание алгоритмов и структур, которые заложены в основу баз данных. И навыки скриптового программирования, как внутри базы данных, так и на языке общего назначения.
Брюс Момжан: Умение честно признать то, кем ты являешься на самом деле, и не пытаться прыгнуть выше своей головы. 19 лет назад я считал себя хорошим разработчиком приложений, пока не начал работать на международном уровне и не познакомился с людьми, которые намного круче меня. Тогда я понял, что это надо принять, и выбрал путь – эмоционально мотивировать людей, создавать такую атмосферу, в которой каждый был бы максимально продуктивен и чувствовал свою принадлежность к чему-то важному.
Расскажите о самой своей досадной ошибке.
Александр Чистяков: Моя самая досадная ошибка была, когда я удалил в режиме реального времени продакшн-базу заказчика. Я приехал из Тверской области, очень мало спал и не то чтобы я перепутал базы… Я не помню, что точно было, но примерно 30% базы заказчика мы не смогли восстановить. Остальные 70% я восстановил, потому что хорошо знал, как работает база. А то он бы потерял 100%. А я бы потерял заказчика, больше ничего. Дело в том, что системный администратор – это такой человек, который может 600 человек оставить без зарплаты и ничего не потерять.
Антон Бушмелев: Это был банк, дело было утром, я делал definition (база Oracle), и все было хорошо. После definition бьются индексы. Я проверил, что индексы отребилдились. Это были глобальные индексы по партициям и субпартициям. Я все проверил, кроме субпартиций. Благополучно уснул.
В 8 часов начались проблемы с блокировками, так как индексы по субпартициям все-таки оказались инвалидными, и банк стоял 2 часа. Минус 20% дали потом. После этого случая очень пристальное внимание уделяю мониторингу, чтобы все это отлавливалось. Ночью можно что-то забыть, а мониторинг работает постоянно.
Дмитрий Васильев: Когда меня только пустили за консоль суперпользователем базы данных, я, не прочитав документации по команде TRUNCATE, выполнил ее для самой большой таблицы с логами, из-за чего продакшн встал на несколько часов.
Михаил Тюрин: Ну, DROP DATABASE я не делал, потому что нельзя сделать DROP DATABASE на нагруженной системе. Коннекты идут, и она не дропнется просто так. Досадные ошибки – это ошибки организации работы: что-то можно было бы сделать более эффективно, если бы я смог с кем-то договориться, заранее что-то решить до внедрения.
Ошибкой также может быть недооценка масштаба катастрофы. То, что очевидно человеку с многолетним опытом работы с данными, может быть абсолютно неочевидно программисту, который переоценивает свои силы и навыки, с высоко поднятым флагом рвется что-то делать, если его вовремя не остановить.
Конкретные примеры ошибок – неинтересные вещи: забыл выключить логирование, забыл закрыть коннект, уехал в отпуск. Ты пятый день лежишь на пляже, и вдруг тебе звонят, что запрос перестал работать. Ты просишь показать stat_activity, а там висит транзакция, которую ты забыл закрыть перед тем, как уехал.
Брюс Момжан: Первые несколько лет оставляли желать лучшего мои способности к оценке трудозатрат. Я говорил: «Сделаю это за день!», а три дня спустя всё ещё работал над той же задачей. Потом понял, что даю оценки, исходя из сценария, где всё идёт идеально. Но ничего никогда не бывает идеально. Поэтому стал удваивать оценку времени и добавлять ещё 10% на форс-мажоры. Так что если раньше я называл 2 дня, то теперь стал говорить 4, 5. Пришлось много времени потратить на то, чтобы вывести эту формулу, но сейчас она отлично работает.
Что бы вы посоветовали тем, кто хочет заниматься базами данных и думает, не стать ли дба?
Александр Чистяков: Ходить на наши конференции и хорошо прислушиваться к тому, что делается в сообществе. Это бизнес, здесь есть свои тренды, и нужно их чувствовать.
Антон Бушмелев: Начать с концептов и азов, не гоняться за «халтурами», не искать серебряную пулю для решения проблем. Когда будет хорошая база, все остальное пойдет быстрее.
Дмитрий Васильев: Я сам не сразу пришел к ДБА. Разное, многое перепробовал. Все вещи интересные, но специфика базы данных заключается в том, что это немножко другой мир, он движется в ином темпе из-за ответственности, которая лежит на инженерах БД. Но это не означает что он не интересный. Приходится знать железо, и как вообще все устроено. Хватает времени, чтобы разобраться досконально, в чем проблема. Словно японский дзен, нужно созерцать и понимать, что же на самом деле там происходит.
Михаил Тюрин: Расширять кругозор. Когда говорят про ДБА, это как в том анекдоте – ты же программист, иди разберись! Все, что касается данных, отправляют к ДБА, а на самом деле ДБА при этом вынужден решать задачи организации и архитектуры широкого стека приложений. Данные вовлечены во все взаимодействия внутри системы, и те решения, которые ДБА примет, скажутся на всех уровнях стека обработки запросов от конечного пользователя. Надо понимать как устроены другие уровни системы, которую поддерживает ДБА. Это поможет ему понять проблемы, возникающие у людей, которые пишут клиентов к базе данных.
Нужно знать классические проблемы computer science. Мы их знаем, как минимум, три: инвалидация кеша, именование объектов и, третья проблема – это проблема потерянной единички. Вообще, основная проблема – все любят распределенную обработку, а в распределенных системах часто бывает так, что одно и тоже повторяется несколько раз.
Брюс Момжан: Если вы любите всё упорядочивать, вам понравится работать с базами данных. Языки программирования и технологии приходят и уходят, а базы данных остаются. Это такая фундаментальная часть разработки, затрагивающая вещи, влияющие на эффективность крупных организаций. Я бы рекомендовал изучать Постгрес. Это не тот проект, который вдруг возник и скоро исчезнет. В США специалисты по Постгресу очень ценятся, и в России тоже, потому что их недостаточно. Они являются кем-то вроде суперзвезд в своих компаниях, и было бы здорово, если бы больше людей это понимали и стремились стать такими специалистами. Те, кто стремится узнавать новое, учиться, обязательно достигнут карьерных высот.
чем отличается программист 1С от администратора баз 1С
Кто яростно ненавидит мотоциклистов тот сам латентный мотоциклист.
05.03.11 13:19 Ответ на сообщение чем отличается программист 1С от администратора баз 1С пользователя stepan_s
05.03.11 13:39 Ответ на сообщение Re: чем отличается программист 1С от администратора баз 1С пользователя PN
а чем занимаются Ваши программисты? Программируют — автоматизируют или управляют базами?
согласно этой статьи в классическом понимании программист 1С будет частным случаем администратора БД, но мое понимание вопроса несколько не совпадает с мнением статьиЯ считаю что в задачи администратора БД входит обеспечение жизнедеятельности БД (оптимальная настройка железа, ПО, резервное копирование, своевременное обновление, смена каких то сценариев и т.п.), а вот Программист 1С, по моему мнению, это СПЕЦ, который занимается разработкой СУБД.
приближенно можно сказать что Администратор — специалист, который обеспечивает оперативную работу с данными, Программист — специалист занимающийся развитием.
Как то так.
05.03.11 16:15 Ответ на сообщение Re: чем отличается программист 1С от администратора баз 1С пользователя stepan_s
Кто яростно ненавидит мотоциклистов тот сам латентный мотоциклист.
05.03.11 16:32 Ответ на сообщение Re: чем отличается программист 1С от администратора баз 1С пользователя stepan_s
да-да wiki это официальный документ.
чем Вас не устраивает
25857 3 Программист 2 2132
(цифирки это коды)
Общероссийский классификатор профессий рабочих, должностей служащих и тарифных разрядов (ОКПДТР)
05.03.11 16:33 Ответ на сообщение Re: чем отличается программист 1С от администратора баз 1С пользователя kmm
Пояснения к занятиям по укрупненным группам, подгруппам, составным и базовым группам
Базовая группа 2132
Программисты
Программисты разрабатывают записывают проверяют программы, реализующие решение различных технических, экономических и других задач с помощью компьютерной техники, а также осуществляют их сопровождение и обслуживание.
Их обязанности включают:
•изучение целей решаемых задач требований к результатам, определение объемов структуры источников информации подлежащей обработке на вычислительных машинах макетов и схем ее ввода, обработки, хранения, выдачи и контроля;
•описание задач с помощью математических моделей и алгоритмов, составление и запись программ на языках программирования высокого уровня и машинно-ориентированных языках;
•отладку разработанных программ и их корректировку в процессе доработки;
•определение возможности использования в решении задач готовых программ разработанных другими разработчиками (учреждениями, организациями, предприятиями);
•разработку и внедрение методов автоматизированного программирования типовых и стандартных программ управляющих, обрабатывающих сервисных программ инструкций по их использованию, входных алгоритмических языков;
•участие в работах по унификации и типизации вычислительных процессов, расширению области применения вычислительной техники;
•обслуживание компьютерных программ и соответствующей документации заключающееся в их обновлении и корректировке в соответствии с изменением входных и выходных данных, спецификаций или состава оборудования, вычислительных средств;
•выполнение родственных по содержанию обязанностей;
•руководство другими работниками.
Примеры профессий, входящих в данную базовую группу:
•Инженер-программист
•Программист
Профессия «Database Developer (разработчик баз данных)» — кто такой и чем занимается

Нам повезло жить в эру расцвета информационных технологий. Digital-сфера развивается очень стремительно. Современные IT-технологии прочно вошли в нашу повседневную жизнь. Каждый день мы, сами того не замечая, взаимодействуем с ними. А все такие технологии неразрывно связаны с большими объемами данных.
Миллионы гигабайт информации, используемой в самых разных отраслях, хранятся на серверных базах данных по всему миру. Без них существование большинства компаний попросту невозможно. А создают эти базы данных разработчики, которым посвящена моя сегодняшняя статья.
У вас может возникнуть вопрос — а где и как получить необходимые знания?
Рекомендую посмотреть подборку специализированных программ: ТОП-9 курсов по алгоритмам для разработчиков
Чем занимаются разработчики баз данных?
Представители этой профессии отвечают не только за создание базы данных (БД), но и за ее последующее обслуживание и модернизацию. В этой части своей статьи я постараюсь структурировать основные обязанности разработчика БД. В свод основных полномочий такого специалиста обычно входит:
- предварительный анализ потребностей компании или клиента;
- выбор оптимально подходящих инструментов для работы;
- разработка БД;
- последующее обеспечение эффективной работы базы данных;
- обслуживание и модернизация БД;
- обеспечение информационной безопасности;
- выявление и устранение ошибок, работа с комментариями пользователей базы данных;
- проведение анализа работы созданной БД;
- работа в команде с системными администраторами, программистами и архитекторами баз данных.
Кроме того, разработчики БД могут выполнять управленческие функции, если, например, в компании нет штатного сисадмина, а именно проводить консультации, обучение или собирать комментарии по работе базы данных.
Что должен знать и уметь Database Developer?
Нельзя забывать и о том, что любая работа с данными подразумевает колоссальную ответственность. Будь то ошибка в системе или невнимательность разработчика – при утрате или деформации ценной информации компания-владелец базы данных может понести критические убытки. Специалисты в области разработки БД должны знать свою работу на отлично. Они должны быть готовы в кратчайшие сроки устранить сбои в системе и понести ответственность в том случае, если данные будут утеряны по их вине.
IT-специалист, профиль которого – разработка баз данных, владеет языком запросов SQL также свободно, как русским или английским. Среди прочих профессиональных навыков такого разработчика можно назвать:
- умение проектировать, настраивать, оптимизировать, модернизировать и управлять базами данных;
- знание языка графического моделирования для объектов UML.

Уникальное предложение — -50% на ВСЕ курсы Skillbox. Получите современную онлайн-профессию, раскройте свой потенциал.
Активировать скидку →
Какими личными качествами должен обладать разработчик баз данных?
Говоря о личных качествах разработчика баз данных, как ни крути, первым отмечается высокий уровень ответственности и дисциплины. А если мы с вами возьмемся составлять своеобразный психологический портрет такого специалиста, то получится следующее:
- обладает техническим складом ума и аналитическим мышлением;
- очень педантичный;
- крайне пунктуальный;
- работает с множеством задач параллельно и делает это качественно;
- очень внимательный и аккуратный;
- усидчивый и терпеливый;
- хорошо коммуницирует с коллегами и клиентами, умеет, как принимать задачи, так и составлять из них ТЗ;
- постоянно повышает уровень своей квалификации.
Плюсы и минусы работы разработчиком базы данных
Сперва обратимся к преимуществам работы по этой специальности:
- востребованность на рынке труда;
- конкурентоспособная заработная плата;
- хорошие перспективы карьерного роста;
- множество возможностей для самосовершенствования и повышения уровня своей квалификации;
- возможность работы по одной из смежных специальностей;
- открытый выход на международный рынок труда (при знании иностранного языка).
Разумеется, минусы также имеются. Для ознакомления я привел лишь основные из них:
- очень высокий уровень личной ответственности за результат;
- работа сидячая и достаточно однообразная;
- высокая конкуренция на рынке труда;
- работать, в случае сбоя в системе или прочих неполадок, придется не до конца рабочего дня, а до полного восстановления корректного функционирования базы данных.
Работа по профессии: зарплата и перспективы
В разработке баз данных нуждается огромное число компаний из самых разных отраслей. А те, кому непосредственно разработка более не актуальна, находятся в поиске специалистов, которые смогут обеспечить безопасное хранение и обработку информации. Поэтому новые открытые вакансии в этой сфере появляются на регулярной основе. Вашим потенциальным работодателем может стать компания, которая занимается:
- производством какой-либо продукции;
- розничной торговлей;
- логистикой;
- финансово-кредитными услугами;
- недвижимостью;
- услугами в сфере образования и т. д.
Есть один важный нюанс, не упомянуть который будет неправильно. Большинство работодателей рассчитывают заполучить к себе в штат уже состоявшегося специалиста с реальным опытом работы. Также приветствуются рекомендации от руководителей тех компаний, где вы работали ранее. Но что делать, если релевантного опыта работы нет, а обивать пороги компаний, впустую проходя собеседования, уже надоело? Можно пойти в выбранную компанию на стажировку, но они зачастую не оплачиваются. Если повезет, вы можете перейти в штат на позицию ассистента разработчика баз данных. Но есть и еще одно решение – собрать себе достойное портфолио еще в процессе обучения. Многие современные онлайн-курсы предлагают не только получить вам у них теоретические знания по специальности, но и заветную практику в реальных компаниях.
Перспективы для карьерного роста у разработчиков баз данных очень широки:
- вы можете стать руководителем отдела разработки или администрирования баз данных;
- совмещать работу разработчика БД и архитектора БД (спрос на универсальных специалистов всегда был и будет);
- перейти непосредственно в администрирование баз данных.
Поговорим о цифрах. В столице динамика зарплат разработчиков баз данных выглядит очень привлекательно:

Спрос на квалифицированных специалистов в этой области начинает свой рост вновь. А значит ожидаем и пропорциональное увеличение заработных плат. К сожалению, другие регионы России ощутимо отстают от Москвы и Московской области:

Если вы зайдете на HH.ru, то сможете убедиться сами, насколько востребованы сейчас разработчики баз данных не только в Москве, но и по всей России и СНГ. На момент написания статьи, открытых вакансий было порядка 1 500. Итак, если ваш опыт работы по специальности минимален или вовсе отсутствует, вас будет ждать оклад в размере 50 000 рублей. Требования к начинающим специалистам еще не так строги, но они есть:
- базовые навыки программирования;
- начальные знания или хотя бы представления о реляционных базах данных, допустима только теория;
- приветствуются навыки владения языками работы с данными (Transact SQL, PL SQL и пр.);
- готовности с первого дня начать работать с Transact SQL и PowerShell.
Отработав порядка года по специальности, вы можете претендовать на зарплату в 100 000 – 120 000 рублей. Работодатель же волен выставить следующие требования:
- отличные знания MS SQL (опыт работы администратором базы данных или разработчиком с активной эксплуатацией MS SQL серверов не менее года);
- опыт работы с большими массивами данных;
- хорошее знание математической статистики;
- большим преимуществом будет опыт решения задач на Python или R.
С ростом требований растут и зарплаты, что вполне логично. Таким образом, специалист, который обладает опытом работы более 3-х лет, спокойно может претендовать на ежемесячный оклад более чем в 200 000 рублей. Если он вдобавок владеет навыками аналитики, администрирования и архитектуры баз данных, то ему работодатель со спокойной душой будет перечислять порядка 250 000 рублей в месяц. Как вы видите, перспективы очень даже ничего!
Как стать разработчиком баз данных
Итак, мы разобрались с плюсами и минусами профессии, перспективами карьерного роста, но еще не говорили о том, где и как можно ее освоить. В первую очередь, эту техническую специальность можно освоить в одном из ведущих вузов страны: МЭИ, МГУПП и др. Такое обучение занимает в среднем 4 года. А по окончании вуза нехватка практических навыков может сказаться при трудоустройстве. Освоить специальность, читая профильную литературу и конспектируя все, что покажется вам полезным, практически невозможно.
Я предложу вам оптимальный выход. Онлайн-образование неспроста становится популярнее с каждым днем. Это решение подойдет как тем, кто хочет кардинально сменить свою сферу деятельности и освоить новую для себя профессию, так и тем, кого интересует возможность расширить пул своих профессиональных компетенций.
- Освоение специальности в короткие сроки — занятия проводятся в оптимальное для вас время, а темп прохождения курса вы можете выбрать самостоятельно.
- Четко структурированная информация — вы изучаете отобранную профессионалами информацию в очень удобном формате.
- Наработанное портфолио — то, что так часто ценят все работодатели. Домашние задания станут отличной практикой, а все итоговые работы вы сможете продемонстрировать заказчику в качестве портфолио.
- Удобство обучения — формат занятий дает вам возможность получать информацию где угодно, когда угодно и на любом гаджете.
Если вас заинтересовала профессия — ставьте плюс в комментариях, расскажем, как в ней легко стартануть
Отличие системного администратора от программиста

Часто приходится сталкиваться, что люди не понимают разницы между системным администратором и программистом и всех IT-шников называют программистами. Некоторые обижаются, а кто-то уже привык. Но я хочу попытаться разъяснить эту разницу, чтобы было понятно большинству, прочитавшим эту статью 🙂
Если в организации есть IT отдел (инженерно-технический), а проще говоря компьютерный, то в нем есть следующее разделение:
Системные администраторы — основная задача контролировать работу серверов и серверного ПО, администрирование телефонных станций, политика безопасности — в общем это мозги всей компьютерной структуры организации.
Специалисты (или инженеры) технической поддержки — это ребята, которые занимаются обычными компьютерами пользователей, настраивают их, помогают пользователям решать текущие проблемы, ловят вирусы на компьютерах пользователей и т.д. и т.п. По сути, Специалист — это будущий системный администратор, т.к. системный администратор так же может выполнять работу специалиста. Специалист может выполнять работу системного администратора, если ему разрешит руководство — к системному администратору у руководства больше доверия 🙂
Программисты — это ребята, которые постоянно пишут различные тексты на непонятном для обычного пользователя языке. Эти тексты потом превращаются в полезные программы, утилиты, или просто модули (дополнительные опции) к полезным программам.
Чтобы проще было понимать приведу пример на различие системного администратора от программиста. Программист написал программу, которую в последствии назвал, ну например Windows, а системный администратор ее настроил (используя функции, которые предусмотрел в своей программе программист) для пользователя.
Отличие системного администратора от программиста : 1 комментарий
Хороший программист всегда обладает некоторыми навыками системного администратора. Обратное тоже верно. Например, чтобы начать работать с сайтом, необходимо создать его копию у себя на компьютере (можно и в сети), а для этого требуется как минимум установить и настроить виртуальную машину и развернуть сайт из образа.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.


