Hledani ve velkem souboru dat

Marek Sembol hwm.land na gmail.com
Čtvrtek Únor 12 15:00:17 CET 2015


Tak vzhledem k novym informacim si dovolim nove poznamky:-)
1) u grafu casto plati, ze uzivatel se mnohem casteji diva na "cerstva"
data nez na "hodne prachem zapadana" - a dle toho jde taky pracovat s
"indexem v pameti". A proste starsi data budou o neco pomalejsi. Ale jak
rikam - neplati to vzdy
2) to tvrzeni 500x24 nepovazuji za spravne. Pri hledani prvni hodnoty to
mate 24 cteni - ale nikdo vas nenuti ty hodnoty zahodit! Proste pri hledani
hodnot si dynamicky tvorim index, ktery nasledne (kdyz mam hotovo 500
hodnot) kldine zahodim. Z prvniho cteni mam (minimalne) hodnotu v polovine
zaznamu. Takze druhou hodnotu nehledam v celem intervalu, ale (v tom horsim
pripade - lezi v jine polovine celeho rozsahu nez prvni hledana) v polovine
intervalu). A s kazdou dalsi hodnotou se bude situace zlepsovat...
Marek

2015-02-12 14:15 GMT+01:00 Martin Záruba <swz na volny.cz>:

> Vzorky se přidávají každých cca 5 vteřin, podle toho jak PLC stíhá nebo
> zda to nezdrží průchod paketu internetem (PLC je u zákazníka). Program pak
> z dat vytváří graf, přičemž je potřeba přečíst cca 500 vzorků, ale krok
> mezi nimi záleží na zvoleném roztažení vodorovné (časové) osy. Takže to
> klasické půlení opakované 500x je již znát.
>
> Můžete mi přiblížit, co je cuckoo hashing (jsem zcela neposkvrněn věděním
> v této oblasti). Při vkládání dat má PC hromadu času, další vzorek je cca
> za 5 vteřin.
>
> Martin Záruba
>
> Dne 12.2.2015 v 14:01 Galloth napsal(a):
>
>> Určitě lze použít nějakou formu indexu, ale je otázkou, jestli Vám to
>> stojí za to. Možností může být například perfektní hashování, kdy si jednou
>> za čas předzpracujete data a uložíte si je do hashovací tabulky s perfektní
>> hash funkcí (libcmph) a metodou půlení intervalu budete prohledávat jen
>> přírustky.
>>
>> Další možností je  např cuckoo hashing, který Vám garantuje, že najdete
>> na dvě zahledání (ale vložení může trvat déle).
>>
>> Záleží hlavně na tom, jak často hledáte oproti tomu, tak často přidáváte
>> záznamy.
>> Honza
>>
>> Dne 12. února 2015 13:46 Marek Sembol <hwm.land na gmail.com <mailto:
>> hwm.land na gmail.com>> napsal(a):
>>
>>     Predpokladam, ze v klic ma "hlucha mista" (nektere hodnoty jsou
>>     vynechany), jinak by to bylo prilis jednoduche:)
>>     No mozna by se algoritmu dalo pomoct "inteligentnejsim" delenim
>>     intervalu, ale nebude to pak plne deterministicke (vyjimecne se
>>     muze hledani i zhorsit), zalezi jak "rovnomerne" jsou rozlozene
>>     klice.
>>     Uvedu postup na prikladu. Mam treba 1000 zaznamu, prvni je 0,
>>     posledni 10000. Hledam cislo 1000. Hledam cislo v 1/10 meho
>>     rozsahu hodnot. Pokud budu vychazet z toho, ze klice jsou cca
>>     rovnomerne rozdelene, tak zkusim pokracovat v hledani ne na
>>     zaznamu 500 (polovina intervalu), ale zkusim zaznam rekneme 200
>>     (ja vim, v desetine intervalu je 100, ale cim bliz k te 100 pujdu,
>>     tim vetsi je riziko, ze mi ne nevyjde a hledana hodnota bude v
>>     "nadpolovicnim" zbytku).
>>
>>     No a jeste vic by samozrejme pomohlo (pokud to jde) drzet si v
>>     pameti nejaky index (cim vice bodu, tim mensi interval prohledavam)
>>     Marek
>>
>>     2015-02-12 13:19 GMT+01:00 Martin Záruba <swz na volny.cz
>>     <mailto:swz na volny.cz>>:
>>
>>         Váhal jsem, zda mail označit OT:, ale jde o data z PLC, tak
>>         snad to sem patří.
>>         Mám soubor dat, který se stále doplňuje daty, přečtenými z
>>         PLC. V současnosti má cca 9 000 000 vět. Každá věta má 8 byte
>>         klíč, podle kterého je setříděn a 48 byte data, takže na disku
>>         cca 480MB . Pro nalezení potřebné věty nyní používám půlení
>>         intervalu. Existuje nějaká jiná efektivnější forma hledání?
>>         Nyní je na to třeba cca 24 skoků.
>>
>>         --
>>         Martin Záruba
>>
>>         _______________________________________________
>>         HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz
>> >
>>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>         http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>     _______________________________________________
>>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>     http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150212/2fe65bfe/attachment.html>


Další informace o konferenci Hw-list