• Миграция базы данных с InnoDB на MyRocks

    • Перевод


    Зоджи-Ла, Индия


    Привет, Хабр! Меня зовут Олег Ефимов, я работаю в Badoo в команде «Платформа», занимаюсь задачами хранения фотографий, интерфейсами сервисов и много чем ещё.


    Мне часто приходится слышать, что в том, что касается серверных технологий, Badoo – довольно консервативная компания. Отчасти это так, но на самом деле мы используем много молодых языков программирования, новых инструментов и технологий. Одна из них – RocksDB, на основе которой Facebook создал MySQL storage engine – MyRocks. Пост о том, как Facebook осуществлял миграцию одной из своих баз данных с InnoDB на MyRocks, мне и захотелось для вас перевести.

    Читать дальше →
  • Мониторинг приложений с помощью Pinba

    • Перевод

    Drawing Привет, Хабр! Мы в Badoo стараемся активно участвовать в жизни IT-сообщества: используем многие open-source-технологии и инструменты, а также делимся своими разработками.


    Один из таких инструментов – Pinba – сервис для получения realtime-статистики от работающих приложений без накладных расходов на её сбор. Узнать побольше вы можете в этой статье.


    Мы стараемся помочь всем, кто использует Pinba в своих проектах и всегда рады слышать success stories, связанные с Pinba. Этот перевод – одна из подобных историй от разработчиков Dailymotion.

    Читать дальше →
    • +44
    • 8,5k
    • 2
  • Новая версия V8 будет на 50% быстрее

    • Перевод
    Сегодня мы представляем вам Crankshaft (коленчатый вал — прим. пер.), новую инфраструктуру компиляции для V8, JavaScript движка Google Chrome. Используя агрессивную оптимизацию, Crankshaft значительно повышает производительность ресурсоёмких JavaScript приложений — часто более чем в два раза! Это делает интернет-страницы и приложения, использующие сложный код, более отзывчивыми и быстрыми для пользователей. Сравним производительность Chrome с Crankshaft и без него на стандартном наборе тестов V8:



    Читать дальше →
  • Переход Node.js под крыло Joyent, выпуск версий v0.2.5 и v0.3.1

    • Перевод
    В течении последних месяцев стало ясно, что возрастающая популярность Node требует большей и лучше организованной команды разработчиков. Действительно, чтобы Node стал более популярен, и возможно стал следующим PHP, требуются инвестиции в команду разработчиков на полной занятости. Нужна компания, поддерживающая их и позволяющая наладить отношения с большими компаниями, которые могут использовать Node в своих проектах и внести свой вклад в проект.



    Основной бизнес Joyent (облачные вычисления) вполне отвечает духу свободного и открытого Node. По этим причинам я заключил соглашение с Joyent об официальной поддержке Node.js. Единственное изменение, которое коснётся разработчиков — CLA будет подписываться не со мной, а с Joyent. Node будет продолжать регулярно выходить под лицензией MIT. В рамках соглашения — в дополнение к поддержке моих разработок — мы наняли Isaac Schlueter и планируем расширить команду ещё на одного человека в ближайшее время. Скоро мы начнём сдавать в аренду наши минималистичные инстансы no.de (хостинга с поддержкой Node) и разрабатывать на заказ различные модули и дополнения для Node.

    Под катом описание изменений в выпущенных вчера версиях Node.js v0.2.5 и v0.3.1.
    Читать дальше →
  • Node.js v0.2.4 и ожидаемые улучшения в ветке v0.3.x

      Прошедшие выходные могут похвастаться двумя релизами Node.js: очередной минорной версией в ветке v0.2.x и официальным релизом ветки v0.3.x.
      И пусть разрабатываемая ветка всё ещё отмечена как «нестабильная», в ней ожидаются существенные улучшения производительности, переносимости и добавление новых возможностей, о которых стоит знать уже сейчас. Тем более, что эта версия уже вполне работоспособная.
      Также в конце топика бонус в виде ссылок на репозитории пакетов Node.js v0.2.x и NPM (Node.js package manager).
      Читать дальше →
    • TCP Congestion Control или Почему скорость прыгает

        Всем привет!

        Бывало ли у вас такое, что ставите файл на закачку, и скорость медленно, но верно возрастает, затем, в какой-то момент, резко снижается, затем опять возрастает? Закачка файла в один поток не обеспечивает полную скорость канала? Запускаете торрент-клиент, и пинг в игре сильно прыгает? Используете 3G-модем (или другую линию с относительно большой потерей пакетов) и не можете это терпеть?
        Наверняка вы винили во всем ваш роутер, либо обвиняли своего провайдера в кривой настройке шейпера? Это влияет, но виноваты не они.
        Итак, встречайте:

        TCP Congestion Control, или TCP Congestion Avoidance Algorithm.

        Читать дальше →
      • Мир лицензий: разбираемся с MIT license

          image
          В предыдущих статьях я постарался рассказать про лицензии GPL и BSD, их историю, виды и чем они отличаются друг от друга. В этот раз я постараюсь рассмотреть другую, чуть менее популярную лицензию — X11(MIT) license.

          Читать дальше →
        • Изобретаем JPEG

          • Tutorial

          Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

          Знание алгоритма JPEG очень полезно не только для сжатия изображений. В нем используется теория из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др. Поэтому полученные знания могут пригодиться где угодно.

          Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

          Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
          Читать дальше →
        • Как мы мигрировали миллионные страны за рабочий день

            Badoo — крупнейшая в мире социальная сеть для знакомств с новыми людьми, насчитывающая 190 миллионов пользователей.
            Все данные хранятся в двух дата-центрах — европейском и американском. Некоторое время назад мы исследовали качество интернет-соединения у наших пользователей из Азии и обнаружили, что для 7 миллионов пользователей наш сайт будет загружаться в 2 раза быстрее, если мы переместим их из европейского дата-центра в американский. Перед нами впервые встала задача крупномасштабной миграции данных пользователей между дата-центрами, с которой мы успешно справились: мы научились перемещать 1,5 миллиона пользователей за один рабочий день! Мы смогли перемещать целые страны! В первой части мы подробно расскажем о поставленной перед нами задаче и о том, какого результата мы достигли.
            Читать дальше →
          • Видеозаписи докладов с High Performance Conference

              Дорогие хабрачитатели, мы готовы представить вам видеозаписи всех докладов с конференции по высоким нагрузкам HPC, которая состоялась 9 августа в Москве.



              Прямо сегодня (или в любое удобное для вас время) в программе:
              Сергей Аверин XEK, Badoo (участвовал в создании таких проектов как Хабр, dirty, leprosorium, autokadabra, dribbler, trendclub и др.);
              Юрий Насретдинов, Badoo;
              Андрей Сумин AndrewSumin, Mail.ru Group (ранее Яндекс, HeadHunter);
              Константин Осипов, Mail.Ru Group ( ранее Oracle, Sun, MySQL, Ringrows, Spylog, Interpro);
              Даниил Павлючков, ITmozg.ru.

              Читать дальше →
              • +18
              • 12,5k
              • 3