Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Агрегация и обработка статистики
Search
Yehor Nazarkin
August 12, 2013
Programming
5.7k
0
Share
Агрегация и обработка статистики
Доклад Валерия Змиевского, kharkivpy #8
Yehor Nazarkin
August 12, 2013
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Flask, гордость и предубеждения
nimnull
0
340
Python non-mainstream web
nimnull
0
170
Write once, run everywhere
nimnull
0
6.3k
GPU Computing in Python
nimnull
1
5.7k
To Flask or not to Flask
nimnull
5
640
MongoDB Без ORM
nimnull
0
320
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
ふつうのFeature Flag実践入門
irof
7
3.4k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.5k
Moments When Things Go Wrong
aurimas
3
130
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
470
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
16
7.5k
色即是空、空即是色、データサイエンス
kamoneggi
1
210
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
GitHub Copilot CLIのいいところ
htkym
2
1.2k
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
300
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.8k
Building an army of robots
kneath
306
46k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Believing is Seeing
oripsolob
1
140
The browser strikes back
jonoalderson
0
1.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Accessibility Awareness
sabderemane
1
130
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Claude Code のすすめ
schroneko
67
220k
Transcript
Агрегация и обработка статистики реального времени Валерий Змиевской
Что нам нужно? • База данных • Отказаться от запросов:
group by keyfield … order by sum(datafield) desc • Upsert MongoDB, MySQL - есть нативный синтаксис
Как хранить данные Хранить данные для каждого ключа группировки в
отдельной таблице: user : [last_login, orders, coupons_used, …] category, date : [orders_amount, items_sold] region, date : [orders_amount, items_sold] ….
OLAP-куб на одной таблице Ключи : данные [region, category, year,
month] : [ord, isold] [<all>, 12, 2013, 01] : [100, 665] [<all>, <all>, 2013, 01] : [1600, 5200] ….
Срезы [region, category, year, month] [0, 0, 1, 0], [0,
0, 1, 1], [1, 0, 1, 0], [1, 0, 1, 1] [0, 1, 1, 0], [0, 1, 1, 1], [1, 1, 1, 0], [1, 1, 1, 1] [0, 1, 0, 0], [1, 1, 0, 0] Не нужны срезы: [*, *, 0, 1] и [*, 0, 0, 0]
Показываем: category, графики по месяцам Сортируем: ord, isold Индексы: •
region, category, year, month - unique|Charts • region, year, month, ord - Orders/Category • region, year, month, isold - It. sold/Category Индексы
Запросы: Категории: region=<all>, year=<all>, month=<all> region=EU, year=<all>, month=<all> region=EU, year=2013,
month=<all> График по категории Goods за 2013 год region=EU, year=2013, category=’Goods’