Проект РДТЕХ "DATABASE TECHNOLOGIES"
Надежда Дубижанская: «Хорошие программные продукты создаются энтузиастами»
Почему в России пока не создан универсальный отечественный аналог СУБД Oracle? Как искусственный интеллект внедряется в работу с данными и чем ценны традиционные форматы обучения в ИТ? Об этом и многом другом рассказала преподаватель Учебного центра РДТЕХ Надежда Дубижанская.

- Какие первые СУБД вы увидели на практике, каким инструментарием они обладали?
– В Институте физики высоких энергий, где с 1985 года я была разработчиком, данные собирались в том числе на стендах по испытанию магнитов на ускорителе частиц. Они должны были быть проанализированы и визуализированы. В списке первых СУБД, с которыми мне довелось работать – 4 и 7 версия Oracle и другие, такие как: FoxPro – писала модули, загружаемые в ядро, Clipper – к ней разрабатывала графический инсталлятор. Они имели минимальный инструментарий, но тогда и аппаратные решения были скудными по ресурсам.
Первая версия FoxPro не имела даже самых примитивных возможностей, например, не поддерживала транзакции. То есть модель ACID, определяющая свойства надежной транзакционной системы, не была реализована.
ПО развивается по мере требований бизнеса, роста объемов данных, числа пользователей, которое будет работать с ним одновременно. И такие основы постепенно закладывались. Помню, как в графической среде Visual Basic уже можно было, без написания кода, создать таблички, индексы – объекты, составляющие базу данных. В СУБД Oracle 4 был реализован MVCC (multiversion concurrency control) – функционал для одновременного доступа к данным, чтобы «читатели и писатели» не блокировали друг друга, и конкуренция меньше влияла на производительность.
- Число СУБД сегодня растет. Российским ИТ-компаниям удалось импортозаместить иностранные решения?
– Действительно, отечественных продуктов все больше. Крупные компании имеют свои отделы разработки, которые создают СУБД под конкретные отраслевые нужды.
Сейчас в Едином реестре российского ПО зарегистрировано больше 30 СУБД. В их числе: СУБД Postgres Pro, YDB корпоративная СУБД Яндекса, Red Database, СУБД «Линтер», «Лира-Р» и другие. Большое число этих продуктов основано на Open Source-решениях.
Наши СУБД активно развиваются и постепенно реализуется функционал, существующий у многолетнего лидера – Oracle, но их с трудом можно назвать аналогами. Универсальный Oracle объединил множество возможностей, которые доступны сразу после инсталляции, не приходится дополнительно устанавливать плагины, расширения, модули, чтобы работал нужный функционал.
Не случайно многие предприятия в России, особенно с критической информационной инфраструктурой до сих пор остаются на Oracle. Они понимают, что импортозамещение необходимо, но осознают всю сложность процесса перехода.
Есть компании, которые мигрировали с Oracle на PostgreSQL, а потом вернулись назад, т.к. в процессе эксплуатации существенно снизилась производительность. Поэтому любой проект по миграции обычно планируется с учетом этой возможности.
- Postgres Pro сегодня активно стремится заменить возможности западного вендора.
– Postgres Professional идет вперед гигантскими темпами. О том, как развивается компания, можно узнать и на ее конференциях, которые давно стали событием в ИТ-индустрии.
Хорошие программные продукты создаются энтузиастами, которые понимают, какие технологии будут востребованы, и внедряют инновации, как только возникает потребность в них. Это касается и Oracle, и Postgres Professional. Очень много возможностей и решений, которые раньше были у СУБД Oracle, сегодня реализуются российским флагманом. Например, разработаны средства поддержки пакетов, широко использующихся в приложениях, работающих на СУБД Oracle, в том числе реализована часть системных пакетов. Утилита ora2pgpro упрощает процесс миграции с Oracle на Postgres Pro. Это востребовано многими крупными компаниями.
Но у российского вендора нет еще многих возможностей. Например, в части установки ПО. У Oracle есть инструменты для инсталляции ПО СУБД, создания БД, для различных топологий развертывания в обычной или кластерной конфигурации, написанные на Java, имеющие как графический, так и интерфейс командной строки. Они имеют встроенные инструменты, выполняющие все проверки по совместимости с OC и необходимыми настройками. Это кроссплатформенные утилиты, в которых вас проводят по шагам выбора нужных настроек, упрощая эти процедуры.
RMAN, Oracle Secure Backup – также предоставляют больше возможностей по резервированию и восстановлению на различных уровнях и автоматизируют эти процедуры по сравнению с pg_probackup. Но эта утилита развивается с поразительной скоростью, и она свободно распространяемая. Технологии Flashback, позволяющие быстро восстановиться после логических повреждений, работать с историческими данными, тоже еще не реализованы в Postgres.
СУБД Oracle успешно работает с терабайтами данных, как при OLTP нагрузке, так и с еще бОльшими объемами данных в Data Warehousing, где превалируют аналитические запросы. Postgres не всегда справляется с такой нагрузкой. Так что есть над чем работать…
- Как современные СУБД решают проблему роста данных?
– У Oracle есть технология Real Application Cluster, где нагрузка распределяется между несколькими узлами кластера. При нехватке ресурсов узлы можно добавлять, и наоборот, узел можно удалить из кластера, если нагрузка снижается. Она предоставляет не только возможности масштабирования нагрузки, но и защиту от сбоев экземпляров БД.
Также в версии 12.2 реализована технология Oracle Sharding, которая дает возможность разбить таблицу на несколько частей и хранить эти части в разных базах данных, на отдельных серверах. Для приложений это выглядит как единая база данных. Управление этой топологией осуществляется с помощью ПО Global Data Services.
Технология Active Data Guard Far Sync обеспечивает синхронную передачу данных с основной БД на резервную и позволяет вынести с основной площадки отчетность, аналитику и резервирование. В случае сбоя или выполнения операций сопровождения на основной БД можно переключиться на резервную. Для приложений это будет выглядеть как небольшое замедление работы. Для этого используются технологии Transparent Application Failover, Fast Application Notification, Application Continuity. Возможность In-Memory для кеширования табличных данных в памяти не только в построчном формате, но и в поколоночном, позволяющая эффективно совмещать в одной системе OLTP и OLAP приложения, была реализована в версии 12.1.0.2 и активно развивается Oracle. Ранее она была доступна только на Exadata.
Еще одна технология Full Database In-Memory Caching позволяет практически все данные, кроме данных в SYSAUX и временных табличных пространствах, полностью кешировать в оперативной памяти. Это тоже позволит ускорить работу с данными.
Эти технологии по-разному реализованы у вендоров, но у Oracle, в отличие от других – всё в одной корзине.
- Как технологии искусственного интеллекта интегрируются сегодня в СУБД?
– Oracle идёт по пути написания ПО, обеспечивающего функции самодиагностики и самонастройки, которое позволяет человеку выполнять только творческую работу. По сути, разработчик пишет приложение, в то время как СУБД автоматизированно выполняет операции сопровождения. СУБД сама определяет: какие размеры структур памяти наиболее подходят для текущей нагрузки; где нужно секционировать данные и какой тип будет наиболее эффективен; где создать или удалить индексы; какие данные, с которыми менее активно работают пользователи хорошо бы сжать и переместить в хранилище данных. Библиотеки машинного обучения используются для настройки производительности. Часть этих возможностей работает только на Exadata или облачной инфраструктуре. Oracle Generation AI – это служба для интеграции универсальных языковых моделей в широкий спектр вариантов использования, как в бизнес-приложениях, так и в их разработке.
Есть тренд на развитие облачных сервисов, когда для развертывания ПО или масштабирования ресурсов, пользователю нужно нажать пару кнопок в браузере. За такими разработками, несомненно, будущее.
- Ваше отношение к заявлению аналитиков Gartner о неизбежности перехода на естественный язык в работе с большими данными уже в следующем году.
– Думаю, что эти сроки нереальны… Знание SQL для разработчиков еще долго будет необходимостью.
Но тенденция понятна. В настоящее время, при создании ПО, разработчик зачастую уже не пишет код на каком-либо языке, а открывает графический интерфейс среды разработки и накидывает нужные объекты на рабочее полотно, при этом автоматически генерируется код. Почему бы не научить среду разработки генерировать код SQL в ответ на запросы пользователей на естественном языке? Это уже реализовано в Oracle Autonomous Database Select AI, APEX AI Assistant, что позволяет приложениям использовать LLM (large language models) для понимания вопросов пользователей на естественном языке и генерировать Oracle SQL для запроса данных. Но насколько эффективно работает этот функционал на текущий момент, сказать трудно. У меня нет опыта работы с этими возможностями.
- Как в быстро меняющемся мире пользователю успевать осваивать огромное число учебных программ?
– Сегодня большинство вендоров выкладывают документацию публично, и у желающих есть доступ к базе знаний. Кроме того, существует количество ресурсов, позволяющих изучить языки программирования, нужный функционал. Но есть риск столкнуться с устаревшими или недостоверными материалами.
Нужно начинать обучение с изучения документации непосредственно от вендора, а также постоянно использовать изученные возможности в реальной работе. К сожалению, для прочтения объемных томов потребуется много времени. Один из моих слушателей настоятельно попросил меня составить список руководств в документации Oracle, в правильной последовательности, для обучения администратора БД. Минимум составлял 6 руководств, каждое из которых включало в среднем 1000 страниц. Это большие объемы, учитывая, что нужно не просто читать, а попытаться попробовать функционал на БД, и понять, как это работает.
Курсы Учебного центра, как раз, позволяют быстро научить специалиста нужным основам администрирования, настройки производительности, использованию различных технологий и инструментов. Выполнение практик позволяет закрепить знания. Можно в любое время задать вопросы, если что-то не понятно. Если преподаватель видит глаза студентов, понимает их потребности, он максимально качественно и доступно для понимания постарается объяснить материал.
Возможно, в будущем, для расширения диапазона знаний, достаточно будет воспользоваться внедренными чипами, которые будут дополнять наши умственные возможности, но думаю это будет не скоро!
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
|