JavaScript

Зачем вообще нужны базы данных? Не лучше ли их хранить в файлах json?(вопрос может показаться глупым)

Не шарю просто в этом.
1 Скорость обработки.
2 Возможность выбора данных по условию.
Саят Бейсенов
Саят Бейсенов
8 600
Лучший ответ
Именно глупый вопрос. БД компактнее, чем JSON, её не надо парсить, тк она структурирована. Скорость получения данных в десятки раз выше.
Чтобы быстро находить нужные данные из базы размером много больше объема оперативной памяти компьютера и вносить новые данные в эту базу.
Зачем ехать на машине, если и пешком можно дойти? Понятно, что часа за 2-3, но дойти...
Эшмамбет Барымбаев ближе аналогия: зачем нужны грузовики и автобусы, если есть легковушки, в которых можно 4 человека и 100 кг груза довести.
База данных это и есть набор файлов. В случае базы nosql - именно файлов json. Но для скорости работы к ним еще прикручены индексы по столбцам или полям, по сути вспомогательные хэш-таблицы
Vanya Orel
Vanya Orel
90 946
Евгений Грибов > В случае базы nosql - именно файлов json

Не обязательно json. NoSQL СУБД бывают разного типа.
потомучто база ищет нужную строчку через индексы многократно завернутым бинарным поиском т е 100500 раз сокращяя количество итераций которые нужно сделать а проклятый JSON перебирать это не только долго, нудно, муторно, ресурсоемко, медленно, бессмысленно и еще к нему не припаяешь индексы + ко всему оно крешится если не дай бог положить blob в JSON
JSON требует парсинга, и если в этой строке 50 миллионов позиций, обработка превратится в ад...
Семён Уткин
Семён Уткин
32 273
Артём Зайцев ну то что делают с бинарным файлом, это тоже как бы парсинг. и разница не столько в лишних байтах сколько в том, что БД просто напросто позволяет прыгать сразу куда надо, особенно при записи - не переписывать весь файл целиком
Может и не лучше. Иногда файловый доступ это идеальное решение (допустим нужна запись а как будет происходить чтение пока неясно то нет более производительного и простого способа чем тупо писать в файл). Все зависит от твоей задачи.
Есть много СУБД с очень разной архитектурой, функционалом, подходом к CAP-теореме.
Вадим Храмов
Вадим Храмов
7 216
Вопрос реально глупый. БД нужна для того, чтобы ты хранил и вообще взаимодействовал с какой-то информации локально или по сети, если локально то почему бы и не воспользоваться твоим способом, а если по сети то конечно же БД, информация защищена, структурирована и вообще лучше читабельна чем твой вариант.
БД просто напросто позволяет прыгать сразу куда надо (с помощью seek()). при чтении это позволяет сразу прочитать запись из середины файла, не читая все что перед ней. а при записи еще круче - это позволяет не переписывать весь файл целиком ради нескольких значений

все это возможно только в файле особого формата, где длина каждой записи или фиксирована или указана перед ней, а не так, что парсить от { и до }. потому что seek() должен знать, на сколько байт вперед ему прыгать
такой файл и есть БД
Вообще, базы данных создавались с одной целью - хранить какую-либо информацию: логины, пароли, сообщение.