Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Mysql - hitaus taulukoiden määrän lisääntyessä

Sivun loppuun

timoteijo [28.07.2012 20:04:56]

#

Moi,
jos minulla on palvelu, jossa jokaista asiakastani kohden tarvitsen sanotaanko vaikkapa 20 taulukkoa tietokantaan. Jos minulla olisi asiakkaita vaikkapa 500, niin taulukoiden määrä nousisi jo 10000. Voiko tämä hidastaa? Olisiko parempi että luon jokaiselle asiakkaalle oman tietokannan, johon sitten tulevat asiakkaan taulukot?

Metabolix [28.07.2012 20:17:53]

#

Asiakkaille luodaan omat taulut tai tietokannat pääsääntöisesti vain siinä tapauksessa, että joka asiakkaalla on myös oma kopio sovelluksesta ja mahdollisesti jopa oma palvelin. Jos asiakkaat käyttävät samaa sovellusta, tauluja ei kuulu luoda lisää. Kaikkien asiakkaiden data tallennetaan samoihin tauluihin, ja joihinkin tauluihin lisätään silloin sarake asiakas_id. Toisin sanoen kyselyissä esiintyviä taulujen nimiä ei pidä vaihdella sen mukaan, kuka on kirjautuneena.

Siltä varalta, että kuitenkin haluat jatkaa nykyisellä, luultavasti täysin virheellisellä linjallasi, vastaan, että nopeuden kannalta ei liene mitään merkitystä, ovatko taulut samassa vai eri tietokannoissa.

timoteijo [01.08.2012 23:22:16]

#

Kiitokset vastauksesta. Rupesin jo pohtimaan vastaustasi, ja tulin siihen tulokseen että on varmasti järkevämpi ja helpompi toteuttaa tietojen tallennus mainitsemallasi tavalla. Eikö tämä kuitenkin nosta tietoturvariskiä huomattavasti? Jos jokaisen asiakkaan data on omassa tietokannassaan, ei yksittäinen tuholainen pääse niin helpolla vahingoittamaan kuin kyseisen asiakkaan dataa. Palvelu on yrityksille suunnattu ja maksullinen, joten koetan olla saada tietoturvan niin hyväksi kuin vain ikinä kykenen.

Jami [01.08.2012 23:35:07]

#

Ei ole mitään väliä pistätkö kaikkien asiakkaiden tiedot eri tietokantoihin. Ei se hidastu, ainakaan ellei kaikkia tietoja ladata samanaikaisesti. Jos ohjelmoit PHP:ta ja sen ilman mitään tietoturva-aukkoja ja webhotelli on DDoS-suojattu, nopea ja kaistanleveys on suuri, ei sivustossa ole mitään riskiä ellei MySQL salasana vuoda.

PHP/MySQL: http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

Metabolix [01.08.2012 23:55:57]

#

timoteijo kirjoitti:

Eikö tämä kuitenkin nosta tietoturvariskiä huomattavasti?

Ei valtiokaan suojaa salaisuuksiaan kirjoittamalla niitä epäselvällä käsialalla pienille paperilappusille. Huonoa tietoturvaa ei voi paikata sillä, että tekee sotkuisen tietokannan. Jos hakkeri pystyy lukemaan tietokantaa, vika on koodissa eikä tietokannassa.

Jos osaa edes perusasiat kunnolla, tietoturvariskiä ei ole kummallakaan tavalla. Jos taas ei osaa, luultavasti aukkoja tulee joka tapauksessa. Toki jo tuo taulujen dynaaminen lisääminen vihjaa, että järjestelmä on huonosti tehty ja täynnä aukkoja.

Jami [02.08.2012 00:59:42]

#

Hyvin sanottu. Tarkoitinkin juuri tuota, mutta eiväthän kaikki kysymykset ole ongelmia tai ei voi ainakaan yleistää niin, että vihjaisi tuota.

timoteijo [02.08.2012 21:57:44]

#

Kiitoksia. Ajattelin juurikin tuota sql-injektiota, ettei pääsisi sorkkimaan kaikkien asiakkaiden dataa. Mutta ehkäpä parempi ratkaisu tosiaan on varmistaa ettei injektiota pääse tapahtumaan :D

dartvaneri [03.08.2012 11:25:01]

#

timoteijo kirjoitti:

Mutta ehkäpä parempi ratkaisu tosiaan on varmistaa ettei injektiota pääse tapahtumaan :D

Ajattelit siis alunperin antaa käyttäjän vapaasti "tehdä" sql-injektion, ja toivoa, että kukaan ei onnistu tekemään sitä?


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta