Open Source для работы с данными: преимущества и возможности
ЮНИСЕФ совместно с NURIS — инновационным кластером Назарбаев Университета — запустили в 2023 году инвестиционный проект по созданию новых цифровых продуктов с открытым исходным кодом. Этот шаг стал логическим следствием растущего интереса компаний Казахстана к открытым продуктам, причём в фокусе интереса находятся продукты для работы с данными.
Разберёмся, в чём преимущества open-source решений и какие задачи по управлению данными они помогают решать.
В чём преимущества открытого кода
Исходный код, из которого компилируются привычные коммерческие приложения, такие как MS Office или Adobe Photoshop, закрыт для изучения. Open-source решения, напротив, поставляются с лицензией, которая разрешает не только изучать, но и модифицировать исходный код под свои потребности.
Доступ к исходному тексту нужен не только программистам. Его открытость важна и для бизнеса, потому что даёт:
- Гибкость. Лицензия разрешает любые модификации кода, поэтому можно добавить нужные функции своими силами или нанять кого-то, кто сделает это.
- Надёжность. Найти и исправить ошибки в программе при наличии исходного гораздо быстрее, чем писать заявку разработчику на исправление обнаруженной уязвимости.
- Стоимость. Продукты с открытым кодом доступны бесплатно. Если нужна техническая поддержка, можно за неё заплатить, причём сделать это только тогда, когда она необходима.
- Независимость. Когда коммерческая компания прекращает разрабатывать или поддерживать программный продукт, пользователи теряют поддержку, исправления ошибок и безопасности. Ждать новых версий тоже не приходится. С open-source такого не произойдёт: если продукт важен для бизнеса, заключите контракт с разработчиками и оперативно получите доработки и исправления.
Лицензия на open-source разрешает свободно модифицировать программу под свои нужды, использовать код внутри другой программы, раздавать копии друзьям и даже упаковать программу как коммерческий продукт и продавать её.
Ограничение всего одно: если вы изменяете или используете часть программы с открытым исходным кодом и распространяете её, делать это нужно на тех же условиях, то есть предоставлять доработанный исходный код. В этом и состоит истинная сила Open Source.
Как открытый код помогает в работе с данными
Машинное обучение
Текущий год продемонстрировал взрывной рост интереса к искусственному интеллекту (ИИ) и связанным с ним технологиям. В 2023 году ИИ «пошёл в народ», его применение стало по-настоящему массовым.
Чтобы ИИ полноценно работал, его нужно обучить. Этот процесс называют машинным обучением (Machine Learning, ML). Для этого используются специальные библиотеки, такие как open-source фреймворки PyTorch, TensowFlow или Keras. Они помогают создавать и обучать модели, интегрировать поддержку ИИ в приложения.
В 2017 году Яндекс разработал новый метод машинного обучения, получивший название CatBoost. Его преимущество — эффективное обучение моделей на разнородных данных, например, местонахождение пользователя, история операций и тип устройства. Разработчики опубликовали исходный код библиотеки CatBoost под открытой лицензией и сделали его доступным для всех желающих.
Большие данные
Большими данными называют огромные массивы информации, структура которых заранее неизвестна. Это может быть как огромное хранилище данных, состоящее из связанных таблиц, так и просто набор файлов, загруженных пользователями на видеохостинг или в социальную сеть.
Сам термин «большие данные» появился в 2008 году с лёгкой руки редактора журнала «Nature» Клиффорда Линча. Он считал, что так следует называть массивы информации, которые растут быстрее, чем на 150 Гб в сутки.
Современное представление больших данных больше ориентировано не на конкретные объёмы и даже не на наличие или отсутствие структуры. Большие данные — это подход к их обработке с учётом непредсказуемости и распределённости. Этот подход требует специализированных инструментов. Разумеется, имеются как коммерческие решения, так и решения с открытым кодом. Самая известная open-source платформа для бигдаты — Apache Hadoop.
Hadoop стал синонимом больших данных. С помощью платформы выполняют распределённую обработку гигантских массивов информации. При этом не имеют значения структура и формат этой информации. Apache выложил в open-source и другие технологии, которые расширяют возможности Hadoop. Это Pig, Spark и ZooKeeper.
Свой вклад в open-source инструментарий для работы с бигдатой сделала компания Яндекс, опубликовав исходный код YTsaurus — платформы для хранения и обработки больших данных, с которой работает большинство сервисов Яндекса.
YTsaurus подходит для многих задач от аналитики до обучения сложных моделей с миллиардами параметров. В Яндексе она развёрнута на десятках тысяч серверов и обрабатывает эксабайты данных.
Базы данных
Самые известные open-source системы управления базами данных (СУБД) — это MySQL и PostgreSQL. На них построены популярные системы управления контентом (Wordpress, Joomla), их используют многие крупные компании. Например, Facebook изначально работал на «классическом» MySQL, а потом разработал свой вариант — MySQL-WebScaleSQL, который лучше подходит для обработки огромных объемов данных и их масштабирования.
Под открытой лицензией доступны не только SQL-СУБД, но и NoSQL базы, такие как Apache Cassandra, Redis, Elasticsearch, YDB и ClickHouse от Яндекс.
Любопытный факт: ClickHouse не похожа на большинство других NoSQL баз данных, поскольку в качестве языка запросов использует модифицированный SQL, однако, как и другие NoSQL платформы позволяет построить отказоустойчивый кластер очень большого размера. Эти возможности ClickHouse уже используют в OZON, Райффайзен банке, S7 Airlines, eBay и VK.
Аналитика и визуализация
Манипуляции с данными, как и организация их хранения, чрезвычайно важны, но обычному человеку трудно оценить, чем одна система отличается от другой. Причина в том, что происходящее «под капотом» скрыто от глаз.
Оценить многообразие собранных данных и получить преимущества от владения этой информацией помогают системы визуализации и бизнес-аналитики (Business Intelligence, BI).
Программное обеспечение для бизнес-аналитики с открытым исходным кодом совершило революцию в анализе данных. Компании получили экономически эффективные решения, отвечающие конкретным потребностям бизнеса.
BI-инструменты с открытым исходным кодом предлагают мощные функции, которые можно гибко настраивать и легко интегрировать в существующие бизнес-процессы. Благодаря этому руководители оперативно получают доступ к ценным сведениям и принимают обоснованные решения.
Среди популярных BI-решений с открытым кодом можно выделить Preset — BI инструмент для Apache Superset, Lightdash, Helical Insight, который использует машинное обучение и обрабатывает запросы на естественном языке, SpagoBI, ReportServer, Metabase.
В сентябре 2023 года арсенал BI-инструментов с открытым кодом пополнился решением Yandex DataLens. Этот сервис подходит для самых разных видов анализа и визуализации данных. С его помощью можно строить дашборды для мониторинга ключевых бизнес-метрик и обеспечивает коллективный доступ к аналитике.
Заключение
Чтобы сохранить конкурентоспособность на международном рынке, компаниям не обойтись без качественной работы с данными. Многообразие open-source продуктов для работы с данными и их богатая функциональность позволяют решать самые сложные задачи, включая разработку нейросетей, машинное обучение и дата-майнинг, аналитику и визуализацию.