SlideShare a Scribd company logo
1 of 21
Хранение и обработка больших объемов данных в рекомендательном движке сайта Imhonet.ru Дмитрий Исайкин
Функции сервиса ,[object Object],[object Object],[object Object],[object Object]
Функциональные компоненты рекомендательного сервиса Рекоменда - тельный движок Сайт Imhonet Коннектор Сайты-партнеры Пользователи
Что нужно для расчета рекомендаций Чем больше оценок, тем точнее рекомендации
Расчет рекомендаций ,[object Object],[object Object],[object Object],!!! ??? Запрос Другие пользователи ,[object Object],[object Object],Референты
Алгоритм в разрезе доступа к данным ,[object Object],[object Object],[object Object],[object Object],[object Object]
Где хранить оценки?
Зачем делать самому? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Не очень много: менее  900  строк кода на всё Запас на  год-два . Проблема уже решается
Проектирование контейнера ,[object Object],[object Object],Требуются только выборки оценок по конкретному пользователю/объекту Матричное представление более предпочтительно
Проектирование контейнера. Анализ структуры оценок Будем хранить оценки в разреженной матрице
Проектирование контейнера. Разреженная матрица
Проектирование контейнера. Анализ паттернов доступа Требуется максимальная скорость просмотра оценок пользователя Будем хранить оценки в массиве пар (произведение, оценка)‏ объ ект оценка оценка пользователь объ ект
Проектирование контейнера. Анализ паттернов доступа Требуется быстрое сравнение оценок двух пользователей Будем хранить оценки упорядоченными по идентификаторам 5 оценка 8 оценка пользователь
Проектирование контейнера Требуется быстрый поиск оценок пользователей/произведений + не все пользователи/произведения имеют оценки Будем хранить ссылки на пользовательские оценки в хэш-таблице
Что мы получили ,[object Object],[object Object],[object Object],[object Object],–  Не является потокобезопасным
Способы обеспечения безопасной многопоточности ,[object Object],[object Object],[object Object]
Изменение данных без блокировки читателей ,[object Object],[object Object],[object Object],[object Object],[object Object]
Изменения в структуре для обеспечения CAS hash_map<  subj,  ref_count_ptr < array< pair<obj, rate>  > > >
Сравнение с MySQL ,[object Object],[object Object],[object Object]
Результаты: операций в секунду Оценок: 10.5 миллионов Запросов к данным: 4.2 миллиона Рассчитанных рекомендаций: 700 636 000 9500 Контейнер операций чтения Движок вычислений MySQL 504  оп. чтения
Спасибо за внимание! ,[object Object],[object Object]

More Related Content

Similar to хранение и обработка больших объемов данных в рекомендательном движке сайта Imhonet

Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
	 Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...	 Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
web2win
 
Как увеличить продажи интернет-магазина
Как увеличить продажи интернет-магазинаКак увеличить продажи интернет-магазина
Как увеличить продажи интернет-магазина
Promodo
 
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
Yandex
 
Mind map для «Архитектура А/Б тестирования: сделай сам»
Mind map для «Архитектура А/Б тестирования: сделай сам»Mind map для «Архитектура А/Б тестирования: сделай сам»
Mind map для «Архитектура А/Б тестирования: сделай сам»
Sergey Xek
 
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
Yandex
 

Similar to хранение и обработка больших объемов данных в рекомендательном движке сайта Imhonet (20)

Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
	 Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...	 Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
Валентин Домбровский, dombrovsky.me (Москва) Независимый консультант по воп...
 
семантическое ядро
семантическое ядросемантическое ядро
семантическое ядро
 
Seo Tools
Seo ToolsSeo Tools
Seo Tools
 
курышев рекомендательные системы
курышев рекомендательные системыкурышев рекомендательные системы
курышев рекомендательные системы
 
Как увеличить продажи интернет магазина
Как увеличить продажи интернет магазинаКак увеличить продажи интернет магазина
Как увеличить продажи интернет магазина
 
Как увеличить продажи интернет-магазина
Как увеличить продажи интернет-магазинаКак увеличить продажи интернет-магазина
Как увеличить продажи интернет-магазина
 
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ
 
[Ad4Digital] Артем Пилипец "SEO - когда нужно + контент-маркетинг"
[Ad4Digital]  Артем Пилипец "SEO - когда нужно + контент-маркетинг"[Ad4Digital]  Артем Пилипец "SEO - когда нужно + контент-маркетинг"
[Ad4Digital] Артем Пилипец "SEO - когда нужно + контент-маркетинг"
 
Оптимизация поведенческих факторов
Оптимизация поведенческих факторовОптимизация поведенческих факторов
Оптимизация поведенческих факторов
 
Mind map для «Архитектура А/Б тестирования: сделай сам»
Mind map для «Архитектура А/Б тестирования: сделай сам»Mind map для «Архитектура А/Б тестирования: сделай сам»
Mind map для «Архитектура А/Б тестирования: сделай сам»
 
Сравнение систем веб-аналитики. Тонкости и кейсы
Сравнение систем веб-аналитики. Тонкости и кейсыСравнение систем веб-аналитики. Тонкости и кейсы
Сравнение систем веб-аналитики. Тонкости и кейсы
 
Эффективный отбор ссылочных доноров в Sape: подготовка, проверка, закупка
Эффективный отбор ссылочных доноров в Sape: подготовка, проверка, закупкаЭффективный отбор ссылочных доноров в Sape: подготовка, проверка, закупка
Эффективный отбор ссылочных доноров в Sape: подготовка, проверка, закупка
 
RESTful API development with Symfony2
RESTful API development with Symfony2RESTful API development with Symfony2
RESTful API development with Symfony2
 
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
"Анализ неявных предпочтений пользователей" — Михаил Агеев, Яндекс, МГУ
 
Анализ конкурентов (интернет-маркетинг для b2b)
Анализ конкурентов (интернет-маркетинг для b2b)Анализ конкурентов (интернет-маркетинг для b2b)
Анализ конкурентов (интернет-маркетинг для b2b)
 
Принципы работы поисковых систем
Принципы работы поисковых системПринципы работы поисковых систем
Принципы работы поисковых систем
 
Как работают поисковые системы
Как работают поисковые системыКак работают поисковые системы
Как работают поисковые системы
 
SEO-аналитика: находим, анализируем, используем, усовершенствуем - 07.11.17 -...
SEO-аналитика: находим, анализируем, используем, усовершенствуем - 07.11.17 -...SEO-аналитика: находим, анализируем, используем, усовершенствуем - 07.11.17 -...
SEO-аналитика: находим, анализируем, используем, усовершенствуем - 07.11.17 -...
 
Сливинский
СливинскийСливинский
Сливинский
 
Seo в стартапе
Seo в стартапеSeo в стартапе
Seo в стартапе
 

More from Ontico

Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
Ontico
 
Как разработать социальную сеть, Олег Бунин
Как разработать социальную сеть, Олег БунинКак разработать социальную сеть, Олег Бунин
Как разработать социальную сеть, Олег Бунин
Ontico
 
Конференции Онтико (2011)
Конференции Онтико (2011)Конференции Онтико (2011)
Конференции Онтико (2011)
Ontico
 
Конференции 2010 / описание
Конференции 2010 / описаниеКонференции 2010 / описание
Конференции 2010 / описание
Ontico
 
Конференции 2010
Конференции 2010Конференции 2010
Конференции 2010
Ontico
 
Economy of project development
Economy of project developmentEconomy of project development
Economy of project development
Ontico
 
Ok2009 Пленарка
Ok2009 ПленаркаOk2009 Пленарка
Ok2009 Пленарка
Ontico
 
Highload sites, master-class, OK-2009
Highload sites, master-class, OK-2009Highload sites, master-class, OK-2009
Highload sites, master-class, OK-2009
Ontico
 
HighLoad Sites, Oleg Bunin
HighLoad Sites, Oleg BuninHighLoad Sites, Oleg Bunin
HighLoad Sites, Oleg Bunin
Ontico
 
I Safety 1c Bitrix
I Safety 1c BitrixI Safety 1c Bitrix
I Safety 1c Bitrix
Ontico
 
I Safety 1c Bitrix
I Safety 1c BitrixI Safety 1c Bitrix
I Safety 1c Bitrix
Ontico
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation Revised
Ontico
 
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 RusWonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Ontico
 
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 RusScaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Ontico
 

More from Ontico (20)

Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
 
Встреча докладчиков HL++ 2015
Встреча докладчиков HL++ 2015Встреча докладчиков HL++ 2015
Встреча докладчиков HL++ 2015
 
Вебинар о конференции HighLoad++
Вебинар о конференции HighLoad++Вебинар о конференции HighLoad++
Вебинар о конференции HighLoad++
 
Call for papers (2014) ru
Call for papers (2014) ruCall for papers (2014) ru
Call for papers (2014) ru
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Как разработать социальную сеть, Олег Бунин
Как разработать социальную сеть, Олег БунинКак разработать социальную сеть, Олег Бунин
Как разработать социальную сеть, Олег Бунин
 
Конференции Онтико (2011)
Конференции Онтико (2011)Конференции Онтико (2011)
Конференции Онтико (2011)
 
Программный комитет HighLoad++, 6 октября
Программный комитет HighLoad++, 6 октябряПрограммный комитет HighLoad++, 6 октября
Программный комитет HighLoad++, 6 октября
 
Конференции 2010 / описание
Конференции 2010 / описаниеКонференции 2010 / описание
Конференции 2010 / описание
 
Онтико, 2009
Онтико, 2009Онтико, 2009
Онтико, 2009
 
Конференции 2010
Конференции 2010Конференции 2010
Конференции 2010
 
Economy of project development
Economy of project developmentEconomy of project development
Economy of project development
 
Ok2009 Пленарка
Ok2009 ПленаркаOk2009 Пленарка
Ok2009 Пленарка
 
Highload sites, master-class, OK-2009
Highload sites, master-class, OK-2009Highload sites, master-class, OK-2009
Highload sites, master-class, OK-2009
 
HighLoad Sites, Oleg Bunin
HighLoad Sites, Oleg BuninHighLoad Sites, Oleg Bunin
HighLoad Sites, Oleg Bunin
 
I Safety 1c Bitrix
I Safety 1c BitrixI Safety 1c Bitrix
I Safety 1c Bitrix
 
I Safety 1c Bitrix
I Safety 1c BitrixI Safety 1c Bitrix
I Safety 1c Bitrix
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation Revised
 
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 RusWonderful World Of Mysql Storage Engines Hl2008 Rus
Wonderful World Of Mysql Storage Engines Hl2008 Rus
 
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 RusScaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 Rus
 

Recently uploaded

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 

Recently uploaded (9)

MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 

хранение и обработка больших объемов данных в рекомендательном движке сайта Imhonet

Editor's Notes

  1. представиться