Zadejte hledaný výraz...

Efektivita DB v Drupali?

webgo
verified
rating uzivatele
13. 5. 2010 16:09:20
Chcel by som sa opytat, ci je vhodne z hladiskaoptimalizacie napr. toto riesenie:
pri registracii zadavam typ uzivatela (chovatelska stanica, klub, veterinar,...)
na zaklade vytvoreneho predpisu pre profil. Do MySQL DB sa ukladaju nazvy typu varchar, teda cely retazec (chovatelska stanica, klub, veterinar,...)
Keby som programoval system odznova asi by smo vyuzil sposob, ze do tabulky uzivatelov by som pridaval id typu regsitracie (1,2,3) a potom v druhej tabulke by som drzal typy regsistrancie podla id (1-chovatelska stanica, 2-klub, 3-veterinar,...)
Z mojmo pohladu sa obavam do buducnosti 2 problemov:
- zbytocne sa zvacsi velkost DB
- bude to mat vplyv na generovanie rychlosti vystupov
Takymto sposobom chcem okrem typu registracie priradovat napr. okres a kraj, a tiez sa mi nezda vhodne by sa to ukladalo pri kazdej polozke to iste plati o vyhladavani a filrovani.
Moze mi niekot poradi, pripadne povedat svoj nazor? S drupalom este len zacianam :)
13. 5. 2010 16:09:20
https://webtrh.cz/diskuse/efektivita-db-v-drupali#reply504259
sweetree
verified
rating uzivatele
13. 5. 2010 17:33:28
zkusím jen drobný postřeh, profíci k MySQL /Postgresu budou možná klást cílenější dotazy, aby ti pak mohli odpovědět konrétně:
- rychlost odezvy db není až tak odvislá na typu CMS, jako od kvality SQL dotazu a nastavení různých paměť. limitů, případně přiděleného procesorového výkonu při opravdu velkých databázích (limit na dobu zpracování dotazu)
- z hlediska struktury projektu a velikosti db je určitě správná tvá úvaha "neopakovat záznymy jako u blbejch" a rozčlenit je optimalizovaně do tabulek
- jakmile budeš vypisovat výsledek dotazu do stránky, dostaneš se po určité naplněnosti db do stavu, kdy budeš nucen stránkovat nebo omezit dotaz třeba podle písmen abecedy, A-C, Č-E,..., protože jinak si naběhneš na problémech s čitelností délky textu, limitech počtu zobrazených řádků na stránku apod. Proto by bylo fajn už teď strukturovat úplnou množinu filtrů s ohledem na budoucí předpokládaný maximální počet záznamů
- pokud vynecháš všechny příkazy typu %LIKE, protože budeš vědět, co hledáš ;), využiješ dobře použitý UNIQUE pro zachování jedinečnosti záznamu a použiješ indexů (a budeš je pravidelně udržovat) a tím zrychlíš seekování v dotazu, případně zvolíš dobře kombinaci vzorků z polí pro indexování fulltextu, využiješ omezovacích příkazů SQL (WHERE ap.), abys dostal do cursoru pro další zpracování nebo do pole pro přímý výstup opravdu jen nutný počet vět, tak se nebudeš muset rychlostí databáze až tak zabývat, alespoň vzhledem k možnému počtu chovatelských stanic a klubů v Evropě ;)
Asi OT, ale: každopádně nezapomeň na vhodnou formu exportu db nastavením cronu (nebo AT ve wokenním serveru) na hostitelské platformě. Alespoň 1x denně, pokud se v db změní alespoň 1 sledovaný údaj..
13. 5. 2010 17:33:28
https://webtrh.cz/diskuse/efektivita-db-v-drupali#reply504258
Databáze se nezvýší protože ta data v ni budou stejně. Databázová stuktura Drupalu je udělaná celkem dobře. Samozřejmě pokud si napíšeš vlastní řešení tak bude optimalizovanější..
13. 5. 2010 19:06:10
https://webtrh.cz/diskuse/efektivita-db-v-drupali#reply504257
Pro odpověď se přihlašte.
Přihlásit