Hirdetés

Új hozzászólás Aktív témák

  • #39560925

    törölt tag

    Valaki otthon van NoSQL adatbázissémák tervezésében? Nézegetem ezt a PostgreSQL-t, és nagyon szimpi, hogy tud egyszerre relációs és nem relációs adatbázisként is működni.

    Írtam egy exception küldő androidos appot, de úgy döntöttem újraírom az egészet. Megterveztem az új relációs adatbázis sémát, de szerintem van olyan tábla, ami jobb lenne, ha sima object store lenne helyette.

    Leírom mire gondoltam. Van most egy Exception_Instances nevű táblám amiből idegen kulcs mutat az Exception_Type-ra. Exception_Type például a NullpointerException, és ennek egy Instance-a az, amit egy user küld egy másiknak.

    Tehát az Exception_Instances tábla attribútumai: id, type_id, date_time, from_user_id, to_user_id. Az ID unsigned long típusú, tehát 18446744073709551616 példány fér bele. Úgy gondolom, egy user sem fog 1.000.000-nál több exception-t kapni és küldeni, ezért 18.446.744.073.709 felhasználó még okés lenne.

    Ennek tudtában azt csinálnám (csinálom a mostani verzióban is), hogy minden userhez tartozik egy max 1.000.000 millió méretű terület a táblában, tehát például az n-edik usernek [n x 1.000.000] és [(n-1) x 1.000.000] közé esnének az Exceptionjeinek az ID-jai.
    Így elég jó lekérdezéseket is tudok írni, ha egy user exception-jeit le kell kérni. Beszúrás már más kérdés, szerintem ha Java kódból EntityManageren keresztül nyomok egy persist-et, semmiképp se fogom tudni elkerülni, hogy lockolja az egész táblát, és a többi tranzakció ami közben olvasna belőle, ne blokkolódjon.

    Ezzel kapcsolatban azt érzem, hogy az egész kicsit over-engineered, és lehet, hogy object storet használva gyorsabb is lenne (főleg a beszúrás). Vélemények?

Új hozzászólás Aktív témák