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í
×
dnes 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
dnes 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 2
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 3
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 7
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 353 hlasů
 Komentářů: 25, poslední včera 13:34
    Rozcestník
    Reklama

    Dotaz: Cache dat pomocí MySQL - indexovat?

    8.11.2010 23:45 mykš
    Cache dat pomocí MySQL - indexovat?
    Přečteno: 609×
    ahoj, potřebuju pro svou aplikaci vyrobit cache a neboť budou data velice často vybírána pomocí podmínek a bude použito stránkováním rozhodl jsem se použít místo čistokrevného cachování cache pomocí MySQL. Jako úložiště bych chtěl použít InnoDB a data aktualizovat pomocí transakcí - načtu data ze zdroje, vyrobím updaty a v jedné transakci to pošlu lokální MySQL cache tabulce, protože to bude asi nejrychlejší. Dále budu používat v těchto cachovacích tabulkách cizí klíče. Zajímá mě ale váš názor na použití indexů pro takovou tabulku. Předpodládám max. 50 000 záznamů s tím, že různé sloupce se budou aktualizovat v různých intervalech oproti zdroji dat.

    Odpovědi

    okbob avatar 9.11.2010 05:17 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    memcached nebo SQLite bude určitě rychlejší
    9.11.2010 07:13 mykš
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    No hlavní tabulku databází mám v mysql a ty pomocné cachovací tabulky s tou hlavní budu spojovat pomocí určitého klíče (PRIMARY - to je jediný klíč u kterého jsem si jistý že tam být musí, ostatní nevím jestli to spíš nezpomalí kvůli updatům innodb), tak je pro mě velice výhodná volba mysql. S použitím memcached bych aplikaci nejspíš hodně zpomalil. Po memcached jsem koukal a nezdá se mi že umožňuje data třeba jen řadit. Určitě bude rychlejší provést "select * from tabulka where sloupec like "_da?" AND id < 500 order by sloupecX, sloupecXy, sloupec Xz limit 300" v SQL než načíst data z memcached a filtraci, řazení, limitování či stránkování provést až v programu.
    okbob avatar 9.11.2010 10:48 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Záleží, co chcete s tabulkou (objektem) dělat - pokud ji používat jako tabulku, tak pak bude výhodnější MySQL nebo SQLite - což je asi Váš případ - pak mi nesedí použítí slůvka cache, i když cache může být jakákoliv. Proč rovnou nepoužijete replikaci?
    9.11.2010 08:05 Filip Jirsák | skóre: 66 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    K čemu tedy ta cache bude sloužit? Děláte nad daty z databáze nějaké složité výpočty a jejich výsledky chcete v té cache ukládat? „Normálně“ se cache nad databází používá pro to, abyste přístupy k databázi omezil, k tomu ta vaše cache určitě nepomůže.

    Pokud skutečně nad daty děláte nějaké složité výpočty, vyřešil bych to tak, že bych si udělal pro ta výstupní data pohled nebo uloženou proceduru („implementaci“ pak následně můžu měnit beze změny „rozhraní“). Jednoduchá implementace by byla taková, že jenom v okamžiku požadavku spočítá výsledek a vrátí jej, nebude nic kešovat. Pak případně můžete přidat kešování tím způsobem, že si vytvoříte pomocnou tabulku nebo tabulky, které budete plnit pomocí triggerů z primárních dat a onen pohled nebo uloženou proceduru předěláte na použití těchhle pomocných tabulek.
    9.11.2010 09:12 mykš
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    No struktura je následující:
    MySQL cache
    ------------------
    centralni_tabulka
    
    
    
    
    MySQL hodně vzdálená
    --------------------
    nějaká_tabulka
    
    
    
    
    MySQL hodně vzdálená 2
    --------------------
    nějaká_tabulka2
    
    Původně se jednalo o 1 databázi se 2 tabulkami a pohledem nad jejich joinem, jenže se ukázalo, že komunikace klientů s touto centrální databází je docela pomalá. Proto to bylo rozděleno na 2 databáze. Ta 3. cachovací má sloužit jen pro "pozorovatele" a má mít obsah těch následujících dvou (které nejsou v lokální síti s tou cachovací). Mým cílem je mít rychlý přístup k datům i když jsou zbylé 2 databáze těžko dostupné nebo i když vypadne spojení úplně.
    9.11.2010 10:59 cronin | skóre: 48
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    To nie je struktura. :-)

    Idealne by bolo dat sem CREATE TABLE prikazy ... a samozrejme SELECT-y, ktore treba optimalizovat. Len tak sa da radit o potrebe ci zbytocnosti indexov a ich spravnom tvare.

    Ono, ak je fakt otazka iba "index - ano alebo nie" tak vyskusat to je najjednoduchsie, nie?
    9.11.2010 11:47 dustin | skóre: 60 | blog: dustin
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Minimální potřebnou množinu indexů si můžeš zjistit pomocí explain.
    9.11.2010 12:15 mykš
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Tím bych asi zjistil, že indexy budu potřebovat všude protože můžu řadit pomocí jakéhokoliv sloupce.
    AraxoN avatar 10.11.2010 01:04 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Na zoradzovanie index má vplyv len vo veľmi málo prípadoch. Skôr sa uplatní na stĺpce, ktoré sa vyskytujú vo WHERE, či v podmienkach JOIN.
    A fine is a tax for doing wrong. A tax is a fine for doing well.
    10.11.2010 06:23 cronin | skóre: 48
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Prave naopak. Index ma na zoradovanie vplyv, pretoze polozky su v indexe zoradene "by definition". Takze ak je potreba radit vysledok podla indexovaneho stlpca, staci sekvencne citat index a nic sa radit nemusi. Klauzula ORDER BY je snad najvacsim vykonovym zabijakom selektov a index tento problem vo vacsine pripadov elegantne riesi.
    okbob avatar 10.11.2010 08:49 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    Pro jednoduché dotazy to možná platí, pro trochu složitější většinou nikoliv.
    AraxoN avatar 10.11.2010 09:13 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Cache dat pomocí MySQL - indexovat?
    To platí za predpokladu, že sa podľa indexovaného stĺpca robí LIMIT-OFFSET a vo WHERE sa žiadny iný index nedá použiť. Vtedy má význam čítať index sekvenčne.
    A fine is a tax for doing wrong. A tax is a fine for doing well.

    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.