Open Source для работы с данными: преимущества и возможности

Open Source для работы с данными: преимущества и возможности


ЮНИСЕФ совместно с NURIS — инновационным кластером Назарбаев Университета — запустили в 2023 году инвестиционный проект по созданию новых цифровых продуктов с открытым исходным кодом. Этот шаг стал логическим следствием растущего интереса компаний Казахстана к открытым продуктам, причём в фокусе интереса находятся продукты для работы с данными.  

Разберёмся, в чём преимущества open-source решений и какие задачи по управлению данными они помогают решать. 

В чём преимущества открытого кода

Исходный код, из которого компилируются привычные коммерческие приложения, такие как MS Office или Adobe Photoshop, закрыт для изучения. Open-source решения, напротив, поставляются с лицензией, которая разрешает не только изучать, но и модифицировать исходный код под свои потребности. 

Доступ к исходному тексту нужен не только программистам. Его открытость важна и для бизнеса, потому что даёт: 

  1. Гибкость. Лицензия разрешает любые модификации кода, поэтому можно добавить нужные функции своими силами или нанять кого-то, кто сделает это.
  2. Надёжность. Найти и исправить ошибки в программе при наличии исходного гораздо быстрее, чем писать заявку разработчику на исправление обнаруженной уязвимости.  
  3. Стоимость. Продукты с открытым кодом доступны бесплатно. Если нужна техническая поддержка, можно за неё заплатить, причём сделать это только тогда, когда она необходима.
  4. Независимость. Когда коммерческая компания прекращает разрабатывать или поддерживать программный продукт, пользователи теряют поддержку, исправления ошибок и безопасности. Ждать новых версий тоже не приходится. С 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 продуктов для работы с данными и их богатая функциональность позволяют решать самые сложные задачи, включая разработку нейросетей, машинное обучение и дата-майнинг, аналитику и визуализацию.