MySQL Огромно приложение, как да стане?

Kavhann

Registered
Здравейте,

Надявам се въпросът ми да зададен на правилното място. Проблемът е следния. Имаме уеб приложение, която в своето начало има малко потребители, то работи на MySQL и пази цялата информация в една база.

Идва обаче един хубав ден, в който в приложението започват да влизат много хора, стотици хиляди заявки започват да се появяват от къде ли не, DELETE, UPDATE, INSERT и т.н. Базата набъбва и достига едно определено ниво на тромавост.

И тук идва моя въпрос. Как трябва да се огранизира базата на едно такова приложение?

Трябва ли да се създадат няколко бази данни, така че ако едната започне да се препълва да се налива другата?

Ще съм ви благодарен ако ми дадете дори някой качествен източник по тази тема, за този конкретен проблем.

Благодаря.
 
Цитирам това от една моя книга:

"InnoDB"
Този тип заедно с типа BDB поддържа таблици със сигурни транзакции, предназначени за големи и често използвани бази данни. Разполага с механизъм за заключване на редовете, за да предотврати промяната на ред, едновременно ползван от няколко потребителя. Според източници в Интернет при такава таблица са измерени 800 вмъквания и обновявания за секунда! Може да намерите повече информация за този тип на адрес www.innodb.com

Направих и малко проучване в Интернет и видях някой от следните предложения:

Оптимизиране на кода
Добавяне на повече РАМ
Добавяне на повече CPU

Както и гореспоменатото от мен ползване на InnoDB таблици.
 
@Kavhann - няма ниакви проблеми, просто дали ще ти е тромава базата е въпрос на индексация. Но дори и да има грешен подход има начини да се провери и да бъде остранен проблема.

@qazxsw - моляте спри да четеш тези книжки !!! InnoDB - има няколко плюса но и много минуси от своя страна. За това засисимост от приложението се избира какъв тип да се използва. Защото InnoDB е бърза при insert, update, delete. Докато при select е много тромава и другия + е че подържа Relationsheap integrity, което не е болка за умиране.

За да бъде бърза една база трябва да има добра индескация и заявките да се оптимизират максимално !!!
 
А какво бихте казали по въпроса за архитектурата на базата?

Ако предположим, че имам добре нормализирана и индексирана база, но от друга страна имам толкова много данни, че базата ми прелива, какво е нужно да се направи?

- да създам втора, трета и т.н. бази, на различни сървъри или на локелен сървър, които да обслужват това огромно количество информация?
- как да бъдат структурирани групи от бази данни, така че да се взима максимално бързо информация от тях?

Надявам се разбирате въпроса ми, тук не става въпрос само за типа база, нито за това как да бъде организирана отвътре. Тук става въпрос как да е структурират групи от бази данни, които да се използват паралелно за нуждите на даден потребител.
 

Back
Горе