Jos pitää tallentaa Helsingin, Vantaa ja Espoon asukkaiden nimi ja puhelintiedot tietokantaan, ja haku tapahtuu nimen perusteella ja paikkakunta on aina etukäteen tiedossa. Niin kannattako tallentaa kaikki tiedot samaan tietokantaan, vai tehdä kolme tietokantaa, erikseen Helsinkiläisille, Espoolaisille ja Vantaalaisille?
Haussa voi tietenkin helposti erottaa paikkakunnat, mutta entäs suorituskyvyn kannalta? Jos kaikki on samassa tietokannassa niin pitää enemmän dataa lukea puskuriin, vai onko sillä suurtakin merkitystä?
Rivejä tietokannassa tulee olemaan < 1mil, ja tietokanta on MySQL
Iso tietokanta
3
416
Vastaukset
- tohlo
Sanoisin että ehdottomasti kaikki kannattaa laittaa samaan tietokantaan. Ei muutaman sadan tuhannen rivin lisäys paljoa hauissa lisää tee, kunhan taulurakenne ja indeksit on muuten laitettu järkevästi tehostamaan käyttöä. Koko Suomen väestökin todennäköisesti kannattaa laittaa yhteen ja samaan tietokantaan (helpottaa mm. siinäkin vaiheessa kun ihmiset muuttavat paikasta toiseen).
Samoin käyttöjärjestelmäalusta välimuisteineen tuskin enää nykyisin vaikuttaa niin paljoa kuin ennen. Wintoosissa ja Linuxeissa ym. on systeemin puolesta välimuisteja, joiden seurauksena levyltäluvut ovat niin nopeita kuin ne nyt ylipäätään on mahdollista saada.
Ennen kaikkea siis taulujen kenttien tyypit, viite-eheydet ja indeksit kannattaa laittaa kuntoon. - The Rat
Taulu (ei siis tietokanta) alkaa olla "iso" kun rivejä on useita kymmeniä miljoonia.
Tietokannan kokoa mitataan usein sen kuluttamina tavuina. Itse pidän rajana jotain viittä gigatavua, jossa vaiheessa kanta alkaa olla iso - olettaen että siihen on tallennettu vain perustietoista tavaraa (ei esim. kuvia). Tuokin toimii vielä varsin nopesti ihan peruspalvelimella kunhan muistia riittää.
Tuollainen alle miljoonan rivin taulu ei ole mikään ongelma. Indeksit vain kuntoon (paikkakuntaa ei minusta kannata indeksoida, nimi riittää - siis sukunimi varmaan?) - rmac
"Haussa voi tietenkin helposti erottaa paikkakunnat, mutta entäs suorituskyvyn kannalta? Jos kaikki on samassa tietokannassa niin pitää enemmän dataa lukea puskuriin, vai onko sillä suurtakin merkitystä? "
SQL:n nopeuden kannalta yksi WHERE on aika vähämerkityksinen kunhan query optimizer toimii. Kaupungin hakemiseen voi olla parempi käyttää valikon listindexiä ja TINYINT -tyyppiä kuin stringiä - tämänkin voi testata käytännössä onko sillä merkitystä. Jos SQL on yhtään monimutkaisempaa kannattaa lausekkeet käydä huolellisesti läpi kantaa vastaan ja katsoa mikä haut tuntuvat raskailta.
Isossa taulussa kannattaa käydä läpi tietokantamoottorin asetukset (ja varmasti ymmärtää mitä mikäkin parametri tarkoittaa). Tietokantahan on siitä kätevä paikka varastoida dataa että overheadiä on aika vähän. Jos datatyypit on mietitty kunnolla ja sarakkeita ei ole paljon miljoonan rivin taulu ei välttämättä vie muistia muutamaa kymmentä megaa enemmän. Nyrkkisääntö tietokantaalustoissa muutenkin on, että koko kannan tulee mahtua muistiin. Sehän ei ole ongelma kun palvelimiin ladataan pari gigaa muistia jo ihan vain varmuuden vuoksi.
Viimeisimpänä mutta ei vähäisimpänä pitää muistaa myös backup. Perinteisesti mySQL on ollut heikoimmillaan silloin kun puhutaan tavanomaisista DBMS -apuprosesseista kuten online backup, statistiikkojen päivitys, replikointi, synkronointi jne. Kantaa suunniteltaessa pitää siis myös katsoa miten online backup toimii ja toimiiko myös sen palauttaminen.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1285764
Mikä on vaikeinta siinä, että menetti yhteyden kaivattuun, jota vielä ajattelee?
Mikä jäi kaihertamaan? Jos jokin olisi voinut mennä toisin, mitä se olisi ollut? Mitä olisit toivonut vielä ehtiväsi san3962579- 1342497
Persut rahoittavat velkarahalla rikkaiden ökyelämää
Minkä vuoksi persut eivät leikkaa rikkailta, joilla on maksukykyä? Tuskinpa tuo persujen käytös saa Suomen kansalta hyv82079- 121353
- 621107
Kun ei numeroa
niin en edes voi viestittää, et suunnitelmiin tuli muutos. Ikävä on, ja kasvaa vaan🤍101042- 51912
Temusta tilaamiseen tulee muutos
Alle 150 euron tullivapaus poistuu. Vihdoinkin kankea EU saa jotakin aikaiseksi. https://www.iltalehti.fi/digiuutiset/101825- 76825