company_banner
  • Разбор задачек Joker 2018



      Алоха!

      Вот и закончилась одна из самых хардкорных конференций в мире Java — Joker 2018, которая традиционно проходит в Санкт-Петербурге в «Экспофоруме». В этом году в конференции участвовало рекордное количество участников. «Одноклассники» традиционно предложили помочь нашим разработчикам решить нетривиальные задачи, которые возникают при создании одного из самых высоконагруженных проектов на Java.

      Те, кто хорошо ответил на вопросы, получили призы, а вам предлагаем краткий разбор наших задачек. Мы скрыли правильные ответы под спойлером, чур, открывать только после того, как сами додумались до решения ;-)

      Поехали!
      Читать дальше →
      • +35
      • 9,8k
      • 6
    • Особенности использования Druid на примере Одноклассников



        Меня зовут Юрий Невиницин, и я занимаюсь системой внутренней статистики в «ОК». Хочу рассказать о том, как 50-терабайтную аналитическую систему реального времени, в которой ежедневно журналируются миллиарды событий, мы переносили с Microsoft SQL на колоночную базу под названием Druid. И заодно вы узнаете несколько рецептов использования Druid’а.
        Читать дальше →
        • +25
        • 3,2k
        • 8
      • NewSQL = NoSQL+ACID


          До недавнего времени в Одноклассниках около 50 ТБ данных, обрабатываемых в реальном времени, хранилось в SQL Server. Для такого объема обеспечить быстрый и надежный, да еще и устойчивый к отказу ЦОД доступ, используя SQL СУБД, практически невозможно. Обычно в таких случаях используют одно из NoSQL-хранилищ, но не всё можно перенести в NoSQL: некоторые сущности требуют гарантий ACID-транзакций.

          Это подвело нас к использованию NewSQL-хранилища, то есть СУБД, предоставляющей отказоустойчивость, масштабируемость и быстродействие NoSQL-систем, но при этом сохраняющей привычные для классических систем ACID-гарантии. Работающих промышленных систем этого нового класса немного, поэтому мы реализовали такую систему сами и запустили ее в промышленную эксплуатацию.

          Как это работает и что получилось — читай под катом.
          Читать дальше →
        • Oh, My Code: Машинное обучение и аналитика в «Одноклассниках»



            В чём разница между Machine Learning и анализом данных, кто сидит в «Одноклассниках» и как начать свой путь в машинном обучении — об этом мы беседуем в двенадцатом выпуске ток-шоу для программистов.


            Видео на канале Технострим

            Ведущий программы — технический директор медиапроектов Павел Щербинин, гость — инженер-аналитик «Одноклассников» Дмитрий Бугайченко.
            Читать дальше →
            • +30
            • 6,7k
            • 8
          • Разбор задачек от Одноклассников на JPoint 2018

              Алоха!

              Самым, наверное, интересным событием на этой неделе в мире Java стала конференция JPoint, которая прошла в Центре Международной Торговли в Москве. Одноклассники предложили посетителям тоже поучаствовать в разработке самой высоконагруженной системы на Java и помочь нашим разработчикам в решении практических задач, с которыми они сталкиваются в своей работе.

              Одиннадцать человек, лучше всех решивших эти задачки, уже получили от нас призы, ну а для остальных мы запилили этот пост с разбором решений.
              Читать дальше →
              • +32
              • 10,8k
              • 4
            • Щи, или Распознавание 330 млн лиц на скорости 400 фото / сек

                Распознаванием лиц в 2018 году никого не удивишь – каждый студент, может, даже школьник, его делал. Но всё становится немного сложнее, когда у вас не датасет на 1 млн пользователей, а:


                • 330 миллионов пользовательских аккаунтов;
                • ежедневно заливается 20 млн пользовательских фотографий;
                • максимальное время на обработку одного фото не должно превышать 0.2 сек;
                • ограниченные объемы оборудования для решения задачи.


                В этой статье мы поделимся опытом разработки и запуска системы распознавания лиц на пользовательских фотографиях в социальной сети Одноклассники и расскажем про все ”от А до Я”:


                • математический аппарат;
                • техническую реализацию;
                • результаты запуска;
                • и акцию StarFace, которую мы использовали для PR-а нашего решения.

                Распознавание лиц Одноклассников в деталях
              • Лекции Технополиса. Проектирование высоконагруженных систем (осень 2017)



                  Мы начинаем публиковать курсы лекций Технополиса — образовательного проекта команды Одноклассников в Санкт-Петербургском Политехническом университете Петра Великого. Создание высоконагруженных приложений — это не только проектирование и написание кода, но и огромное количество других аспектов на всём протяжении жизненного цикла продукта. Мы пройдём по всему процессу создания и использования высоконагруженной системы. Особое внимание будет уделено особенностям эксплуатации, сетям, балансировке нагрузки, иерархии памяти, повседневным инструментам. Также поговорим о мониторинге, аудите и многом другом. Лекции курса читает команда экспертов под руководством ведущего разработчика в Одноклассниках Вадима Цесько.

                  Список лекций:

                  1. Введение (Вадим Цесько incubos)
                  2. Типовые архитектуры (Александр Христофоров)
                  3. Эксплуатация (Илья Щаников)
                  4. Сетевой стек (Дмитрий Самсонов dmitrysamsonov)
                  5. Балансировка (Андрей Домась)
                  6. Процессоры и память (Алексей Горбов)
                  7. Хранилища данных (Сергей Егоричев)
                  8. JVM (Андрей Паньгин apangin)
                  9. Мониторинг (Сергей Шарапов Sharapoff)
                  10. Облака (Леонид Талалаев)

                  Читать дальше →
                • One-cloud — ОС уровня дата-центра в Одноклассниках


                    Алоха, пипл! Меня зовут Олег Анастасьев, я работаю в Одноклассниках в команде Платформы. А кроме меня, в Одноклассниках работает куча железа. У нас есть четыре ЦОДа, в них около 500 стоек более чем с 8 тысячами серверов. В определенный момент мы поняли, что внедрение новой системы управления позволит нам более эффективно загрузить технику, облегчить управление доступами, автоматизировать (пере)распределение вычислительных ресурсов, ускорить запуск новых сервисов, ускорить реакции на масштабные аварии.


                    Что же из этого получилось?

                    Читать дальше →
                    • +40
                    • 11,2k
                    • 7
                  • Как не положить тысячи серверов с помощью системы централизованного управления конфигурацией на примере CFEngine


                      Привет, Хабр! Меня зовут Дмитрий Самсонов, я работаю ведущим системным администратором в Одноклассниках. Основные сферы моей компетенции — Zabbix, CFEngine и оптимизация Linux. У нас более 8 тыс. серверов и 200 приложений, которые в различной конфигурации формируют 700 различных кластеров. Тема этой статьи исчерпывающе описана в заголовке.


                      Сразу хочу оговориться:


                      • Я буду предвзят, потому что участвовал во внедрении CFEngine в Одноклассниках.
                      • Я пользовался CFEngine только версий 3.3—3.4.
                      • Я не питаю никаких иллюзий по поводу CFEngine, это значимый игрок, но не лидер рынка и не его аутсайдер. В статье не будет сравнений работы CFEngine с другими системами.
                      • Из систем конфигурации у меня есть опыт использования только CFEngine и Ansible.
                      Читать дальше →
                    • Таргетирование приложения «Модератор Одноклассников»

                        У социальной сети Одноклассники, как и у других интернет-ресурсов, где пользователи могут загружать любой контент, существует задача фильтровать изображения, нарушающие законы Российской Федерации и лицензионное соглашение самой площадки. Таким контентом в соцсети считается порнография в открытом доступе, а также сцены насилия, жестокости и прочие ужасные картинки.


                        Ежедневно в социальную сеть загружается более 20 миллионов картинок. Для того чтобы их проверить, наши инструменты на основе нейронных сетей автоматически фильтруют картинки определенных категорий. Однако часть контента мы пропускаем через ручную разметку, так как не всегда нейронная модель однозначно может определить, есть запрещенный контент на картинке или нет. Наш любимый пример пограничного контента — диван из разряда «показалось».


                        Читать дальше →

                      Самое читаемое