Что использовать файл JSON или SQL

Я хочу создать веб-сайт с поиском ajax. Он будет получать данные либо из файла JSON, либо из базы данных. Я не знаю, какую технологию использовать для хранения данных. Файл JSON или MySQL. Основываясь на небольшом исследовании, будет около 60000 записей. Таким образом, размер файла, если я использую JSON, будет около 30-50 МБ, а при использовании MySQL будет 60000 строк. Каковы ограничения каждого метода и каковы преимущества?

Спасибо

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
52
2

Ответы 2

Кажется, я не могу комментировать, так как мне нужно 50 респондентов. для комментариев, поэтому я дам это как ответ:

MySQL будет предпочтительнее по многим причинам, не в последнюю очередь из-за того, что вы не хотите, чтобы процесс вашего веб-сервера имел доступ для записи в файловую систему (за исключением, возможно, ведения журнала), потому что это простой способ подвергнуться эксплуатации.

Кроме того, команда MySQL приложила много инженерных усилий к таким вещам, как репликация, одновременный доступ к данным, соответствие ACID и целостность данных.

Представьте, например, что вы добавляете новое поле, которое требуется в любой структуре данных, которую вы храните. Если вы храните файлы в формате JSON, вам понадобится некий процесс, который открывает каждый файл, добавляет поле, а затем сохраняет его. Сравните это со сложностью использования ALTER TABLE со значением DEFAULT для поля. (Это немного надуманный пример, но сколько хаков вы хотите оставить в своей кодовой базе для работы со старыми данными?) Итак, если говорить прямо, MySQL - это база данных, а JSON - нет, поэтому правильный ответ - MySQL, без промедления. JSON - это просто язык, да и то даже не так. JSON никогда не предназначался для обработки чего-либо, например одновременных подключений или каких-либо манипуляций с данными, поскольку его собственная функция - представлять данные, а не управлять ими.

Так что используйте MySQL для хранения данных. Затем вы должны использовать какой-либо язык программирования для чтения этой базы данных и отправки этой информации как JSON, а не хранить что-либо в JSON.

Если вы храните данные в файлах, будь то в формате JSON или в каком-либо другом формате, у вас будут всевозможные проблемы, о которых люди перестали беспокоиться с тех пор, как базы данных начали использоваться для тех же целей. Ограничения по размеру, замки, назовите это. Достаточно хорошо, когда у вас есть один пользователь, но в тот момент, когда вы добавите их еще, вы начнете решать столько проблем, что, вероятно, закончите тем, что написали бы весь механизм базы данных, чтобы обрабатывать файлы за вас, в то время как все вы мог просто использовать реальную базу данных. Обратите внимание! Не принимайте мои слова как должное, я не эксперт в этой области, поэтому позвольте другим опубликовать свой ответ, а затем судить по нему. Я думаю, что достаточно людей здесь, в stackoverflow, имеют больше опыта, чем я, ха-ха. Это НЕ полностью мои слова, но я убрал те части, которые были правдой из того, что я знал и знаю, и добавил некоторые из моих собственных знаний :) Отлично проводите время, создавая свой веб-сайт

Не знаю, почему вы думаете, что это не заслуживает ответа.

Juan Carlos Oropeza 12.06.2018 03:40

Я не знаю, моих знаний не так много по сравнению с некоторыми на этом веб-сайте, и, честно говоря: я хотел, чтобы он был немного короче, компактнее, понимаете ... Но поскольку я реализовал это как ответ, я подумал : Почему бы просто не выложиться изо всех сил и не вложить все свои знания / исследования, которые я сделал ранее.

D.Sof 12.06.2018 10:33

Для MySQl: вы можете выбирать определенные строки или определенный столбец с помощью запросов, фильтровать данные на основе ключа, упорядочивать в алфавитном порядке обратная сторона: нужен REST API для извлечения данных, потому что к нему нельзя получить прямой доступ, вы должны использовать php или python или любой другой язык программирования для внутреннего кода.

для файла json: преимущества: нет прямого доступа к внутреннему коду с помощью HTTP-запроса GET. обратная сторона: нет фильтрации, упорядочивания или каких-либо запросов, вам придется делать это вручную.

Другие вопросы по теме