Archívum - Jún 5, 2013
Adatbázis kérés eredményének előtöltése
Sziasztok!
Gondolkoztam azon, hogy hogyan lehetne egy nagyobb terhelésű oldalnál a bonyolultabb kereséseket (pl. ügyfelek különböző paraméterek alapján történő keresése) gyorsítani.
Arra gondoltam, hogy lehetne esetleg azt csinálni, hogy ha az ügyfél elindít egy keresést, akkor ha nekem az első 10 rekordra van szükségem, akkor mi lenne ha nem 10 hanem mondjuk 20-30 rekordot kérdeznék le.
Az eredmény többletet (a +10-20 rekord)pedig fognám és eltárolnám mondjuk memcache-be, session-ba, stb.
Amikor az oldalt görgeti tovább az ügyfél, és szüksége lenen a következő 10 rekordra, akkor ebben az esetben megnézném, hogy ismerem -e már a kért adatot, vagy sem.
Ha nem, akkor természetesen ugyanazt csinálnám mint az előbb.
Ha viszont ismerem, akkor minden féle (my)SQL művelet nélkül, mindenféle bonyolult SQL QUERY futtatása nélkül oda tudom adni az ügyfélnek. Miután ezt megteszem, akkor pedig valami háttér folyamatnak átadnám azt, hogy amikor van szabad kapacitás, akkor töltsön előre nekem további újabb rekordokat, hogy amikor vélhetőleg pár másodperc múlva jön az ügyfél a kéréssel, akkor már az is elő legyen költve.
Ugye fontos, hogy egy külön folyamat végezze az előtöltést, mert különben be kellene várni az előtöltés eredményét a kiszolgálás előtt.
Az érdekelne, hogy szerintetek ilyen módszerrel lehet valós teljesítménynövekedést elérni?
A másik kérdés, hogy ha ez egy járható út, akkor szerintem biztos nem én vagyok az első aki ezzel foglalkozott. Lehet hogy erre már vannak kész megoldások is. Én kerestem, de nem igazán találkoztam. Tehát a másik kérdés, hogy ilyennel már találkozott -e valaki? Ha igen, akkor hol?
Segítségeteket előre is köszönöm.
Zoli
■ Gondolkoztam azon, hogy hogyan lehetne egy nagyobb terhelésű oldalnál a bonyolultabb kereséseket (pl. ügyfelek különböző paraméterek alapján történő keresése) gyorsítani.
Arra gondoltam, hogy lehetne esetleg azt csinálni, hogy ha az ügyfél elindít egy keresést, akkor ha nekem az első 10 rekordra van szükségem, akkor mi lenne ha nem 10 hanem mondjuk 20-30 rekordot kérdeznék le.
Az eredmény többletet (a +10-20 rekord)pedig fognám és eltárolnám mondjuk memcache-be, session-ba, stb.
Amikor az oldalt görgeti tovább az ügyfél, és szüksége lenen a következő 10 rekordra, akkor ebben az esetben megnézném, hogy ismerem -e már a kért adatot, vagy sem.
Ha nem, akkor természetesen ugyanazt csinálnám mint az előbb.
Ha viszont ismerem, akkor minden féle (my)SQL művelet nélkül, mindenféle bonyolult SQL QUERY futtatása nélkül oda tudom adni az ügyfélnek. Miután ezt megteszem, akkor pedig valami háttér folyamatnak átadnám azt, hogy amikor van szabad kapacitás, akkor töltsön előre nekem további újabb rekordokat, hogy amikor vélhetőleg pár másodperc múlva jön az ügyfél a kéréssel, akkor már az is elő legyen költve.
Ugye fontos, hogy egy külön folyamat végezze az előtöltést, mert különben be kellene várni az előtöltés eredményét a kiszolgálás előtt.
Az érdekelne, hogy szerintetek ilyen módszerrel lehet valós teljesítménynövekedést elérni?
A másik kérdés, hogy ha ez egy járható út, akkor szerintem biztos nem én vagyok az első aki ezzel foglalkozott. Lehet hogy erre már vannak kész megoldások is. Én kerestem, de nem igazán találkoztam. Tehát a másik kérdés, hogy ilyennel már találkozott -e valaki? Ha igen, akkor hol?
Segítségeteket előre is köszönöm.
Zoli
Java-ból Androidra
Sziasztok!
Nagyjából 1 éve tanulom a Javat hobbi szinten is illetve elvégeztem egy tanfolyamot. Úgy érzem sikerült a Java alapjait megértenem és elsajátítanom. Ezután szeretnék továbbmenni az Android fejlesztés irányába. Sokan azt mondták nekem, hogy ehhez a Javaval volt érdemes kezdenem.
A kérdésem mindössze annyi, hogy egy alap Java tudással meg lehet tanulni az Android fejlesztést egyéb forrásokból (internet, könyvek), vagy azért érdemes lenne erre is beiratkoznom egy tanfolyamra? Mennyire nehéz az átállás Java-ból Androidra?
■ Nagyjából 1 éve tanulom a Javat hobbi szinten is illetve elvégeztem egy tanfolyamot. Úgy érzem sikerült a Java alapjait megértenem és elsajátítanom. Ezután szeretnék továbbmenni az Android fejlesztés irányába. Sokan azt mondták nekem, hogy ehhez a Javaval volt érdemes kezdenem.
A kérdésem mindössze annyi, hogy egy alap Java tudással meg lehet tanulni az Android fejlesztést egyéb forrásokból (internet, könyvek), vagy azért érdemes lenne erre is beiratkoznom egy tanfolyamra? Mennyire nehéz az átállás Java-ból Androidra?
Reklám törölve – Joó Ádám
Ülőmunka
Szép napot!
Van egy olyan problémám, hogy sokat ülök, és ezért hideg a lábam. Ezen egyedül a rendszeres mozgás segített eddig, heti 5x1 óra vagy most jelenleg heti 3x2 óra igénybevétel. Ezzel nincs is gond, mert a sport hasznos, de ha mondjuk kihagyok pár napot valami miatt, akkor még nyáron is fázik a lábam. Arra gondoltam, hogy ezen talán lehetne javítani megfelelő ülőalkalmatosság használatával. Székből már kipróbáltam egy csomó félét, de egyik se vált be. Jelenleg ülőlabdára vagy babzsákra gondoltam, hogy talán érdemes lenne megpróbálni. (Hosszú távon talán veszek egy laptopot, hogy ne kelljen állandóan egy helyben ülnöm.) Van valami tapasztalatotok, best practice, etc... ilyen téren?
(Ezzel kapcsolatban szerintem érdemes lenne egy életmód témakört létrehozni a fórumban, mert már nem az első ilyen kérdés.)
■ Van egy olyan problémám, hogy sokat ülök, és ezért hideg a lábam. Ezen egyedül a rendszeres mozgás segített eddig, heti 5x1 óra vagy most jelenleg heti 3x2 óra igénybevétel. Ezzel nincs is gond, mert a sport hasznos, de ha mondjuk kihagyok pár napot valami miatt, akkor még nyáron is fázik a lábam. Arra gondoltam, hogy ezen talán lehetne javítani megfelelő ülőalkalmatosság használatával. Székből már kipróbáltam egy csomó félét, de egyik se vált be. Jelenleg ülőlabdára vagy babzsákra gondoltam, hogy talán érdemes lenne megpróbálni. (Hosszú távon talán veszek egy laptopot, hogy ne kelljen állandóan egy helyben ülnöm.) Van valami tapasztalatotok, best practice, etc... ilyen téren?
(Ezzel kapcsolatban szerintem érdemes lenne egy életmód témakört létrehozni a fórumban, mert már nem az első ilyen kérdés.)