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í
×
    včera 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 4
    3.7. 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    3.7. 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    3.7. 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    3.7. 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 7
    2.7. 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    2.7. 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    2.7. 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    2.7. 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 9
    2.7. 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2056 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    3.2.2018 00:37 Superklokan
    Rozbalit Rozbalit vše Re: Postgres uz nestaci?

    Pocas benchmarkov som nasiel bottleneck - dovod preco sa pomaly zapisuje do velkej tabulky. Podelim sa s vysledkami a nakoniec zhodnotim kde bol problem.

    Tak ako bolo navrhnute vyssie zvolil som 4 datasety o 1k, 10k, 50k, 100k zaznamoch a budem ich vkladat do najvacsej tabulky csvaddresses, kde je momentalne 4.23587e+09 riadkov.

    1. Benchmark: "INSERT ON DUPLICATE DO NOTHING" v cykle pomocou utility (je napisana v C) vyuzivajucu libpq

    
    1k zaznamov:
    16s
    
    10k zaznamov:
    164s
    
    50k zaznamov:
    817s
    
    100k zaznamov:
    1621s
    
    

    2. Benchmark: z predpripravenych docasnych tabuliek s 1k, 10k, 50k, 100k riadkov.

    
    1k zaznamov:
    INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_1k ON CONFLICT DO NOTHING;
    15s
    
    10k zaznamov:
    INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_10k ON CONFLICT DO NOTHING;
    129s
    
    50k zaznamov:
    INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_50k ON CONFLICT DO NOTHING;
    758s
    
    100k zaznamov:
    INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_100k ON CONFLICT DO NOTHING;
    6149s - neviem si vysvetlit tak vysoku hodnotu oproti ostatnym.
    
    

    Ako vidno z benchmarkov, lepsi vykon sa dosiahne za pouzitia docasnych tabuliek csvaddresses_tmp_#k. Sice som netestoval vlozenie 1m riadkov, ale podla dosiahnutych vysledkov to urcite nebude viac ako niekolko hodin.

    Uz teraz viem kde som spravil chybu (prisiel som na to pocas robenia benchmarkov) a tym velky bottleneck. Chcel som si velmi zdednodusit pracu a pouzival som len tieto 2 prikazy, skratka pouzival som pattern matching - LIKE '111%' aby som velmi jednoducho vedel zmazat z docasnej tabulky uz vlozene zaznamy do tej velkej.

    
    INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_6 ON CONFLICT DO NOTHING WHERE address LIKE '111%';
    DELETE FROM csvaddresses_tmp_6 WHERE address LIKE '111%';
    
    

    Teraz len tak cvicne som pustil prikaz na zratanie hodnot ktore vyhovuju '111%'. No po asi 90 minutach som ho zastavil. Takze teraz s istotou mozem povedat ze bottleneck bol LIKE

    
    SELECT count(*) FROM csvaddresses_tmp_6 WHERE address LIKE '111%';
    
    

    Riesenie:

    Doplnit docasnu tabulku o stlpec id, pouzivat ho ako offset na presunutie dat do velkej tabulky a nasledne ich zmazanie.

    
    DROP INDEX csvaddresses_tmp_6_address_idx;
    ALTER TABLE csvaddresses_tmp_6 ADD COLUMN id bigserial PRIMARY KEY;
    
    

    3. Benchmark: "INSERT INTO csvaddresses SELECT * FROM csvaddresses_tmp_6 WHERE id < ##### ON CONFLICT DO NOTHING;"

    
    1k zaznamov:
    INSERT INTO csvaddresses(address, private_key) SELECT address, private_key FROM csvaddresses_tmp_6 WHERE id <= 1000 ON CONFLICT DO NOTHING;
    18s
    
    10k zaznamov:
    INSERT INTO csvaddresses(address, private_key) SELECT address, private_key FROM csvaddresses_tmp_6 WHERE id <= 10000 ON CONFLICT DO NOTHING;
    134s
    
    50k zaznamov:
    INSERT INTO csvaddresses(address, private_key) SELECT address, private_key FROM csvaddresses_tmp_6 WHERE id <= 50000 ON CONFLICT DO NOTHING;
    789s
    
    100k zaznamov:
    INSERT INTO csvaddresses(address, private_key) SELECT address, private_key FROM csvaddresses_tmp_6 WHERE id <= 100000 ON CONFLICT DO NOTHING;
    1592s
    
    

    A nasledne mozem pohodlne a rychlo vymazat presunute zaznamy

    
    DELETE FROM csvaddresses_tmp_6 WHERE id <= 100000;
    
    

    Vyhodnotenie:

    • Presuvanie z docasnej tabulky vybavenej dodatocnym stlpcom id je najlepsie riesenie a ponuka vyhodu lahkej, rychlej kontroly. Ake riadky boli uz prenesene a ake sa mozu zmazat.
    • Vzdycky pouzivat stlpec id aj ked na prvy pohlad je to zbytocnost.
    • Dat si tu namahu a cas a robit benchmarky
    • Woooow Postgres zvlada cca 4,3e9 riadkov v jednej tabulke, zatial budem generovat data do 3-4TB a potom uvidim :)

    Dakujem vsetkym za rady/otazky, pomocou benchmarkov bolo odhalene uzke hrdlo a ukazany priklad ako sa to NEMA robit :). Pre mna to boli nazaj vyzivne prispevky, mam ale dalsie otazky ked budu aktualne urcite sa ozvem. @EtDirloth si mi nasadil chrobaka do hlavy s tym base64 enkodovanim :). Pri rainbow tabulke sa hodi kazdy bit :)

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.