Бази данни - различни типове

t0shk0

Registered
Какво мислите за базите данни, които използват primary key като връзка помежду си или така наречените relational databases. На мен лично ми казаха да не ги използвам, защото били много бавни и тромави.

Аз си направих експеримент и направих една такава база данни и я напълних с информация. След това с помощта на inner join изведох няколко реда с избрана от мен информация. След това направих друга база данни без да използвам връзката primary key. Според опита, който аз направих се оказа, че от relational database информацията се извличаше с някъкви си 3/4 микросекунди по-бавно отколкото от обикновенна база данни.

Искам да попитам дали някой от вас е използвал до сега този вид relational databases и няма да е лошо да сподели впечатлението, с което е останал. :)

Поздрави на всички ;)
 
На релационните база данни не им се гледа бързината. Релационните база данни улесняват програмиста много. Плюс това структурата на базата данни става доста по-добре четима и е по-лесно за управление.
Както и преди се е говорело, за да има забавяне, то трябва да има над 500 000 записа. Няколко милисекунди не са фатални, да не говорим за микросекунди.

Като се използва нормална структура, то в една таблица става баламач. Примерно таблица за потребителите и в нея записваш абсолютно всичко от А до Я. Това говори за доста лоша структура.


Не знам какво толкова ви притеснява тази скорост. Ако толкова ви притеснява то тогава ползвайте частичен кеш на данни, за да не се правят нови заявки, а да се извличат информациите направо от кеша.
 
Ами те направо да те посъветват да не ползваш MySQL, или ако ползваш, да не слагаш индекси и primary keys... :)
 
Сериозно, който те е посъветвал това, по-добре не му обръщай внимание :(
 
Relational databases е нещо задължително при правенето на по-сложни уеб сайтове. Човекът който те е посъветвал това или нещо се е объркал или не е знаел изобщо какво означава relational database.
 
Абе едва ли не знае какво е relational database. Се пак се води програмист с опит :)
 
t0shk0 каза:
Абе едва ли не знае какво е relational database. Се пак се води програмист с опит :)


Това не говори добре за него. Програмист да изказва такива бисери, не е много добре.
 
Mysql е релационна база от данни. Това, че няма да слагаш връзки и индекси си е твой проблем, но това не променя факта от първото ми изречение.
Има и така наречените НЕрелационни бази от данни (nosql), които действително са по-бързи и скалируеми.
Разберете, че база от данни не значи само mysql. Не всички бази от данни са релационни и по-големите проекти даже предпочитат нерелационните. А 500 000 записа не са почти нищо за която и да е съвременна БД. Добави още 1-2 нули и тогава тествай нещо за скорост.
Пък и ако правиш сайта на кварталния магазин едва ли ще ти трябва изобщо да си помисляш кое колко ще е бързо.
 

Горе