«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС2ГИС ТехнологииВ своем докладе я расскажу, почему мы выбрали графовую базу данных Neo4j для проверки дорожного графа городов России (все населенные пункты с населением больше 300 000 жителей). Основные задачи, которые мы решаем средствами Neo4j — это проверки на связность и доступность проезда.
Опорные пункты доклада:
— SQL против графовых баз данных;
— обзор графовой базы данных neo4j;
— архитектура решения, в котором используется графовая БД;
— выполнение алгоритмов на графе в условиях его частых изменений.
В основе доклада лежат результаты работы над проектом «Fiji». Это внутрикорпоративная система, которая позволяет штатным картографам 2ГИС создавать, хранить и экспортировать карту во внешние продукты: онлайн-, десктоп- и мобильную версии 2ГИС.
TDSR 2014: Porting Zvooq app to TizenAndrey TatarinovПрезентацию делали два человека: Davide Livraghi, PM at Zvooq и Андрей Татаринов, CTO at Zvooq. Часть на английском - Давиде.
Olap и oltp технологииIlya TernovoyThis presentation was created by me for the course of Information technology in 2012. It contains detailed description of OLAP technology and basic description of OLTP technology.
Тимофей Горшков. Об интернет-торговле, как о бизнесе InsalesUAТимофей Горшков, генеральный директор InSales, рассказывает, что интернет-торговле в первую очередь бизнес, потом уже торговля и в последнюю очередь интернет. О составляющих успешного бизнеса и интернет-магазина.
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...OnticoДоклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность.
Проектирование высокопроизводительных REST API.
- Кто должен участвовать в проектировании.
- Как узнать, что оптимизировать.
- Как измерять производительность REST API.
Паттерны и антипаттерны.
- Почему pagination - это плохо, и на что лучше заменить.
- Проблема N+1 и как с ней бороться.
- Бесполезные данные - как обнаружить и уничтожить.
- Как не ломать кэширование на клиенте.
- Эффективная работа с интерфейсами "мастер-детали".
Кэширование.
- Три слоя кэширования.
- Самый быстрый запрос - тот, которого не было. Как увеличить их количество.
- Экономия трафика.
- Исключение ненужных вычислений.
- Подходы к инвалидации кэша.
Приемы оптимизации работы с API на клиенте.
- Параллельные запросы.
- Эффективный разбор данных.
- In-memory DB на клиенте.
- Стратегии кэширования на клиенте.
Управление беспроводными сетями Cisco: контроллер - виртуальный, преимущества...Roman PodoynitsynКраткое описание нового решения от Cisco Systems - виртуального контроллера беспроводных сетей vWLC. Рассмотрены преимущества решения, требования к серверам, технические характеристики, поддерживаемые функции. Проведена демонстрация установки и настройки виртуального контроллера. Доклад был прочитан на Виртуальном дне Cisco Expo - 2012. (http://www.ciscoexpo.ru/expo2012/virtualnyy-den-cisco-expo-2012)
Высоконагруженные трейдинговые системы и их тестирование Iosif ItkinДоклад посвящен особенностям технологических платформ, используемых брокерами и биржами.
В докладе рассматриваются следующие темы:
Балансировка нагрузки, отказоустойчивость и узкие места производительности трейдинговых систем;
Способы оптимизации времени отклика и пропускной способности системы;
Аппаратное ускорение с использованием Infiniband, FPGA, Overclocking, GPU и TOE;
Особенности моделирования нагрузки для биржевых систем;
Требования к генераторам нагрузки и другим инструментам, используемым при тестировании трейдинговых систем.
Целевая аудитория
Широкий круг специалистов, работающих с высоконагруженными системами.
Слушатели смогут сопоставить особенности архитектуры, методов ускорения и тестирования систем особого типа (биржевых площадок) с системами, над которыми они работают (например, высоконагруженными интернет-сервисами).
Презентация аналитической системы для ритейла СуперМаг BIОникс СофтСуперМаг BI отвечает на основные вопросы:
Что будет происходить - прогнозные отчеты.
Почему это происходит - статистические отчеты.
Что следует предпринять - сигналы.
Как часто, как много, где и когда - отчеты "на лету".
Что произошло - простые отчеты.
Основная задача BI - повышение конкурентноспособности, повышение удовлетворенности клиента и оптимизация работы.
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)SIPLABS CommunicationsВведение в облачную телефонную систему 2600hz KAZOO. Презентация с конференции KAZOOMEETUP MOSCOW 2015
Тимофей Горшков. Об интернет-торговле, как о бизнесе InsalesUAТимофей Горшков, генеральный директор InSales, рассказывает, что интернет-торговле в первую очередь бизнес, потом уже торговля и в последнюю очередь интернет. О составляющих успешного бизнеса и интернет-магазина.
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...OnticoДоклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность.
Проектирование высокопроизводительных REST API.
- Кто должен участвовать в проектировании.
- Как узнать, что оптимизировать.
- Как измерять производительность REST API.
Паттерны и антипаттерны.
- Почему pagination - это плохо, и на что лучше заменить.
- Проблема N+1 и как с ней бороться.
- Бесполезные данные - как обнаружить и уничтожить.
- Как не ломать кэширование на клиенте.
- Эффективная работа с интерфейсами "мастер-детали".
Кэширование.
- Три слоя кэширования.
- Самый быстрый запрос - тот, которого не было. Как увеличить их количество.
- Экономия трафика.
- Исключение ненужных вычислений.
- Подходы к инвалидации кэша.
Приемы оптимизации работы с API на клиенте.
- Параллельные запросы.
- Эффективный разбор данных.
- In-memory DB на клиенте.
- Стратегии кэширования на клиенте.
Управление беспроводными сетями Cisco: контроллер - виртуальный, преимущества...Roman PodoynitsynКраткое описание нового решения от Cisco Systems - виртуального контроллера беспроводных сетей vWLC. Рассмотрены преимущества решения, требования к серверам, технические характеристики, поддерживаемые функции. Проведена демонстрация установки и настройки виртуального контроллера. Доклад был прочитан на Виртуальном дне Cisco Expo - 2012. (http://www.ciscoexpo.ru/expo2012/virtualnyy-den-cisco-expo-2012)
Высоконагруженные трейдинговые системы и их тестирование Iosif ItkinДоклад посвящен особенностям технологических платформ, используемых брокерами и биржами.
В докладе рассматриваются следующие темы:
Балансировка нагрузки, отказоустойчивость и узкие места производительности трейдинговых систем;
Способы оптимизации времени отклика и пропускной способности системы;
Аппаратное ускорение с использованием Infiniband, FPGA, Overclocking, GPU и TOE;
Особенности моделирования нагрузки для биржевых систем;
Требования к генераторам нагрузки и другим инструментам, используемым при тестировании трейдинговых систем.
Целевая аудитория
Широкий круг специалистов, работающих с высоконагруженными системами.
Слушатели смогут сопоставить особенности архитектуры, методов ускорения и тестирования систем особого типа (биржевых площадок) с системами, над которыми они работают (например, высоконагруженными интернет-сервисами).
Презентация аналитической системы для ритейла СуперМаг BIОникс СофтСуперМаг BI отвечает на основные вопросы:
Что будет происходить - прогнозные отчеты.
Почему это происходит - статистические отчеты.
Что следует предпринять - сигналы.
Как часто, как много, где и когда - отчеты "на лету".
Что произошло - простые отчеты.
Основная задача BI - повышение конкурентноспособности, повышение удовлетворенности клиента и оптимизация работы.
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)SIPLABS CommunicationsВведение в облачную телефонную систему 2600hz KAZOO. Презентация с конференции KAZOOMEETUP MOSCOW 2015
3. Что такое Enter?
•
мультиканальный ритейл
•
•
сайт
•
колл-центр
•
•
реальные магазины (терминалы и касса)
мобильные приложения
все сложно
•
много регионов присутствия
•
много складов
•
много магазинов
•
расчет доступности
•
расчет сроков доставки
4. Все сложно
•
Общий сток
•
•
нет классического деления на сток интернетмагазина и реальных магазинов
Единая бизнес-логика
•
•
расчет доступности
•
расчет стоимостей и сроков
•
•
группировка товаров по моделям/линиям/наборам
etc
60+ типов конфигурационных мастер-данных
7. Этапы развития
информационной системы
•
2012Q1 Старт
•
2012Q1~2013Q1
•
•
Переход на синхронный внутренний API
•
•
Стабилизация фронтов
Развитие бизнес-логики
2013Q1~now
•
Развитие сервисной инфраструктуры
•
Новый поиск/листинги на sphinx
•
Новая CMS
•
Внедрение ESB для интеграции stateful сервисов
•
Рефакторинг обменов 1С, WEBCORE, etc.
8. Как это было на старте
2012Q1
•
Результат трехмесячного спринта
•
Фронты - отдельные независимые системы
•
сайт, терминалы, мобильные, соц.приложения
•
разрабатывались параллельно независимыми
командами
•
stateful
•
отдельная база на каждом фронте
•
отдельная реализация бизнес-логики
•
независимое состояние синхронизации
11. Как это было на старте
2012Q1: Проблемы
•
Нестабильный сайт
•
Рассинхронизация между фронтами и учетной
системой (1С)
•
Несоответствие бизнес-логики между фронтами
•
Нестабильные протоколы обменов
•
потеря данных
12. Как это было на старте
2012Q1: Нестабильный сайт
•
Сайт: Symfony+Doctrine
•
Агрессивное кеширование на 24 часа
•
Динамические элементы: AJAX
•
2~5 сек/страница в среднем
16. Синхронизация web-систем
с ERP
•
Идентификация
•
Общая БД: все вместе читают
•
•
•
Нет списка изменений
Нельзя делать инкрементальные изменения
Pull, метод: ДайНовыеДанные
•
•
•
Висящие ссылки
Легко сделать неправильно
Push, метод: ВозьмиНовыеДанные
18. 2012Q1: Первая итерация
рефакторинга
•
убить синхронизацию между WEBCORE и фронтами
•
stateless-фронты
•
внутренний API
•
•
HTTP+JSON
роли фронта:
•
•
агреггация данных
•
•
преобразование запроса клиента в несколько
запросов API
визуализация данных
новые вспомогательные сервисы
35. Новая платформа поиска:
предпосылки
•
Медленно работает сложная фильтрация на SQL
•
Требуются предрасчеты
•
Количество товаров в категории
•
Модели
•
Две системы работы со списками товаров: SQL,
sphinx
•
Нет возможности фильтровать поиск по бизнесданным
36. Новая платформа поиска:
концепция
•
Шире чем полнотекстовый поиск
•
Поиск - система для фильтрации
структурированных и не структурированных
данных по товарам
•
Точка объединения бизнес- и описательных
данных
•
Единственный способ получить любой список
товаров
37. Новая платформа поиска:
разработка
•
Аутсорс команде Андрея Аксенова
•
Первая итерация не взлетела - слишком широкая
таблица
•
Переехали на beta-версию с поддержкой JSONполей
•
Вторая итерация тормозила - попытались все
данные записать в JSON
•
Остановились на гетерогенном индексе:
•
Свойства - JSON
•
Регион-зависимая информация - обычные колонки
39. Обмен сообщениями
•
Обмен сообщениями неизбежен
•
Можно сделать по-разному
•
Плохо: реализовать очереди самостоятельно
PHP+MySQL+cron
•
Не очень плохо: RabbitMQ+PHP-worker
•
•
Работает для небольшого количества очередей
Хорошо: ESB
•
Большое количество интеграционных потоков и
сценариев
41. CMS
•
Альтернативы
•
Самописный софт на PHP
•
Drupal
•
Magento
•
ShopScript
•
Выбрали ShopScript
•
Work in progress
•
Нюансы
•
Смена идентификации
•
Разбиение API (product/get)
•
Доработки фронтов
42. Итого
•
Не копировать информацию без необходимости
•
•
Не усложнять
•
•
stateless лучше чем stateful
Поддерживать компоненты простыми
Использовать мозг