Здрасти,
Много параметри влияят върху решението, коя БД да се ползва.
Нека дам два примера за работещи системи:
Вицовете на Гювеча до преди няколко месеца бяха на .... Микрософт Аксес &ASP. Работеха си и вършеха работа, те са най или втория по натовареност такъв сайт в България. Универсален сайт.
Аз си вадя хляба с правенето на една B2B e-commerce система в Германия, която идейно е правена като Екстранет приложение MS SQL & ASP. Няколко милиона записа, ужасно денормализирана БД, в частта и за справки по проследяване на поръчките. Много специализиран сайт - започва с логването и използва само една картинка.
Първата задача беше (не съм участвал в правенето и, но бях много на близо) много бърза. Ограничена функционалност. В дългосрочен план (за Интернет време говоря) не се очакваше да има голяма използване. Човекът който я направи, се учеше, но това все пак беше по времето, когато в град като Пловдив имаше не повече от 500 частни абонати на интернет даставчици.
Проста структура на данните и приложението. Малък обем данни. Слабо натоварване.
И к'во, Микрософт Аксес се оказа че даже можело да се използва за работа.
При втората се доближаваме повече до "нормалната ситуация", в която се намират повечето разработчици.
Някой е решил коя да е БД и средата за разработка и работа на приложението. Даже половината структури ги получаваш ужасни и готови, че идват от основното приложение, използвано от фирмата. Аз бих избрал MySQL, и то не най-новите му версии. За такова приложение е върха. Без транзакции, тригери и май външни ключове. Бърз, бърз и пак бърз. Select, Select и пак Select. С малко Join на моменти.
И в двата случая никой не е мислил за скорост на развой, удобство при поддръжка и разширяване на приложението, или администрацията на БД.
От практическият си опит до сега в трета небългарска компания, разбрах че техническите качества на един продукт, та бил той най-важния - системата за БД, е много маловажен фактор при взимане на такова решение от бизнес управителите.
От гледна точка на разработчика е друго. Всеки индивидуално трябва да реши какво да изучи, и то единствено фокусирайки се върху целта си. Ако искаш да си вадиш хляба, то знанията ти трябва да увеличават твоята продаваемост. Ако ще работиш за кеф... избери си каквото те кефи, но моля без изтъкване на някакви маркетингови причини от рода: Най-добрата, най-бързата, най-лесна за администриране ...
Повечето хора с малък индустриален опит, се опитват да научат всичко. Искат да могат да проектират бази данни, да пишат приложения използващи ги и да администрират базите след това. Това е доста частен случай, който е труден за постигане. Дори и някой да е върха в тези отношения, никой проект на базата и перфектно изградено приложение не може да оправи ... грешната бизнес логика зададена от поръчителите. По-добре да им помогна малко в тази насока, отколкото да направя перфектна база.
Я пак с много думи съм се опитал да кажа, каквото казва Salle вече няколко десетки пъти в този форум:
Ами зависи...
|