Autor | Zpráva | ||
---|---|---|---|
Foi Profil |
#1 · Zasláno: 5. 8. 2019, 14:35:50
Jak například řadí takový facebook, twitter svoje statusy?
Chceme propočítávat index užitečnosti a záleží nám na výkonnosti. Napadl nás jeden nápad: Začne se na nějaké začáteční int hodnotě a co hodinu (přes cron nebo to lze udělat v databázi) se bude snižovat o určenou hodnotu. Zvyšovat se bude na základě různých aktivit (zhlédnutí, komentáře, ...). Řazení bude velmi rychlé, ale co ta spousta updatů? Je to lepší, co se týče výkonnosti, než to propočítávat na každý dotaz? Doporučíte něco jiného? |
||
tttt Profil * |
#2 · Zasláno: 5. 8. 2019, 15:14:08
Jak například řadí takový facebook, twitter svoje statusy?
Určitě daleko komplikovaněji, než jak to chceš dělat :) Chceme propočítávat index užitečnosti a záleží nám na výkonnosti. Jde o to, aby se to rychle zobrazovalo nebo rychle počítalo? Tipuju to první, pak to jde uložit do cache a třeba každých pět minut obnovit. Náročnost výpočtu není pak moc důležitá, když se budou provádět jen jednou za x minut. Začne se na nějaké začáteční int hodnotě a co hodinu (přes cron nebo to lze udělat v databázi) se bude snižovat o určenou hodnotu. Odečítání není potřeba. Ulož si čas vytvoření a pak dopočítej podle času, kolik je potřeba odečíst. Když v dotaze nebude NOW() , ale aktuální čas zaokrouhlený třeba na hodiny, pomůže to cachování.
Doporučíte něco jiného? Můžeš kouknout, jak to dělají (dělali?) na Hacker News, myšlenka je stejná, vzorec malinko jiný: medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d |
||
Foi Profil |
#3 · Zasláno: 5. 8. 2019, 16:16:00
tttt:
Děkuji za hodnotnou odpověď. S tím počítám, že to dělají komplikovaněji, ale mají to zároveň rychle za což asi může i cache :) pak to jde uložit do cache a třeba každých pět minut obnovit Když například má každý uživatel rozdílné zobrazení, tak by to bylo například 100 000 cache a aktualizace, což si myslím není dobrý nápad. Odečítání není potřeba. Ulož si čas vytvoření ... díky zkusím to promyslet :) Na odkaz určitě mrknu |
||
N71 Profil * |
#4 · Zasláno: 5. 8. 2019, 16:26:20
Vzhledem k tomu, že chceš podle té hodnoty řadit výsledky z databáze, je vhodné aby v ní byla už spočítaná. Takže bych volil spíš variantu hromadné opakované aktualizace toho indexu důležitosti.
|
||
Kajman Profil |
#5 · Zasláno: 6. 8. 2019, 12:48:19
|
||
Časová prodleva: 6 let
|
0