abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 5
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 33
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: MYSQL generovanie štatistických prehľadov

8.1.2012 18:42 adrinko | skóre: 22
MYSQL generovanie štatistických prehľadov
Přečteno: 448×
Zdravím,

prosím o vaše názory, čo je najvhodnejšie v takomto prípade. Mám v phpčku spravený systém, kde si registrovaní užívatelia zadávajú svoje tasky na dnešný deň. Chcel by som teraz, vypísať povedzme mesačnú (alebo aj dlhšiu) krivku pre užívateľa, koľko taskov mal v ktorý deň a z toho by sa mu zobrazila krivka podobne, ako google analytics. Následne ja ako admin by som chcel tiež podobnú krivku, kde by zobrazilo sumár taskov v jednotlivé dni pre všetkých užívateľov.

Otázka teraz je - ako je to najlepšie spraviť s ohľadom na databázu? Je mi jasné, že keby sa to spočítavalo vždy na základe dotazu stránky, tak by sa rôzne výpočti na konkrétne dni opakovali a zbytočne tak viackrát zaťažovali celý systém. Mne sa zdá najlepšie, keď sa pre každý deň uloží do db výsledok a pokiaľ znova nastane potreba zobraziť daný deň, tak sa už nebudú všetky tasky pre daného užívateľa znovu spočítavať, ale sa len jednoducho už predtým spočítaný výsledok načíta z db. Čo poviete? (niečo na spôsob "cachovania" jednotlivých dotazov..) Ešte som také niečo nikdy nepotreboval spraviť, preto uvítam vaše názory. Vďaka!

Odpovědi

8.1.2012 19:06 Kit
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
O potřebné cachování se stará přímo SQL server.

Pokud bys měl problém s výkonem při poskytování výstupů, můžeš optimalizovat SELECT, případně doplnit potřebné indexy. Nebo můžeš při ukládání záznamů aktualizovat pomocí triggeru nějakou agregační tabulku (i více) s předzpracovanými výstupy.

Každé řešení má své výhody i nevýhody. Záleží na tom, zda se častěji zapisuje nebo čte. Pokud by i nadále byly problémy s výkonem, sáhl bych po jiné databázi.
okbob avatar 8.1.2012 19:46 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
záleží na zátěži - na objemech dat - na tom, jak budete mít omezené reporty v historii

Od určitých objemů je nutné dělat preagregace - tam sama o sobě žádná relační databáze nepomůže - nicméně chce to řešit pokud počítáte, že se dostanete nad milióny řádků a budete růst. Vytvořte si databázi a naplňte jí, tak jak bude vypadat za cca 7 let provozu - a vyzkoušejte si rychlost dotazů (pokud možno paralelně). Pokud budou dostatečně rychlé, tak nic nemusíte řešit - jinak buďto přemýšlejte nad zadáním (např. omezit rozsah reportu na poslední 3 měsíce) nebo nad formou materializace - preagregace.
9.1.2012 15:00 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
IMHO rychlejší než dělat testy je udělat si tu preagregaci rovnou - jde o tři triggery a jednu tabulku, to je hotový za chviličku.
12.1.2012 01:27 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
vďaka za typy. l0gik, z tvojho príspevku to vyzerá fakt jednoducho:) aké 3 triggery si myslel? viete o nejakom návode na toto...? je síce fakt, že o triggeroch som už čítal, ale ešte som ich nikdy nepoužil. vďaka!
12.1.2012 13:49 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
Tabulka: klíč(uživatel, den), počet operací No jednoduchej trigger: při insertu inkrementovat záznam v tabulce, popř. založit novej při delete dekrementovat a při updatu, pokud se změní den nebo uživatel províst obojí.

Nepíšeš, kterej je to sql server, tak těžko dám návod, dělá se to v každym trochu jinak, ale když hodíš např. mysql (nebo co máš) trigger do nápovědy, tak to najdeš hned.

Třeba k mysql najdeš nápovědu tady: http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

Řešil bych to takhle tak řádově od stotisíc záznamů, desettisíc Ti db spočítá jak nic.
12.1.2012 09:55 Kit
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
Do 10k záznamů nemá moc smysl řešit ani indexy, ani triggery. Do 1M vystačíš s indexy.

Záleží tedy na objemu dat. Podle popisu soudím, že preagregaci zřejmě potřebovat nebudeš.
12.1.2012 10:42 kuka
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
To je myslim prilis zjednodusujici. Pokud jde o hodne zatizeny system (nebo se to do budoucnosti predpoklada), tak pro 1M (a i mene) zaznamu bude hodne velky rozdil, jestli se data prectou z pripravene tabulky, nebo se museji online naagregovat. Co kdyby si napriklad statistiku soucasne zobrazovalo 100 konkurentnich uzivatelu?
12.1.2012 10:56 Kit
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
Je to zjednodušující. Nevíme vůbec nic o budoucí zátěži. Řešit tuto záležitost triggery na několika stovkách záznamů je overkill, zejména pokud se statistiky budou zobrazovat třeba jen 1x denně.

Denormalizace se má dělat až když je patrné, že to bude líné.
Josef Kufner avatar 18.1.2012 21:17 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: MYSQL generovanie štatistických prehľadov
V zádadě máš dvě možnosti:

1. Udělat select a počítat to na požádání.

2. Každý den posčítat včerejšek a uložit si to. Postupem času staré záznamy agregovat do méně podrobných (posčítat dny do týdnů či měsíců).

Nedávno jsem si naprogramoval do jednoho systému tu první možnost a výsledný select není vůbec hezký. Pokud bude uživatelů více a dat hodně, nebude to stíhat a indexy to nezachrání.

Na cachování v SQL serveru se nespoléhej, než si tytéž data vyžádá uživatel znovu, ostatní je z cache vypláchnou.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.