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 07:33 | Komunita

    O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    dnes 00:55 | IT novinky

    Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.

    Ladislav Hagara | Komentářů: 6
    včera 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Komunita

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

    Ladislav Hagara | Komentářů: 8
    včera 01:22 | Nová verze

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 5
    30.10. 23:44 | Komunita

    Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    30.10. 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 2
    30.10. 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    30.10. 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (18%)
     (22%)
     (16%)
     (20%)
     (16%)
     (17%)
    Celkem 294 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    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
    6.9.2015 14:51 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Datový model pro atributy produktů

    Zrovna jsem chtěl položit podobnou otázku :-)

    Přemýšlel jsem nad datovým modelem pro atributy produktů v obchodě. Dejme tomu, že chci udělat něco jako eBay (ale lepší samozřejmě).

    Požadavky:

    • Máme slovník atributů – barva, rozměry, počet USB portů, jejich rychlosti, maximální rychlost, počet pokojů atd. klasika.
    • Atributů budou stovky až tisíce, možná i víc a budou přibývat.
    • Atribut může mít víc hodnot, např. rozhraní = {VGA, HDMI, DVI}.
    • Nemáme pevně dané skupiny atributů (např. grafické karty mají atributy g1 až g10, reproduktory mají atributy r1 až r5); jakýkoli výrobek může mít nastaven jakýkoli atribut – to už záleží na tom, kdo zadává data, systém ale použití neomezuje.
    • Atributy mohou mít různé datové typy (celé číslo, desetinné číslo, boolean, datum, výčtový typ…).
    • Produkt může mít víc variant, které se mohou v některých atributech lišit zatímco jiné zase dědí.
    • Kromě atributů tam budou hierarchie a budeme chtít prohledávat určitý podstrom – např. „oddělení: počítačové komponenty / grafické karty“ nebo „země výrobce: Asie / Čína“ i tyhle stromové dotazy můžou být spojené AND a OR operátory – např. „grafická karta AND (Čína OR Korea)“.
    • Je potřeba mít dotazovací jazyk, který umožňuje psát složité dotazy typu: „rozměry jsou menší než X,Y,Z AND počet USB portů > 2 AND rozhraní = (VGA AND (HDMI OR DP)) AND operační systém NOT MS Windows“ + to umístění v podstromu (podstromech).
    • Celé to musí být dostatečně rychlé a škálovatelné.

    Tohle je takový ideál, možná nedosažitelný, ke kterému se dá jen přiblížit…

    Mám rád relační databáze, na většinu úloh je to ideální nástroj a relační databáze tam určitě bude1, takže je celkem přirozené to zkusit navrhnout nad ní. Taky je dobré minimalizovat počet použitých technologií. Na druhou stranu ve výsledku to dopadne spíš tak, že budou databáze dvě: relační na většinu dat + nějaká jiná pro atributy a hierarchie + možná ještě něco dalšího pro fulltext.

    Co mě zatím napadlo:

    • EAV – jakkoli se nedoporučuje, úplně bych ho nezavrhoval. Zpočátku bude dat málo a mohlo by to v pohodě fungovat. S rostoucím objemem dat se přejde na jinou technologii/model. Je totiž naivní si myslet, že na začátku člověk vybere vhodný nástroj, který mu vydrží navěky – hodně věcí se ukáže až v průběhu reálného používání a sebelepší analýza je nedokáže předem odhalit. Třeba se ukáže, že klíčové je něco jiného, než vyhledávání podle atributů a nemá cenu na něj plýtvat čas (třeba nebude chtít nikdo ty atributy zadávat nebo podle nich vyhledávat a bylo by to celé zbytečná práce).
    • EAV jako primární zdroj dat + jeho denormalizovaná kopie pro lepší vyhledávání – nějaký index, materializovaný pohled, nebo dynamicky vytvořené a naplněné tabulky. To by mohlo celkem fungovat, ale tuším tam problém s prohledáváním vícenásobných atributů – buď to budou pole a tam nevím, jak to bude s rychlostí a indexy, nebo to bude více záznamů v tabulce a tam se budou hůř psát AND dotazy (OR v pohodě).
    • Dynamicky generovaná tabulka, která bude obsahovat sloupec pro každý atribut – těch ale můžou být tisíce nebo i víc – jak si s tím poradí třeba PostgreSQL? Jaká bude efektivita uložení takových dat? (většina sloupečků bude prázdná – řídká data)
    • Dynamicky generované tabulky – pro každý atribut jedna – opět jich můžou být tisíce nebo víc. V obou předchozích případech bude zase problém s prohledáváním vícenásobných atributů.
    • XML sloupec obsahující atributy + nějaký index nad ním
    • RDF databáze a jazyk SPARQL – tohle vypadá celkem slibně. Máte s tím někdo zkušenost jako s databází pro produktové atributy? Jak dobře se píší složitější dotazy? Jak je to s výkonem? Např. Apache Jena, 4store nebo MonetDB.
    • Sloupcové databáze, Druid.io, Apache Cassandra, Hadoop, Neo4j…

    P.S. zatím to jsou spíš teoretické úvahy a diskuse na nedělní odpoledne :-)

    [1] fakt nechci vést účetnictví nebo údaje o klientech v nějaké bezschémové/noSQL databázi a mít tam bordel a při psaní každého dotazu si rvát vlasy

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    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.