Целесообразность баз данных

kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
Вот поискал тут немного в инете, ничего внятного не нашёл: кто-нибудь может объяснить - зачем делать базу данных, программу, которая пишет таблицы в файлы, если можно сразу писать файлы в виде таблиц?
Никак в толк не возьму, зачем же придумывать заумную прогу вроде MySQL которая всё равно сохраняет таблицы с данными в нескольких файлах, когда можно для одной таблицы сразу один файл создавать без всяких программ и всё...
Вон сервак UO ставили, там была авторегистрация включена и всё о пользователях хранилось просто в отдельном текстовом файле.

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
Администратор
DRAGON
Медаль
Сообщений: 1048
1 день назад
kok:
зачем делать базу данных, программу, которая пишет таблицы в файлы, если можно сразу писать файлы в виде таблиц?
Для того, чтобы её структурировать, обрабатывать прогами, которым это было бы понятно, и т.д. и т.п. Это повышает скорость обработки данных и доступ к ним, особенно если базы данных очень большие. Такими данными удобно оперировать в каждом конкретном случае.
kok:
зачем же придумывать заумную прогу вроде MySQL
MySQL управляет этими данными и может работать с разнообразными типами языков, таблиц и платформ.
Если тебе хочется управлять всем этим вручную или придумать другой, новый способ для твоих нужд, то никто и никому это не запрещает.

Помогайте друг другу.
У Вас есть на это право.
kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
Да это всё слова! Вот например: эмулятор сервера л2 на java сначала требовал две базы в MySQL - для логин-сервера и для гейм-сервера, затем они все таблицы стали размещать в одной базе - l2jdb.
Смотришь как устроено хранение данных в MySQL - для каждой таблицы несколько файлов!
Но ведь есть же в конце концов Exel! Зачем одну таблицу записывать в разные файлы?
К примеру что я имею в виду - каждая таблица в базе имеет уникальный идентефикатор, в MySQL это просто название таблицы.
Так вот почему же не сделать ещё проще - название таблицы это название файла, а данные все в из таблицы в нём одном.
Зачем же разбивать данные?

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
Т.е. я имею в виду сделать тупо: база это папка data, а таблицы базы это файлы...
Так же и в веб-дизайне вместо установки MySQL.
Так и бэкапы проще делать...Добавлено спустя 2 минутыОпечатался, не Exel, а Excel. :)

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
Администратор
DRAGON
Медаль
Сообщений: 1048
1 день назад
kok:
Но ведь есть же в конце концов Exel!
Да,.. он есть. Поэтому можешь спокойно делать в Excel, если тебе так удобнее.

Помогайте друг другу.
У Вас есть на это право.
Посетитель
crash
Медаль
Сообщений: 685
237 дней назад
что сложного в текущей реализации бэкапа mysql? Хотите, тупо копируйте папку и все.
kok:
Т.е. я имею в виду сделать тупо: база это папка data, а таблицы базы это файлы..
не понял, разве сейчас не так?
kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
crash, Я пишу не о реализации баз данных а об их целесообразности вообще.
Сейчас, для того чтобы читать писать большие массивы данных ставят отдельную программу - базу данных и через неё всё делают, хотя можно тупо создавать папку например l2jdb и в ней хранить данные в простых файлах.
Как было реализовано например в эмуляторе сервака UO - никаких тебе баз, просто файл для инфы о пользователях, файл для инфы о персах и т.д.

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
Посетитель
crash
Медаль
Сообщений: 685
237 дней назад
kok, mysql грубо говоря и есть папка и в ней файлы. вы же сами это писали.
kok:
Сейчас, для того чтобы читать писать большие массивы данных ставят отдельную программу - базу данных и через неё всё делают, хотя можно тупо создавать папку например l2jdb и в ней хранить данные в простых файлах.
оно конечно можно тупо, но вот все это будет так же тупо работать?
kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
crash, конечно будет! и даже лучше, чем с базой данных. Кстати эмулятор сервера WoW вначале тоже выходил по принципу аналогичного UO - все данные сервак хранил в файлах в отдельной папке.
Потом авторы видимо поддались на новомодные уловки и перевели сервер на MySql…
Я не спорю, это удобно когда у тебя в отдельном менеджере можно посмотреть исправить и сохранить данные о пользователе например, но когда я работал с эмулятором UO я пользовался либо блокнотом либо редактором в FAR'е.
Данные тупо были записаны через табуляцию и это было тоже удобно, к тому же никаких дополнительных программ кроме стандартных.
Как-то так...

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
Посетитель
alfamayonez
Сообщений: 1
164 дня назад
DRAGON, ответы прям в духе твоей подписи :).
kok, Распределенные БД нужны для обработки больших данных, и в случае распределенной работы и однозначной целостности этих данных.
Когда у тебя несколько приложений работают с одной базой, то СУБД обеспечивает единую целостность информации, чтобы не было разночтений, на это и требуются разные технические средства, которые в разных СУБД решаются по-разному. (Тут я имею ввиду, что на одну таблицу "несколько файлов").
Проще говоря, в случае разных эмулей удобно держать все в какой-то "стандартизированной" СУБД, потому что потом с этой БД будут работать наример всякие веб-морды с созданием аккаунта, редактированием персонажа, и т.д. А вдруг при обновлении ты допустил ошибку, то средства СУБД позволят тебе сделать откат - такое конечно возможно и с файлами, но просто с СУБД проще.
kok
Посетитель
kok
Медаль
Сообщений: 163
Айхал
21 день назад
alfamayonez:
такое конечно возможно и с файлами, но просто с СУБД проще
Проще потому, что СУБД-подход популярнее и для него много удобных средств разработано вроде Navicat MySQL...
Но как нам с тобой известно - популярное, ещё не значит хорошее. smile (вспомним популярность винды и непопулярность пингвина)

Еретик не тот, кто горит на костре, а тот, кто поджигает костёр. (У. Шекспир)
Перейти на форум:
Быстрый ответ
У вас нет прав, чтобы писать на форуме.