14-15 апреля 2014 года, Москва, гостиница Рэдиссон Славянская (у Киевского вокзала, что само по себе символично).

Надо сказать, на этот раз что-то не заладилось: народу было совсе не густо, да и программа не вызывала особого восторга (ну это — кому как).

В целом все было предсказуемо: АйТи-отрасль движется в прежнем (правильном) направлении, много докладов было посвящено прошедшим Олимпийским играм (не слушал), Postgres радует новыми фичами, Tarantool тоже, Hadoop все ругают, не предлагая ничего взамен, DLP/PRISM/СОРМ поднялись на новый уровень и закосили под Искусственный интеллект, появилось новое понятие — NewSQL. Народ все тот-же, единственные солидные люди — гостинничные охранники в черных костюмах с одинаковыми лицами 🙂

Ну обо всем по-порядку.

Scratch: учим своих детей программировать

Дмитрий Лоханский (Кодабра)

Кодабра — некоммерческий проект. Внедряется в московских школах. Ищут волонтеров.

Основная идея — перевести ребенка с уровня потребителя (компьютерные игры) на уровень создателя. Обучаются дети с восьми лет.

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

Существует в виде онлайн-платформы ([1]), либо может быть развернут локально (Винда, Линукс, Мак).

Для дальнейшего обучения есть более сложные системы:

  • processing.org [2] — java-подобный язык
  • piktomir.ru [3]
  • kodugamelab.com [4]
  • Microsoft Robotics Developer Studio [5]
  • Lego Mindstorm [6]

 

Pulsedb — система хранения временных рядов

Максим Лапшин (Erlyvideo)

Решалась задача:

  • хранить за большое время статистические замеры (скорость на интерфейсах, пользователи онлайн и т.п.), представляемые в виде равномерных временных рядов (т.е. один замер в секунду)
  • показывать графики с этими замерами с агрегациями по тэгам, «склеивая» аналогичные замеры с разных серверов;
  • показывать это всё в реальном времени.

В результате был написан сервер Pulsdb [7] [8], выложен в Open Source. Сервер написан на Erlang, имеет собственный механизм хранения без каких-либо зависимостей. Графики во встроенном веб-интерфейсе — highcharts.

Структура: HTTP Upgrade + текстовый протокол. Собственный формат хранения. Последняя минута в памяти. Хранение на диске, 2 байта на замер. Хранение приблизительного значения — 14 бит значения, 2 бита на порядок. Часовые блобы для каждой метрики. Слияние баз простым апдейтом. Данные шардятся по аккаунтам. Раздельная очистка секундных и минутных данных. Внешняя авторизация продюсеров. Внешний резолвинг графиков. Репликация.

Работающая система: 20-50 серверов, 30-150 каналов на каждом, по 3 метрики с канала (in,out,clients). 2-10 тыс. замеров в секунду, 25 GB в месяц (10 млрд замеров). Одна холодная виртуалка в DigitalOcean.

В ближайшее время планируется сделать к базе нативный MySQL-интерфейс. GUI для данных.

Похожие проекты:

  • RRDtools (все знают) — нет хорошего api, форк на каждое обновление метрики
  • Graphite (python) — не умеет склеивать метрики на лету, никакого риалтайма
  • OpenTSDB — любят те, кто использует Java, Hadoop со всеми своими прелестями и оверхедами
  • KairoDB — аналогично для любителей Cassandra
  • Дальше — дорогие промышленные SCADA-решения

Только что появилось:

InfluxDB [9] — Очень развитое решение. SQL-like язык запросов. Агрегация рядов и операции над ними. Умеет хранить и события. Большой объём хранения и передачи. Хорошо горизонтально маштабируется. Никакой явы! Написано на GO и не имеет внешних зависимостей.

Schema-less PostgreSQL 9.4 и другие новости

Олег Бартунов, Александр Коротков (ГАИШ МГУ)

Тут все как обычно — куча всяких новых и развитие старых полезностей. Основной упор сделан на дальнейшее развитие расширения Hstore.

Hstore предлагает хранилище «ключ-значение» с сохранением всех реляционых возможностей. Впервые появилось 10 лет тому назад. Постепенно обрастало специфическими функциями, индексами. Сейчас научилось полноценно работать с json. Появился формат jsonb — бинарный, отсортированный.

Если так дело пойдет, скоро можно будет отказаться от редисов и им подобных. 🙂 Стоит подумать.

Из прочих новинок:

  • Новый тип индекса — VODKA (не отложилось в памяти, для чего его можно использовать).
  • Параллельное выполнение запросов
  • Динамическое распределение workers.
  • Размещение таблиц в памяти (управляемое, я так понял), до 1ТБ
  • Разогрев кеша.
  • Гибкое управление правами на функции (Security Barrier) (Сейчас через функцию юзер может получить данные, доступ к которым ему не открыт:)
  • Материализованные вьюхи — конкурентное обновление.
  • Логическая репликация в ядре (Slony).
  • Редактирование системных настроек в клиенте на ходу.

И многое другое.

 

Распределенные отказоусточивые файловые системы. Как сохранить данные навсегда

Трухин Юрий Владимирович (InfoboxCloud)

Небольшой сравнительный анализ отказоустойчивых распределенных файловых систем (DFS). На примере хостинга.

  • GlusterFS — ставится поверх существующих файловых систем в userspace (FUSE). Не требует отдельного сервера для метаданных. Настраивается легко. Клиент монтирует том средствами FUSE или NFS. Все клиенты кластера должны быть настроены одинаково, во избежание проблем с консистентностью (не очень понятно). Вся фукнциональность реализуется т.н. трансляторами — синхронная репликация, барансировка нагрузки, страйпинг, восстановление после сбоев, квоты. Хорошо масштабируется. Нет защиты от дурака, и работает не очень быстро. Подходит (и даже рекомендуется) для небольших задач.
  • Ceph — требует специального оборудования, специальных настроек ОС. Функции разделены по отдельным группам узлов кластера. По отзывам — низкая надежность.
  • PCS (Parallels Cloud Storage) — требует специального ядра. Стоит денег.

 

NewSQL: обзор, факты и цифры

Глушков Иван Александрович (Echo)

Попытка решить проблему производительности реляционных СУБД горизонтальным масштабированием. Как считает автор — для тех, кто разочаровался в NoSQL 🙂

В традиционной СУБД только 12% — работа с данными, остальное — накладные расходы. NoSQL хорошо горизонтально масштабируются. Но при этом значительная часть функционала базы переносится на приложение. Шардирование порождает сложные связи, от объединений и транзакций все равно избавиться не удается.

Поэтому делается попытка собрать преимущества реляционных и NoSQL баз вместе. NewSQL — это наличие полноценного SQL, ACID, обход блокировок, горизонтальное масштабирование. Каждая нода совершенно независима (нет разделяемых ресурсов), имеет свою часть данных (прозрачный шардинг).

Представители нового класса:

  • ScaleDB — на основе MySQL. Коммерческая. Плохо все.
  • ClustrixDB — вроде как зрелый продукт, с 2006 года. Как замена той же MySQL.
  • VoltDB — все данные в памяти, нет буферизации. Широко используется партиционирование. Распределяет данные и их SQL-обработчики по узлам, каждый из который привязан к своему процессорному ядру. Каждый однопоточный раздел работает в автономном режиме, что исключает необходимость блокировок и фиксации операций. Данные автоматически реплицируются внутри кластера. Но SQL напрямую не поддерживается — только через хранимые процедуры. В остальном все хорошо. Практические результаты — 1 млн. транзакций в секунду на 35 нодах (при дальнейшем увеличении числа нод наступает насыщение). Есть комьюнити-версия.
  • NuoDB (она же NimbusDB) — строится поверх любого key-value хранилища. Добавляет слой SQL, ACID, управление кластером. Практические результаты — 1 млн. транзакций в секунду на 25 нодах. Коммерческая.

Еще ключевые слова: TPC-C — стандартный тест производительности OLTP-систем.

Технологии RDF/OWL и нечеткие знания для решения некоторых проблем BigData

Леонид Юрьев (ЗАО «Петер-Сервис»)

Это как раз о новом уровне DLP/PRISM/СОРМ-3. Много неструктурированных данных — можно что-то прогнозировать, выявлять угрозы. Целевая реклама — предлагать купить автомобиль человеку, который недавно дал объявление о продаже своего старого автомобиля, а сейчас проезжает мимо автосалона. В общем, все очень гуманно.

Модель представления данных (RDF) + язык описания онтологий (OWL) хорошо ложатся на графовые базы. Получается триплет: Субъект-Предикат-Объект. Есть язык запросов SPARQL. Есть RDF-хранилище (расширение Postgresql).

 

Как мы построили дешевую инфраструктуру для анализа трафика

Илья Салтанов (Sports.ru)

Отказались от Google Analytics в пользу собственной системы.

Основное хранилище — Amazon RedShift. 4 ноды, обходятся 4х$180 в месяц, с тенденцией к снижению. Примерно 400 млн. записей в месяц. Головной боли значительно меньше, чем с Hadoop.

Источники данных: ClickStream, ActionLog, Piwik (js-счетчики), данные из SQL-хранилища сайта, внешние API (VK, Facebook, GA, Twitter, AppAnnie).

Визуализация: Chart.io (сервис визуализации, платный).

А также экспорт агрегатов в SQL-хранилище (Postgres?), MongoDB. Есть realtime-рекомендации.

Технические подробности обещаны на Highload-2014. Есть статьи на Хабре [10] и [11] .

Большое пополнение в мире OpenSource

Олег Илларионов (ВКонтакте)

В марте ВКонтакте открыли исходные коды сразу нескольких внутренних разработок. Вот (неполный) список:

  • KPHP — компилятор php. Язык немного урезан, зато скорость работы.
  • PMemcached — можно получить набор ключей по префиксу. Поддержка метафайлов.
  • Lists — поддержка списков.
  • Search — альтернатива Sphinx-у (легче, быстрее, поддерживает тэги, хэши).
  • Storage — хранение медиа контента внутри одного большого файла.
  • Hints — поиск по объектам пользователя, по префиксам строк, сортировка по рейтингу.
  • Queue — realtime-общение между браузером и сервером.
  • Friends — Lists + дополнения (приватность, специфические запросы, папка друзей).
  • Letters — очередь для обработки на сервере.
  • Logs — sql-логирование.
  • Bayes — обучаемый анализ текста на спам.
  • Image Engine — обработка изображений (GD, но быстрее).
  • Cache — кеширование.
  • CopyFast — организация P2P-деплоя.

Ну и еще что-то упоминалось. В общем, как и ожидалось, список без особых технических подробностей. Дальше можно гуглить.

 

 

Добавить комментарий

Set your Twitter account name in your settings to use the TwitterBar Section.