Считаем звёзды в облаках: эксперимент создателей ClickHouse c датасетом GitHub

За основу этой статьи мы взяли публикацию «Milovidov A., 2020. Everything You Ever Wanted To Know About GitHub (But Were Afraid To Ask)».


Разработчики ClickHouse проанализировали датасет архива GitHub из 3 млрд записей и 74 млн форков, сделанных за десять лет миллионами программистов. И получили любопытную статистику о пользователях, компаниях, репозиториях и пулреквестах.

Аналитика данных в облаке: почему это удобно

Аналитика GitHub предоставляет широкие возможности для изучения тенденций настоящего и будущего развития индустрии IT.

Даже отдельно взятому программисту любопытно знать, в какой день недели выше шанс поймать звезду, выложив свой проект на GitHub. Что уж говорить о компаниях, данные о которых можно проанализировать исходя из открытых фактов — количества репозиториев у компании, звезд и форков, issue и коммитов, которые оставляют сами разработчики. Достаточно уметь пользоваться инструментом для сбора и аналитики данных.

Один из популярных инструментов аналитики big data — СУБД ClickHouse. Сегодня при его помощи сотни корпораций работают с данными и анализируют в режиме реального времени петабайты информации.

Датасет, созданный в ClickHouse на основе архива GitHub, включает в себя все события всех репозиториев за десять лет. Он был подготовлен командой ClickHouse в 2020 году.

К счастью, сегодня облачные технологии уже позволяют обходиться без мощного железа и максимально быстро получать аналитику информационных массивов. Поэтому вы сами можете подготовить свой датасет GitHub и легко воспроизвести данные статистики с помощью управляемого ClickHouse в Yandex.Cloud.

Managed Service for ClickHouse как облачный сервис закрывает потребность в обслуживании баз данных — резервировании, мониторинге, обеспечении отказоустойчивости и обновлении ПО. Благодаря этому инструменту компании могут не беспокоиться о том, как работает СУБД, а концентрироваться на основных проектах. И, анализируя рынок, двигаться быстрее конкурентов.

Для этой статьи мы перевели и адаптировали занятные, на наш взгляд, данные о кухне разработчиков на самой большой в мире площадке для совместной работы программистов. Кроме того, для получения запросов мы использовали управляемый ClickHouse, из консоли которого сделали скриншоты.

12 фактов о мировой разработке на основе данных из GitHub

Звездный рейтинг репозиториев

Репозиториев, у которых есть хотя бы одна звезда, — 16 млн. Репозиториев с 10 или более звездами — 1,4 млн. Всего лишь 240 тыс. репозиториев получили свыше 100 звезд, 29 тыс. — больше 1 тыс. звезд, 1800 — более 10 тыс. звезд, и только 20 репозиториев получили свыше 100 тыс. звезд.

В какой день недели выше шансы поймать звезду

распределение звезд по дням недели

Как видите, это — вторник. И никак не выходной! Среда или четверг — еще может быть, но никак не понедельник и не пятница.

Общее число пользователей GitHub

количество пользователей GitHub

34 миллиона. На самом деле это не просто зарегистрированные пользователи, а те, кто хоть что-то когда-то сделал на платформе.

Репозитории с наибольшим числом форков

репозитории с наибольшим числом веток

На GitHub насчитывается 74 млн форков. Это примерно половина всех репозиториев. Если отфильтровать репозитории, основная цель которых — создание форков, то явным победителем станет TensorFlow, далее идут Bootstrap, React, OpenCV и Linux.

Самые громкие ревью кода

наибольшее число авторов для одного pull request

Первая ссылка в списке — сущее безумие. Но есть и немало интересных вещей, например предложение добавить встроенный ассемблерный код в Rust.

Рейтинг компаний по числу звезд

рейтинг компаний по числу репозиториев со звездами

Можно заметить, что Google слегка опережает Microsoft. На самом деле все зависит от того, как вы будете считать. Пожалуй, можно приплюсовать TensorFlow, Kubernetes, Flutter, Golang и Chrome — к Google, GitHub и .Net — к Microsoft, Facebook Research и React — к Facebook.

Рейтинг компаний по числу репозиториев

рейтинг компаний по количеству репозиториев

Чтобы не показывать пользователей, имеющих огромное число разветвленных репозиториев, или тех, кто использует GitHub не по назначению, разработчики добавили порог в десять звезд. Microsoft побеждает с огромным отрывом. Издательство Packt Publishing также заслуживает внимания — у них есть репозитории для статей и книг. Sindre Sorhus тоже весьма известен в проектах с открытым исходным кодом, в основном как один из авторов списка Awesome Awesomeness.

Рейтинг компаний по размеру сообществ пользователей

Microsoft побеждает в четырех из шести категорий. Apache выигрывает по числу рецензентов кода. Оказывается, они не всегда используют JIRA. Проект learn-co-students выигрывает по числу авторов пулреквестов. Кстати говоря, у них есть еще 250 тыс. репозиториев!

Наиболее часто используемые ярлыки

наиболее часто встречающиеся ярлыки

Какие самые популярные ярлыки у issue и pull request? Багов больше, чем улучшений. К счастью, совсем ненамного. JavaScript — это единственный ярлык, связанный с языком программирования, в верхней части списка.

Самые длинные имена репозиториев

самые длинные имена

Самое любимое название среди разработчиков — это название из 132 латинских букв «e» подряд. Как, вы до сих пор не слышали об этом репозитории?

Самые короткие имена репозиториев

самые короткие имена

Рулетка GitHub — истинное лицо Octoverse

рулетка GitHub

Выполните несколько запросов и почувствуйте истинный пульс Octoverse.

Можете сами поиграть с данными GitHub и создать свои запросы к «лунной призме» разработчиков. Как это делается, пошагово описано в статье Алексея Миловидова.

Конечно, архивный датасет GitHub очень мал для ClickHouse. Многие компании используют распределенные многопетабайтные установки ClickHouse для различных высоконагруженных задач — например, для анализа существенной доли мирового интернет-трафика в режиме реального времени.

А вся аналитика десятилетнего архива GitHub легко умещается на ноутбуке. И даже если ваш ноутбук недостаточно мощный, вы можете развернуть собственный экземпляр Managed Service for ClickHouse в облаке и на нем уже экспериментировать с данными — за секунды получать аналитику информационных массивов для вашего бизнеса и точнее прогнозировать дальнейшее развитие.

  • Статьи