Сегодня 10 октября и это значит, что проекту "ВКонтакте" исполнилось 20 лет.
Сегодня 10 октября и это значит, что проекту "ВКонтакте" исполнилось 20 лет. Для нас, людей из мира данных, эта дата интересна прежде всего инженерной стороной вопроса. VK начинался как студенческий проект одного всем известного человека — и писался с нуля: без сторонних библиотек и фреймворков, от личных сообщений до поиска. И вот здесь начинается самое любопытное для DBA. То, что начиналось как PHP-монолит на MySQL, сегодня — экосистема, которая пережила несколько волн переписывания архитектуры. Пик нагрузки VK — около 3 млн запросов в секунду, петабайты данных, сотни миллионов пользователей. Обычный MySQL с этим бы не справился — и не справился. Отсюда рост в сторону распределённых решений: шардирование, Galera Cluster для синхронной репликации, вынос аналитики в ClickHouse, переход на Go-сервисы и современные open-source СУБД. Сейчас в стеке VK — PostgreSQL, MongoDB, Redis, Cassandra, ClickHouse, Kafka. Это уже не «сайт для студентов», а распределённая система, которая по сложности сопоставима с инфраструктурой любого глобального игрока. Что полезного тут можно вынести для себя? Пожалуй, одну простую мысль: любая система начинается с малого. MySQL в 2006-м казался достаточным. Через пять лет — перестал. Через десять — потребовалась собственная распределённая платформа. Хороших Вам выходных, коллеги!