Tri miliony radku jsou jen drobne, pokud spravne pouzijes indexy. Mel bys
byt na zlomcich sekund pro jeden dotaz (a pokud ten dotaz nevraci tisice
zaznamu)...

 Jirka



On Fri, 30 Nov 2018 at 10:34, Stanislav Vasko <stanislav.va...@gmail.com>
wrote:

> V mezičase jsem si napsal miniaplikaci, která natahala nějaká data z
> Heureky a pak jsem skriptem začal soubor dat duplikovat. Aktuálně mám v
> SQLite asi 3 milióny řádků vše běží, jen tedy vyhledat data s jedinou WHERE
> podmínkou a sortem je cca 10s (45000 výsledků), s limitem na 10 pak cca
> 6,5s. Zkusil jsem MySQL a tam jsou reakce lepší, ale hlavně pokud zapisuji
> do DB mohu z ní v pohodě číst. Což asi bude to hlavní důvod, proč SQLite
> nebude možné použít, neboť budu potřebovat umět současně zapisovat i číst.
> Robot pořízující nová data může běžet taky 15-30 minut a nemohu po tuto
> dobu aplikaci odstavit či házet errory.
>
> Nevíte o nějakém prakticky pojatém článku o tom jak si v MySQL či PSQL
> ušetřit čas a nervy využitím nějakých robotů/automatiky pro zpracování dat
> do mezitabulek, virtuálních dat apod.? Myslím, že využití a vytahání dat z
> miliónů řádek pro dashboard apod. by měl robot v DB umět určitě lépe než
> cokoliv co spáchám já :)
>
> Díky!
>
> On Thursday, 29 November 2018 22:17:08 UTC+1, Vítek Pliska wrote:
>>
>> Určitě scrapy může i v tomto případě pomoct např. s tím jak pracuje s
>> concurrent requests a třebas autothrottle - to záleží na pravidlech toho
>> API které se bude konzumovat, co je dovoleno/jaké jsou limity. Pokud není
>> dovoleno dělat víc požadavků najednou tak bych tam asi scrapy ani netahal…
>>
>> Vítek
>>
>> 29. 11. 2018 v 22:09, Honza Javorek <ma...@honzajavorek.cz>:
>>
>> Já bych řekl, že se specializuje na těžení a že má dost věci, které ti to
>> těžení usnadní, pokud jde o HTML. Pokud jde o JSON, nic usnadňovat
>> nepotrebujes, mas json.loads(), a pak ale pořad stavis na tom těžení.
>>
>> HJ
>>
>> On Thu, 29 Nov 2018 at 21:05, Petr Messner <petr.m...@gmail.com> wrote:
>>
>>> Ahoj,
>>>
>>> myslel jsem, že scrapy se specializuje na těžení dat z HTML. Říkáš, že
>>> se hodí i na JSON API?
>>>
>>> Petr
>>>
>>> čt 29. 11. 2018 v 20:47 odesílatel Honza Javorek <ma...@honzajavorek.cz>
>>> napsal:
>>>
>>>> Ahoj,
>>>>
>>>> mirne offtopic, ale pokud muzu komentovat tu cast kde budes bombardovat
>>>> to API, tak bych zvazil https://scrapy.org/ On si clovek casto nemysli
>>>> ze neco takovyho potrebuje, az kdyz do toho zabredne a trva to misto tri
>>>> dnu mesic, tak si uvedomi, ze misto requests mohl pouzit nejaky framework.
>>>>
>>>> Honza
>>>>
>>>> On Thu, Nov 29, 2018 at 8:19 PM Stanislav Vasko <stanisl...@gmail.com>
>>>> wrote:
>>>>
>>>>> Díky za info. Jen zopakuji, že počet dotazů je pro Heureku skoro nic,
>>>>> proti jiným partnerům. Současné scrapování mám nejen povolené, ale hlavně
>>>>> tuto novou aplikaci budu napojovat (základní skripty jsou už hotové) přes
>>>>> API, které Heureka nedávno uvolnila, zpoplatnila přístup a je na toto 
>>>>> přímo
>>>>> postaveno.
>>>>>
>>>>> JSON soubory mně také napadly, vlastně bych mohl ukládat přímo
>>>>> odpovědi z API (je to JSON RPC), ale nevím jak praktické to je pro další
>>>>> zpracování. Musel bych pravidelně robotem tahat aktuální data denně
>>>>> vypočítat pak dlouhodobé statistiky, ale něco takového mně u DB řešení 
>>>>> čeká
>>>>> asi také. Ještě mně napadlo, zda by nebylo efektivnější pro tyto účely
>>>>> využít nějaký skripty přímo v DB, tuším, že některé mají přímo "udělátka"
>>>>> na vypočítání dat, virtuálních tabulek apod. To by mi možná ušetřilo práci
>>>>> a vyřešilo nutnost neustále o data nějak pečovat.
>>>>>
>>>>> Kibana vypadá zajímavě, ale přiznám se, že o ní slyším poprvé a vůbec
>>>>> nevím jak to v tomto pojetí uchopit. Zkusím si něco nastudovat, ale raději
>>>>> bych se držel něčeho co zná každý a kdokoliv případně i poradí.
>>>>>
>>>>> Díky!
>>>>>
>>>>> On Thursday, 29 November 2018 20:05:21 UTC+1, Messa wrote:
>>>>>>
>>>>>> Ahoj,
>>>>>>
>>>>>> tohle scrapování určitě vidí Heureka strašně ráda. Ale to je tvůj boj
>>>>>> :)
>>>>>>
>>>>>> 60 tisíc záznamů denně? Hm, na to by stačil i JSON soubor. Paradoxně
>>>>>> by jeho zpracování mohlo být i rychlejší, než ze špatně navržené 
>>>>>> databáze.
>>>>>>
>>>>>> Což ostatně není špatný nápad, si ta data vylít a zpracovávat mimo.
>>>>>> Je to celkem častý postup (oddělení analytické db od transakční).
>>>>>> Koneckonců i ten Dashboard může být generovaná statická webovka.
>>>>>>
>>>>>> Honzovo tip s Kibanou se mi taky líbí.
>>>>>>
>>>>>> Zkratka, podle mě tento objem ještě nijak neomezuje výběr technologie
>>>>>> :) (Doufám teda, že sqlite zvládá paralelní read.)
>>>>>>
>>>>>> Petr Messner
>>>>>>
>>>>>> 29. 11. 2018 v 12:59, Stanislav Vasko <stanisl...@gmail.com>:
>>>>>>
>>>>>> Zdravím,
>>>>>>
>>>>>> pár let si v Django píšu menší aplikace pro svou práci a napsal jsem
>>>>>> pár řešení pro své klienty. Pro tyto účely používám SQLite a nikdy jsem
>>>>>> nenarazil na problém, navíc si mohu DB se zdrojákem snadno verzovat v 
>>>>>> GITu.
>>>>>> Nyní ale chci jeden ze svých projektů (analýza produktů na Heureka.cz
>>>>>> <http://heureka.cz/>) zásadně rozšířit a rád bych si od začátku
>>>>>> zvolil vhodný DB podvozek. Budu 3x denně stahovat údaje o produktech (je
>>>>>> jich asi 10 tisíc) přes Heureka API. Kromě aktuální ceny produktu ještě
>>>>>> budu potřebovat uložit data o nabídkách jednotlivých e-shopů (cca 20
>>>>>> e-shopů na produkt, ukládat se bude aktuální cena, pozice, skladovost a
>>>>>> několik dalších parametrů). Tedy denně 10.000 (produktů) x 3 (denně
>>>>>> stahovat nabídky) x 20 (údajů o nabídce konkrétního eshopu) záznamů. K 
>>>>>> tomu
>>>>>> se určitě ještě něco přidá. Tato data potřebuji dále zpracovávat. Typicky
>>>>>> Dashboard s reportem aktuálně produktů prodávaných pod určitou cenou,
>>>>>> report firem prodávajících pod cenou nebo náhled detailu produktu s
>>>>>> historií průměrné a minimální ceny apod.
>>>>>>
>>>>>> Chtěl bych se zeptat zkušenějších programátorů na čem (případně
>>>>>> navést i detailněji) postavit DB podvozek. Problém asi není ani tak v tom
>>>>>> data uložit, ale hlavně abych z nich byl schopen v reálném čase něco
>>>>>> sestavit. Asi bude třeba vytvořit i nějaké roboty, kteří z dat za daný
>>>>>> den/měsíc připraví nějaká mezidata, vypočtou dashboard, protože přímé
>>>>>> realtime zpracování by bylo příliš pomalé. Nebo se mýlím?
>>>>>>
>>>>>> Díky za každý tip na DB, případně budu rád i za navedení na nějaký
>>>>>> relevantní zdroj informací o tom jakou a proč DB zvolit, případně kde 
>>>>>> mají
>>>>>> limity. Osobně studuji a váhám mezi SQLite, MySQL a PostgreSQL.
>>>>>>
>>>>>> Díky, Standa
>>>>>>
>>>>>> --
>>>>>> --
>>>>>> E-mailová skupina djan...@googlegroups.com
>>>>>> Správa: http://groups.google.cz/group/django-cs
>>>>>> ---
>>>>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>>>>>> „django-cs“ ve Skupinách Google.
>>>>>> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
>>>>>> zašlete e-mail na adresu django-cs+...@googlegroups.com.
>>>>>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>>>>>> https://groups.google.com/d/msgid/django-cs/7c78faf6-54b8-4130-95bb-293f6199f14e%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/django-cs/7c78faf6-54b8-4130-95bb-293f6199f14e%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> Další možnosti najdete na https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>> --
>>>>> --
>>>>> E-mailová skupina djan...@googlegroups.com
>>>>> Správa: http://groups.google.cz/group/django-cs
>>>>> ---
>>>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>>>>> „django-cs“ ve Skupinách Google.
>>>>> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
>>>>> zašlete e-mail na adresu django-cs+...@googlegroups.com.
>>>>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>>>>> https://groups.google.com/d/msgid/django-cs/d47d668b-4d47-4964-9f61-a96a6f0c9ef0%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/django-cs/d47d668b-4d47-4964-9f61-a96a6f0c9ef0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> Další možnosti najdete na https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> --
>>>> E-mailová skupina djan...@googlegroups.com
>>>> Správa: http://groups.google.cz/group/django-cs
>>>> ---
>>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>>>> „django-cs“ ve Skupinách Google.
>>>> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
>>>> zašlete e-mail na adresu django-cs+...@googlegroups.com.
>>>>
>>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>>>> https://groups.google.com/d/msgid/django-cs/CAPAmg-c%3DumEvwD9ozq%3DcDCTWu%2BPOngV7%2BFiNE4sjwWiV8gqJ0A%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/django-cs/CAPAmg-c%3DumEvwD9ozq%3DcDCTWu%2BPOngV7%2BFiNE4sjwWiV8gqJ0A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> Další možnosti najdete na https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> --
>>> E-mailová skupina djan...@googlegroups.com
>>> Správa: http://groups.google.cz/group/django-cs
>>> ---
>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>>> „django-cs“ ve Skupinách Google.
>>> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
>>> zašlete e-mail na adresu django-cs+...@googlegroups.com.
>>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>>> https://groups.google.com/d/msgid/django-cs/CAK9Q5BRGZccXsW%3DsnaHSq6OwWkeW1amHPO5NWgMohdPJ5%2Bx-eg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/django-cs/CAK9Q5BRGZccXsW%3DsnaHSq6OwWkeW1amHPO5NWgMohdPJ5%2Bx-eg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> Další možnosti najdete na https://groups.google.com/d/optout.
>>>
>>
>> --
>> --
>> E-mailová skupina djan...@googlegroups.com
>> Správa: http://groups.google.cz/group/django-cs
>> ---
>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
>> „django-cs“ ve Skupinách Google.
>> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
>> zašlete e-mail na adresu django-cs+...@googlegroups.com.
>> Chcete-li tuto diskusi zobrazit na webu, navštivte
>> https://groups.google.com/d/msgid/django-cs/CAPAmg-fWaeJW9GvNEQAD8szkRWs%3DSpa4oqg3QcHdZxyXcx-TOg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/django-cs/CAPAmg-fWaeJW9GvNEQAD8szkRWs%3DSpa4oqg3QcHdZxyXcx-TOg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> Další možnosti najdete na https://groups.google.com/d/optout.
>>
>>
>> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/1e06b101-65d4-4c5f-8934-49ce0cdc5f90%40googlegroups.com
> <https://groups.google.com/d/msgid/django-cs/1e06b101-65d4-4c5f-8934-49ce0cdc5f90%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> Další možnosti najdete na https://groups.google.com/d/optout.
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAFhEBED58KWPwds1qBO422XNz9mN1N7nh%2B84U9j-mFHPUfv6FQ%40mail.gmail.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to