Сегодняшнее интервью дает Илья Космодемьянский, CEO Data Egret, ведущего PostgreSQL-консалтинга, и сооснователь PG Day Russia. За 15 лет работы Илья прошел путь от разработчика и DBA до руководителя собственной компании, оказывающей услуги поддержки баз данных. Сегодня Илья занимается формированием и реализацией стратегии развития Data Egret, продвигает бренд компании в российском и международном сообществе, курирует направление подбора докладчиков для конференции.
На PG Day'17 Russia Илья проведет интенсивный учебный курс по PostgreSQL для системных администраторов и DevOps.
Во время беседы Илья поделился своим видением текущего места PostgreSQL на рынке современных баз данных, рассказал об основных отличиях российских технологических конференций от западных, и объяснил, для кого предзначен созданный им мастер-класс.
PG Day: Компания, которую ты основал, предоставляет поддержку для PostgreSQL. Почему именно PostgreSQL, а не MS SQL Server или ORACLE?
Илья: Поскольку мы начали заниматься Postgres-ом, до того как это стало модно, можно честно сказать, что это был осознанный выбор. Сейчас о Postgres-е не говорит только ленивый, а в те времена это была хорошая open source-ная база, но не более того.
Мне есть с чем сравнивать: я работал довольно много с Oracle-ом и немного — с MySQL. Oracle — это крутая база, но достаточно в SQL*Plus залогиниться, чтобы понять, что многие вещи там сделаны очень давно и они не очень удобны. При технологическом превосходстве Oracle, Postgres привлекал именно простотой использования, несмотря на то, что это полноценная база данных с серьезными возможностями.
С другой стороны, это open source, и ты строишь свой бизнес немного по другим законам, которые отличаются от поддержки коммерческого продукта. Ты зависишь от сообщества. Кому-то от этого становится не по себе, но при этом нет привязки к коммерческому производителю. Что ты будешь делать, если вдруг Oracle решит, что все его продукты должны поддерживать только сертифицированные партнеры?
Коммерческие базы данных — это кот в мешке, который постоянно меняется не по твоей воле, ты никак не можешь это контролировать и предвидеть. Open source в этом смысле намного приятней.
Поддержка открытого исходного кода — это довольно интересное направление. Сейчас на рынке коммерческих баз данных можно наблюдать примерно то же самое, что когда-то происходило на рынке операционных систем. Были очень дорогие коммерческие операционные системы (Novell Netware, HP UX, Solaris), которые были сильно переоценены и стоили очень больших денег. И сейчас, когда появились бесплатные десктопные операционные системы, а на серверах Linux сильно потеснил своих конкурентов, то же самое происходит с базами данных. Коммерческим производителям приходится что-то менять в своих подходах, в ценах на лицензии. Я не утверждаю, что Postgres захватит мир завтра, я бы даже опечалился, если бы это произошло, потому что “да здравствует конкуренция”. Но перспектив у него в этом смысле — огромное количество, и он меняет этот рынок у нас на глазах.
PG Day: На твой взгляд, PostgreSQL может заменить коммерческие СУБД по своим техническим возможностям?
Илья: Конкретно в такой формулировке — да, конечно, может и активно заменяет. Но это не значит, что PostgreSQL технологически круче чем Oracle. Далеко не всем проектам нужны какие-то супер-фичи, которыми обладает Oracle, такие как работа на голом железе без файловой системы. Это такие вещи которые присущи только Oracle — они супер высокотехнологичны, но требуют приобретения очень дорогих лицензий. Далеко не везде эта технологическая мощь нужна. Я много раз сталкивался с ситуацией, когда очень дорогая лицензия на Oracle покупается для небольшого проекта просто потому что в компании привыкли, что так можно делать. «У нас есть Oracle, мы не хотим иметь дело с дешевыми лицензиями, мы привыкли к хорошему Oracle EE”, при том что проект без проблем может работать на PostgreSQL.
PostgreSQL достаточно хорош для таких задач, он прекрасно с ним справляется, проще в эксплуатации, не требует затрат на лицензирование. Это очень широкий спектр ситуаций, когда Postgres действительно может замещать коммерческие СУБД. При этом задач, где Oracle лучше подходит технически, становится все меньше. В большинстве случаев цены на лицензии не оправдывают того технологического превосходства, которое Oracle имеет для этих проектов.
PG Day: CEO часто отрываются от каждодневной технической работы. Скажи, насколько ты близок к решению технических задач в компании?
Илья: Есть такая фраза: хочу сделать успешный стартап, нанять туда CEO и работать там программистом. Такие схемы, к сожалению, в реальной жизни не работают. Чтобы все это двигалось вперед, технические задачи приходится отодвигать на второй план. Другой вопрос, что мы занимаемся, прежде всего, техподдержкой и консалтингом — вся наша организация подчинена техническим вопросам. Невозможно построить лучшую в мире техническую поддержку баз данных PostgreSQL, не вникая в технические детали и задачи, которыми занимаются DBA, не участвуя в разборках происшествий с базами. Моя задача — организовывать взаимодействие людей, которые этим занимаются. Хоть я и не занимаюсь администрированием баз данных непосредственно, во все эти вопросы приходиться вникать, чтобы понять, что вообще происходит, в какую сторону нам нужно двигаться и так далее.
PG Day: Расскажи самый эпический случай из твоей практики, который хорошо бы проиллюстрировал надпись на твоем Twitter профиле — " Быть ДБА это также легко как ездить на велосипеде, только велосипед в огне, ты в огне, все в огне и ты в аду”?
Илья: Вряд ли найдется много DBA, будут радостно рассказывать самые эпические эпизоды в своей практике. Всякое случалось. Когда с базами данных происходит какая-то критическая авария, это всегда случается несколько эпически, хоть мы и стараемся везде соломки подстелить.
Звонят в два часа ночи, говорят что у нас все упало, ничего не работает, база данных накрылась, потому что у нее закончились transaction id и что-то было не так настроено. При этом все администраторы, которые должны были за ней следить в этот момент, в доску пьяны, на дворе два часа ночи, у звонящего кончается батарейка на телефоне, и надо что-то сделать. Такие случаи регулярно встречаются, поэтому фраза про велосипед — это наш девиз.
PG Day: Ты часто ездишь на конференции. Чем отличаются сообщества в России, Европе и Америке? Насколько сильно чувствуется наличие сообщества PostgreSQL на конференциях в России и за границей?
Илья: Это два больших отдельных вопроса. Многие конференции за границей — community-driven, их делают энтузиасты, ориентируясь на развитие community, а не непосредственный заработок (хотя было бы неправильно утверждать, что они совсем не преследуют такие цели).
Первое отличие, которое бросается в глаза — организаторы российских конференций рассчитывают заработать деньги. Билет на мероприятие стоит дороже, все происходит с оттенком
Второе отличие: рынок у нас сильно меньше мирового по объективным причинам. Если ты участвуешь только в российских конференциях, очень просто возомнить себя самым умным. Поэтому я рекомендую выбираться на международные конференции — ты мгновенно понимаешь, какое количество людей намного умней тебя, намного быстрей соображает, у них есть чему поучиться. Очень полезно.
И еще один момент. В Северной Америке никто не воспринимает посещение конференции как способ развеяться, потусоваться со знакомыми. Большинство людей, слушатели и докладчики, рассматривает это как серьезное обучение и повышение квалификации. Приезжая на мероприятие, они выкладываются по полной. На американской конференции допустимо начать доклады и в девять утра — слушатели приходят туда работать, а не скрываться от офисной рутины.
PG Day: Чего ты ожидаешь от PG Day Russia? Требования к аудитории — какой минимум знаний должен быть, может, порекомендуешь что-то почитать?
Илья: Я ожидаю, что у нас получится сделать хорошее событие, причем посвященное не только Посгресу, но и базам данных в общем. Я всегда беспокоюсь за то, чтобы всем технарям, которые работают с базами данных, было интересно поучаствовать. Чтобы программа была высокого уровня, наполненная интересными техническими докладами.
У нас есть такая идея, что нельзя привозить только хороших иностранных спикеров и показывать, мол, «вот, ребята, смотрите как бывает». Нам нужно растить наше Российское сообщество изнутри. Мы зовем известных в мировом сообществе спикеров, чтобы они задавали планку. Приглашаем наших проверенных российских товарищей, которые могут много чего интересного рассказать, и всегда пытаемся найти новых докладчиков, которые раньше не выступали на широкой публике. Не самый простoй подход, но, тем не менее, в последние годы нам это удавалось.
В этот раз у нас еще более серьезная заявка: помимо основного ядра про PostgreSQL у нас планируется несколько дополнительных потоков. С потоком по MySQL и другим открытым базам данных нам очень помогает Percona, привлекает спикеров и аудиторию. Будет также поток по системному администрированию. Все мы знаем, что Postgres-овые админы и разработчики очень плотно погружены в эти темы, поэтому могут какие-то пограничные вещи тоже послушать.
И организуем два необычных потока. Сейчас много всяких переживаний: лучше ли Postgres чем Oracle? Когда Postgres наконец-то победит Oracle? Чтобы разобраться, мы решили сделать поток по коммерческим базам данных, предоставить возможность и “ораклистам” и “посгресистам” посмотреть на другие технологии. И еще у нас поток по computer science. Он включает в себя пограничные вещи между эксплуатацией баз данных и теми тенденциями, что происходят сейчас в этой науке. Ожиданий много, и главное мое беспокойство как организатора — чтобы всем было интересно и хорошо.
Требований к аудитории на самом деле никаких нет, мы рассчитываем, что каждый найдет себе интересную тему. Доклады у нас разноплановые: не только для профессионалов, которые уже все знают. Есть и для тех, кто считает свой уровень чуть ближе к среднему, и для новичков. Достаточно посмотреть на наши мастер-классы. Будет, например, очень интересный вводный курс по MS SQL Server-у и по анализу производительности Oracle. По Посгресу мой workshop будет вводный, а мастер-класс Алексея Лесовского — очень интенсивный, с расчетом на очень серьезную аудиторию. Каждый сможет найти себе по интересу и по уровню.
PG Day: К слову о твоем вводном курсе по PostgreSQL для системных администраторов и DevOps. Он всегда привлекает большое количество слушателей. Почему этот мастер-класс так популярен?
Илья: Ничего удивительного в этом нет. PostgreSQL набирает популярность, и людям зачастую проще послушать курс, суммирующий для них огромную документацию. Иначе придется долго читать и набирать опыт более болезненным способом.
Лично мне не очень нравится устройство нашей документации. Она устроена как reference-мануал, информация структурирована по разделам. Человеческое
Я всегда из стараюсь преподавать на основе того опыта, который имеют все DBA в нашей компании. Я смотрю, что происходит в разборе каких то инцидентов с клиентами, что меняется с выходом новых версий Postgres-а. Получается такое обобщение практического опыта нескольких очень крутых специалистов. Людям это нравится и приносит пользу, поэтому они приходят на обучение.
PG Day: Твои мастер-классы и доклады всегда очень детальны. Скажи, каким образом ты поддерживаешь актуальность технической информации?
Илья: Во-первых, я всегда слежу за коммитфестом и процессом разработки. Когда feature list уже более-менее “устаканился”, я проверяю, какие изменения произошли и как они работают. Это несложный процесс, который, естественно, не добавляет большого количества деталей.
Я советуюсь с коллегами DBA, которые каждый день работают “в поле”. Я слежу за нашей внутренней системой знаний и о том, что происходит в клиентской поддержке. Уже привычные к такому делу DBA знают материал моих слайдов и говорят: «так, слушай, вот этот слайд нужно обновить, тут уже все поменялось». Это кропотливый труд, много подготовительной работы, которую я один сделать никогда бы не осилил.
Моя роль заключается не в поиске технических деталей, а в их систематизации и изложении в методическом виде так, чтобы людям было проще воспринимать материал.
PG Day: Твои доклады доступны в Интернете. Так ли необходимо посещать мастер-класс, ведь можно просто скачать презентацию?
Илья: Презентации необходимы — люди любят их посмотреть и какую-то информацию для себя оттуда извлечь. Скажу честно, я не очень умею и люблю делать самодостаточные презентации. Я не понимаю, зачем тогда нужен доклад? Например, есть на слайде какая-то схема, как что-то устроено в PostgreSQL или в Linux, и эта схема требует моих пояснений. Если я вынесу эти пояснения на несколько соседних слайдов, будет не очень понятно что происходит. Появится много текста, презентация станет перегружена. Поэтому я обычно показываю и рассказываю на докладе голосом, с помощью указки или как-то иначе.
Когда речь идет о тренинге, я всегда являюсь сторонником работать в формате семинара. Можно прийти со своими проблемами (если они по теме этого мастер-класса), задать вопросы и получить на них ответы. Это способствует большей отдаче и большему эффекту.
PG Day: Специалистам какого профиля в первую очередь стоит посетить твой мастер-класс? Смогут ли слушатели с разным уровнем подготовки почерпнуть для себя что-то полезное?
Илья: Очень сложно рассчитывать на какую-то конкретную аудиторию, когда ты делаешь мастер-класс на конференции. В первую очередь, это админы и DBA, как начинающие, так и практикующие. Возможно, опытным специалистам, какие-то вещи вначале покажутся очевидными, поскольку я обычно стараюсь двигаться от простого материала к сложному. Но я всегда советую даже элементарный материал еще раз послушать, поскольку повторение способствует систематизации знаний.
Буквально две недели назад меня попросили послушать доклад по производительности PostgreSQL. Я послушал и вспомнил какие-то моменты, которые уже давно забыл. Мы обсуждали особенности swap’инга разных страниц из памяти в Linux, и я понял, что на этот момент не обращал внимания, а людям он далеко не всегда понятен. Поэтому я сам люблю послушать, чтобы навести порядок в голове, и другим советую.
Особенно рекомендую посетить мастер-класс людям, которые не занимаются профессиональным администрированием PostgreSQL и не планируют становиться крутыми DBA. Это материал будет особенно полезен для людей, которые занимаются DevOps, разрабатывают приложения. У них нет возможности иметь в штате квалифицированного DBA, и приходится самим разбираться со всем этим. Я попытаюсь дать полную инструкцию, что делать, куда смотреть. Пользуясь этими знаниями, слушатели смогут начать эффективно использовать PostgreSQL.
PG Day: Спасибо, Илья!
Автор: rdruzyagin