Nevim jesli to tady zaznelo, ale postgres ma JSON field (podpora i v
djangu), kterej se da rozumne indexovat...

https://www.postgresql.org/docs/10/datatype-json.html
https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#jsonfield
---
In Perl you shoot yourself in the foot, but nobody can understand how you
did it. Six months later, neither can you. | print 'aknerats'[::-1]


On Fri, Nov 30, 2018 at 10:34 AM 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/CA%2B7MNVqQs5aFmdAQtWWnfS%3DnF9HvzEOwL1ynF-DGK%2BCU5nhu_A%40mail.gmail.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to