База данни или файл?

Спам форум
Post Reply
User avatar
GOTI
Турист
Турист
Posts: 370
Joined: Wed Aug 01, 2007 9:58 pm
Location: София
Contact:

База данни или файл?

Post by GOTI » Sun Sep 15, 2013 12:11 pm

Здравейте,

Доста сух съм с база данни, принципно като код гледам от различна гледна точка от която гледа един програмист (аз лично не се имам за такъв нищо че разбирам).

Въпроса ми е кое е по добро - база данни MySQL или файл какъвто и да е вид.
Очевадно е че целия интернет гъмжи от MySQL но пък файловете ми се струват като чели по бързи.

Кажете вашите мнения + и - ... кое е по добре и защо и т.н. :)
Мисля че ще се получи една страхотна дискусия за не знаещите като мен :)

fbian
Турист
Турист
Posts: 204
Joined: Sat May 26, 2012 3:55 pm
Answers: 18

Re: База данни или файл?

Post by fbian » Sun Sep 15, 2013 2:30 pm

GOTI wrote:Здравейте,

Доста сух съм с база данни, принципно като код гледам от различна гледна точка от която гледа един програмист (аз лично не се имам за такъв нищо че разбирам).

Въпроса ми е кое е по добро - база данни MySQL или файл какъвто и да е вид.
Очевадно е че целия интернет гъмжи от MySQL но пък файловете ми се струват като чели по бързи.

Кажете вашите мнения + и - ... кое е по добре и защо и т.н. :)
Мисля че ще се получи една страхотна дискусия за не знаещите като мен :)
Много относителна работа.
Зависи какво ще записваш.

User avatar
StormBreaker
Шаман
Шаман
Posts: 5210
Joined: Mon Mar 05, 2007 8:08 pm
Answers: 344

Re: База данни или файл?

Post by StormBreaker » Sun Sep 15, 2013 3:37 pm

GOTI wrote:файловете ми се струват като чели по бързи.
Нали знаеш, че това не е точна оценка :)

Файловете вместо БД са абсолютно лоша идея. Разликата е космическа.
Ето пример: Представи си, че имаш 200MB таблица пълна с информация за потребители и 200MB файл със същата информация.
Сега искаш да намериш потребител с конкретен email.

С MySQL или друга БД: 4-5 реда код, SELECT * FROM users WHERE email='test@test.test', заетата памет е няколко байта, само за конкретния потребител

С файл: Прочиташ файла и сравняваш всеки ред с мейла. Заетата памет е около 200MB, за всички редове във файла (или за всеки през който си минал ако го направиш по-умно).
Представи си, че по същото време се логват 20 потребителя - ето ти 4GB памет изядена само за един логин.

Каквото и да записваш файловете са лоша идея. Освен ако не записваш филми, музика, картинки и други не-текстови данни.

Няма минуси за базите от данни в сравнение с файлове.

Ако задаваш този въпрос, защото не ти се учи как се работи с MySQL и искаш да ти кажат, че файловете са хубаво нещо - съжалявам :(

User avatar
GOTI
Турист
Турист
Posts: 370
Joined: Wed Aug 01, 2007 9:58 pm
Location: София
Contact:

Re: База данни или файл?

Post by GOTI » Sun Sep 15, 2013 4:55 pm

StormBreaker wrote:
GOTI wrote:файловете ми се струват като чели по бързи.
Нали знаеш, че това не е точна оценка :)
Няма минуси за базите от данни в сравнение с файлове.

Ако задаваш този въпрос, защото не ти се учи как се работи с MySQL и искаш да ти кажат, че файловете са хубаво нещо - съжалявам :(
Не разбирам много и за това питам не давам нищо и не очаквам нещо точно.
Общо взето и по пътя на логиката и аз мисля че MySQL е по добре. Но просто исках да прочета компетентни мнения за което благодаря.

За ученето ... рано или късно ще се научат, няма на къде. Но нещата който ги дават в нета ... как да кажа - не са за изграждането на примерно медийна група, че дори и за клюкарски сайт.

Някъде мога ли да прочета ... да кажем най новите тенденции и за оптимизирането на база данни.
Знам че преките пътища са най-добрите от това да обикаля една голяма част от базата. А точно тези неща аз поне в нета не ги намерих като примери.

Благодаря предварително :)

User avatar
StormBreaker
Шаман
Шаман
Posts: 5210
Joined: Mon Mar 05, 2007 8:08 pm
Answers: 344

Re: База данни или файл?

Post by StormBreaker » Sun Sep 15, 2013 6:09 pm

GOTI wrote:
StormBreaker wrote:
GOTI wrote:файловете ми се струват като чели по бързи.
Нали знаеш, че това не е точна оценка :)
Няма минуси за базите от данни в сравнение с файлове.

Ако задаваш този въпрос, защото не ти се учи как се работи с MySQL и искаш да ти кажат, че файловете са хубаво нещо - съжалявам :(
Не разбирам много и за това питам не давам нищо и не очаквам нещо точно.
Общо взето и по пътя на логиката и аз мисля че MySQL е по добре. Но просто исках да прочета компетентни мнения за което благодаря.

За ученето ... рано или късно ще се научат, няма на къде. Но нещата който ги дават в нета ... как да кажа - не са за изграждането на примерно медийна група, че дори и за клюкарски сайт.

Някъде мога ли да прочета ... да кажем най новите тенденции и за оптимизирането на база данни.
Знам че преките пътища са най-добрите от това да обикаля една голяма част от базата. А точно тези неща аз поне в нета не ги намерих като примери.

Благодаря предварително :)
Започни с прости неща. Статии не мога да ти препоръчам, но има на английски колкото искаш, на един гугъл разстояние. :)

И не започвай с 'оптимизиране' на нещо, без дори да знаеш как се ползва :)

User avatar
Nikol4u
Турист
Турист
Posts: 248
Joined: Thu Apr 12, 2007 5:56 am
Location: Бургас
Contact:

Post by Nikol4u » Wed Sep 18, 2013 12:28 pm

Хем казваш, че смяташ, че файловете са по-бързи, хем казваш, че е по-логично MySQL да е по-бърз?

Отделен е факта, ти питаш "бази данни срещу файлове", а говориш само и единствено за MySQL? Това не е единствената RDBMS която съществува

User avatar
gamena007
Потребител
Потребител
Posts: 1257
Joined: Mon Jul 09, 2007 9:08 pm
Answers: 82
Location: Варна

Post by gamena007 » Wed Sep 18, 2013 12:50 pm

Всички бази данни работят със файлове (освен тези, които губят информацията когато бъдат изключени). Въпросът е, че тези бази данни имат алгоритми за индексиране, търсене, кеширане и т.н. на много ниско ниво, чиято скорост е на практика невъзможно да бъде постигната с PHP.

User avatar
GOTI
Турист
Турист
Posts: 370
Joined: Wed Aug 01, 2007 9:58 pm
Location: София
Contact:

Post by GOTI » Wed Sep 18, 2013 11:50 pm

Nikol4u wrote:Хем казваш, че смяташ, че файловете са по-бързи, хем казваш, че е по-логично MySQL да е по-бърз?

Отделен е факта, ти питаш "бази данни срещу файлове", а говориш само и единствено за MySQL? Това не е единствената RDBMS която съществува
Да, звучи като хаотични изтрели но просто се ориентирам кое е най доброто и качествено.

gamena007 wrote: Всички бази данни работят със файлове (освен тези, които губят информацията когато бъдат изключени). Въпросът е, че тези бази данни имат алгоритми за индексиране, търсене, кеширане и т.н. на много ниско ниво, чиято скорост е на практика невъзможно да бъде постигната с PHP.
Това е интересно.
Ами какво се препоръчва да се използва?

User avatar
gamena007
Потребител
Потребител
Posts: 1257
Joined: Mon Jul 09, 2007 9:08 pm
Answers: 82
Location: Варна

Post by gamena007 » Thu Sep 19, 2013 6:29 am

Задължително бази данни.

Защо БД?
1. Скорост
2. Стандарти
3. Четимост на кода
4. Функционалност
5. Сигурност

Защо файл?
1. Ако се прави кеш е по-добре във файл да се записва сериализирана информация, която е формулирана от тежка заявка към БД или тежки изчисления. Трябва задължително да се прави бенчмарк, защото в крайна сметка с файла може и да стане и по-бавно. Ако има възможност тази информация да се пази в РАМ паметта на сървъра е най-добре. Трябва да се внимава как и кога се чете файла за да не лийква памет.
2. За лог - във файла само се пише.

Post Reply