ugrás a tartalomhoz

Már látogatott tartalmak hatékony tárolása

janoszen · 2006. Ápr. 11. (K), 18.36
Sziasztok!

Tudom, hogy itt a Weblaboron meg van valósítva, de nem tudom, hogyan tároljam el azt, hogy a regisztrált felhasználók milyen tartalmakat látogattak már meg, milyeneket nem.

Maga a tárolás nem lenne gond, de hogyan tudom mindezt lekérési sebességre és tárhelyre (ilyen sorrendben) optimalizáltan eltárolni? Mert ugye, 1-2 ezer felhasználónál és egy pár tartalomnál ez már igen tetemes adatmennyiség...

Köszi a segítséget.

J
 
1

Engem is érdekelne...

Dualon · 2006. Ápr. 13. (Cs), 15.38
... a válasz.
2

a Válasz: 42 ;)

Hodicska Gergely · 2006. Ápr. 13. (Cs), 16.01
Pont volt ma levlistán is. :)

Amúgy itt egy több-többes kapcsolatról van szó, ezt alapvetően csak egy kapcsolótáblában tudod letárolni. A helyfoglalástól meg szerintem nem nagyon érdemes félni főleg ilyen 1000-es nagyságrendű tartalom esetén. Pl. 5000 cikk 500 felhasználó, ha mindeki elolvas mindent, akkor MySQL és int azonosító esetén 10MB se lesz ez a tábla.


Felhő
3

érdekes a téma

pim · 2006. Ápr. 14. (P), 00.15
én mindig azt gondoltam, hogy azt kell letárolni, amit még nem látott, (feltéve, hogy proclub is azért akarja letárolni, hogy mellérakja az "új" szócskát).
miért jobb, ha a látogatottakat tároljuk le?
4

Attól függ

janoszen · 2006. Ápr. 14. (P), 12.38
A felhasználóid viselkedésétől függ. Ha egy csomó lusta felhasználód van vagy nagyon sok tartalmad van, akkor mindenképpen a látogatottakat érdemes eltárolni. Ha az a tipikus, hogy a felhasználóid általában a dolgok nagy részét meglátogatják, akkor azt, hogy mit nem láttak még... Tárhely...
5

Szerintem új tárolandó

Dualon · 2006. Ápr. 14. (P), 12.49
Szerintem az új anyagok rögzítése az előnyösebb, mert:
- hosszú távon nyilván több lesz a már olvasott tartalom, mint az új
- a látogatók szokásait meglévő, hosszabb időszakra alapozott statisztikák alapján sem egyszerű megjósolni
- logikailag így érzem "kereknek" :)
6

Olvasott

attlad · 2006. Ápr. 14. (P), 13.11
Szerintem pont az olvasott tárolása a logikusabb. Az olvasatlant hogy tárolod? Van 500 bejegyzés, regisztrál egy új tag, rögtön bekerül db-be 500 rekord hogy miket nem olvasott még? Felkerül egy új cikk, feljegyzed minden felhasználóhoz hogy nem olvasta? Vagy hogy?
7

+1

Hodicska Gergely · 2006. Ápr. 14. (P), 20.49
Felhő
8

re:olvasott

pim · 2006. Ápr. 14. (P), 22.16
egyszer csináltam ilyet egy fórumnál így:
mikor belép, akkor kell egy lekérdezés az utolsó belépés óta beérkezett tartalmakról, illetve, miközbe online van, minden kattintáskor kell egy lekérdezés, hogy jött-e újabb hozzászólás/topik, amit megnéz közbe azt kiszedem, ennyi.
szerintem egyébként lazábban kell kezelni ezt a dolgot, pl. a te példádnál maradva, ha egy újonnan regelt belép először, nem kell mindent újként megjelölni, mivel ha van 500 cikk, azt úgyse fogja elolvasni, inkább a regelésétől számítottan szeretne képben maradni, azt az 500 cikket, meg jól rendezett kategóriákkal, illetve jó keresővel kell ellátni.
9

Hátrányai

attlad · 2006. Ápr. 14. (P), 23.00
- az új jelzésen kívül másra nem tudod felhasználni az adatot, mivel pl. egy 1 napja nem aktív látógatónál (ha azalatt jött létre új tartalom) már nem valós/hiányos adatok szerepelnek az adatbázisban
- az "úgyse fogja elovasni a régieket" nem feltétlenül igaz, ha nem időhöz kötött tartalomról van szó (pl. Weblabor cikkek) akkor lehet hogy végig akarom olvasni a 2 évvel ezelőtti tartalmakat is
- mintha több művelet lenne a jött-e új ellenőrzés miatt
10

flame :)

pim · 2006. Ápr. 14. (P), 23.56
- igaz másra nem tudom, a nem valós/hiányos adatot nem értem, mindig az utolsó kattintástól számítjuk, mégha az, egy előző belépésnél volt is.
- hibásan fogalmaztam, szal "úgyse valószínű, hogy mindet el fogja olvasni", ez így helytállóbb, főleg ha több ezres tartalomról van szó, de fentartom, hogyha régi tartalmat olvasgat az ember, akkor nem lényeges az új jelzés.
- ez nem feltétlen van így, optimizáció kérdése.
talán meg tudsz győzni, ha elmondod, hogy az új jelzésen kívül, mire használjam még?
11

régebbi tartalmak

Hodicska Gergely · 2006. Ápr. 15. (Szo), 09.56
Már miért ne lenne érdekes. Szerintem főleg itt vannak páran, akik szeretnek minden megjelent dolgot átfutni. Nekem gyakran előfordul, hogy mondjuk egy hétig semmi időm sincs weblaborozni, aztán utána nekieseke a követőnek. Ilyenkor nagyon is jól jön, hogy a régebbi tartalmak esetén is tudom, hogy számomra új-e még, vagy sem.


Felhő

u.i. Már régóta rágom Goba fülét, hogy legyen egy olyan követő, melyben csak az új tartalmak látszanak, de sajnos ő csak csupa haszontalan dologgal foglalkozik e helyett, mint a web konferencia, meg WL extension. ;)
12

Re: flame

attlad · 2006. Ápr. 15. (Szo), 10.27
Hiányos adat: ezt erre értettem: azokat tárolod amiket nem olvasott, X user kilép, létrejön egy új cikk, az adatbázis tábla (ideiglenesen) hiányos mivel nem lesz benne az olvasatlan táblában az új, olvasatlan cikk

"új jelzésen kívül, mire használjam még?": Pl. ha az a feladat, hogy kiíratni, hányan és kik olvasták az Y. bejegyzést?
13

tojásfestés? ;)

Hodicska Gergely · 2006. Ápr. 15. (Szo), 10.32
Azért jól kijön, hogy kik nem segédkeznek otthon a tosjás festés misztériumában. :)


Felhő
14

meddő vita

pim · 2006. Ápr. 15. (Szo), 14.30
-igaz hiányos lesz, de mivel nincs online a felhasználó, ezért ennek nincs jelentősége.
-hányan olvasták, azt nyilván másképp is le lehet tárolni, hogy kik, az már érdekes kérdés, szerintem erre max admin módba lenne szükség, én legalábbis nem íratnám ki, hogy kik olvasták már a cikket.

nem is vitáznék tovább, hacsak valaki fel nem hoz egy harmadik tárolási módszert. ;)
15

Re: meddő vita

attlad · 2006. Ápr. 15. (Szo), 15.04
igaz hiányos lesz, de mivel nincs online a felhasználó, ezért ennek nincs jelentőség

Ha csak új jelzésre használod akkor nincs, ezt írtam is, akkor jönnek a gondok ha továbbfejleszteni, másra is akarod használni.

Másik módszernél nincs semmi ilyen kérdés, jóval egyszerűbbenek tűnnek a műveletek is akkor miért ne úgy tároljuk?

én legalábbis nem íratnám ki, hogy kik olvasták már a cikket

Igen, az egy példa volt, lehetne másikat is mondani. De nem feltétlenül akarlak meggyőzni hogyan tárold az adataidat. :)
16

meddő?

Hodicska Gergely · 2006. Ápr. 15. (Szo), 15.04
Az miért meddő vita, hogy ha valaki egy csomó érvet tud felhzoni a megoldásod ellen? Ráadásul pont egy fórum esetén jóval nagyobb az esélye (tipikusan nem olvas el mindneki minden témát), hogy egy hozzászólást nem olvas el valaki, mint hogy elolvas. Ráadásul számomra nem is logikus, hisz az az akció, hogy elolvas valaki vlamit, nem pedig az, hogy nem.


Felhő
17

2.1 megoldás

erenon · 2006. Ápr. 15. (Szo), 15.15
És mit szóltok ahhoz, hogy az adatbázisban azt tároljuk, mit nem olvasott el a user, a követőben mindent [ új ] címkével díszítünk, viszont a user egy gombnyomással olvasottá tehet minden anyagot, így ő dönti el, akar-e infot kérni a régiekról, vagy csak az újakat kíséri figyelemmel.
18

re:meddő?

pim · 2006. Ápr. 15. (Szo), 19.17
azért neveztem meddőnek, mert karácsonyig el tudnánk vitázni rajta, az pedig nem áll szándékomban. :)

a te logikád szerint az az akció mikor megnéz egy hírt, majd ebből "számolod" ki, hogy melyek az újak.
nálam a logika, hogy az újakat ki kell íratni, ezért "számolok", majd letárolom őket.
ha jobban megnézzük a kettő ugyanaz, (esetleg az én lazább elveimen lehet vitázni, miszerint nem kell eleve mindent újként megjelölni,) ha nem veszem lazábban a dolgot, akkor ebből a rendszerből is ki lehet számolni, pl. azt, hogy kik olvasták el azt a hír.
persze ha szigorúan követem a tartalmat, akkor regeléskor lehet több ezer sort kell beszúrnom, ez problémás lehet...
19

Meggyőztetek

Dualon · 2006. Ápr. 16. (V), 12.54
Igazatok van, tényleg érdemesebb az olvasottakat tárolni.