Olisi tarkoitus raapia kokoon tietokanta, jonka tieto koostuu n. 1000 - 2000 laitteen lähettämästä datasta. Yhteensä nämä laitteet lähettävät vuoden aikana kymmeniä tuhansia lähetyksiä. Olenkin tässä pohtinut, mikä olisi järkevin tapa organisoida tuo kanta.
Tietoja ei tarvitse tämän kannan puitteissa vertailla laitteiden välillä. Kaikkein tärkeintä olisi saada haettua viimeisin data jokaisesta laitteesta mahdollisimman nopeasti ja tehokkaasti. Sen vuoksi olen pohtinut, että:
- nykyhetken tieto kaikista laitteista tallennettaisiin yhteen, yhteiseen tauluun
- jokaiselle laitteelle tulisi lisäksi oma taulunsa, jonne mennyt data tallennettaisiin satunnaista tarkastelua varten
Tämä tietenkin sotii voimakkaasti kaikenlaisia DRY-periaatteita yms. vastaan, ja ymmärrän, ettei sellainen useimmissa tapauksissa ole mitään järkevää tietokantasuunnittelua. Etuna tässä kuitenkin olisi, että se kaikkein tärkein päätaulu pysyisi aika pienikokoisena. Lisäksi, kun laite poistuu järjestelmästä, riittäisi sen siivoaminen tästä päätaulusta.
Se toinen vaihtoehto olisi tietenkin sulloa kaikista laitteista saapuva tavara yhteisiin tauluihin, joita voisi sitten varmaankin eritellä lähetetyn tiedon mukaan (eli kun laitteet lähettävät dataa A ja dataa B, niin luodaan taulut A ja B, joihin tavara tallennetaan). Lisäksi olisi tietenkin se laitetaulu, johon tallennetaan laitteen tunnus sekä joitakin muita muuttumattomia tietoja. Näin ollen olisi se yksi tieto yhdessä paikassa, niin kuin oikeassa tietokannassa kai kuuluukin. Ongelmana on, että aina, kun haetaan niitä laitteiden viimeisimpiä tietoja, joudutaan tekemään kyselyjä näihin tauluihin, joissa on sitten vuosien päästä hillitön määrä rivejä.
Vuoden tai kahden aikana tämä tuskin on ongelma kummallakaan valinnalla? Mutta muuttuuko tilanne, kun vuosia onkin takana vaikkapa 10? Tässä kun on olemassa se riski, että joudun itse kantamaan vastuun tästä pommista vielä silloinkin.
Tietoja ei tarvitse tämän kannan puitteissa vertailla laitteiden välillä. Kaikkein tärkeintä olisi saada haettua viimeisin data jokaisesta laitteesta mahdollisimman nopeasti ja tehokkaasti. Sen vuoksi olen pohtinut, että:
- nykyhetken tieto kaikista laitteista tallennettaisiin yhteen, yhteiseen tauluun
- jokaiselle laitteelle tulisi lisäksi oma taulunsa, jonne mennyt data tallennettaisiin satunnaista tarkastelua varten
Tämä tietenkin sotii voimakkaasti kaikenlaisia DRY-periaatteita yms. vastaan, ja ymmärrän, ettei sellainen useimmissa tapauksissa ole mitään järkevää tietokantasuunnittelua. Etuna tässä kuitenkin olisi, että se kaikkein tärkein päätaulu pysyisi aika pienikokoisena. Lisäksi, kun laite poistuu järjestelmästä, riittäisi sen siivoaminen tästä päätaulusta.
Se toinen vaihtoehto olisi tietenkin sulloa kaikista laitteista saapuva tavara yhteisiin tauluihin, joita voisi sitten varmaankin eritellä lähetetyn tiedon mukaan (eli kun laitteet lähettävät dataa A ja dataa B, niin luodaan taulut A ja B, joihin tavara tallennetaan). Lisäksi olisi tietenkin se laitetaulu, johon tallennetaan laitteen tunnus sekä joitakin muita muuttumattomia tietoja. Näin ollen olisi se yksi tieto yhdessä paikassa, niin kuin oikeassa tietokannassa kai kuuluukin. Ongelmana on, että aina, kun haetaan niitä laitteiden viimeisimpiä tietoja, joudutaan tekemään kyselyjä näihin tauluihin, joissa on sitten vuosien päästä hillitön määrä rivejä.
Vuoden tai kahden aikana tämä tuskin on ongelma kummallakaan valinnalla? Mutta muuttuuko tilanne, kun vuosia onkin takana vaikkapa 10? Tässä kun on olemassa se riski, että joudun itse kantamaan vastuun tästä pommista vielä silloinkin.