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






Кажется, я не могу комментировать, так как мне нужно 50 респондентов. для комментариев, поэтому я дам это как ответ:
MySQL будет предпочтительнее по многим причинам, не в последнюю очередь из-за того, что вы не хотите, чтобы процесс вашего веб-сервера имел доступ для записи в файловую систему (за исключением, возможно, ведения журнала), потому что это простой способ подвергнуться эксплуатации.
Кроме того, команда MySQL приложила много инженерных усилий к таким вещам, как репликация, одновременный доступ к данным, соответствие ACID и целостность данных.
Представьте, например, что вы добавляете новое поле, которое требуется в любой структуре данных, которую вы храните. Если вы храните файлы в формате JSON, вам понадобится некий процесс, который открывает каждый файл, добавляет поле, а затем сохраняет его. Сравните это со сложностью использования ALTER TABLE со значением DEFAULT для поля. (Это немного надуманный пример, но сколько хаков вы хотите оставить в своей кодовой базе для работы со старыми данными?) Итак, если говорить прямо, MySQL - это база данных, а JSON - нет, поэтому правильный ответ - MySQL, без промедления. JSON - это просто язык, да и то даже не так. JSON никогда не предназначался для обработки чего-либо, например одновременных подключений или каких-либо манипуляций с данными, поскольку его собственная функция - представлять данные, а не управлять ими.
Так что используйте MySQL для хранения данных. Затем вы должны использовать какой-либо язык программирования для чтения этой базы данных и отправки этой информации как JSON, а не хранить что-либо в JSON.
Если вы храните данные в файлах, будь то в формате JSON или в каком-либо другом формате, у вас будут всевозможные проблемы, о которых люди перестали беспокоиться с тех пор, как базы данных начали использоваться для тех же целей. Ограничения по размеру, замки, назовите это. Достаточно хорошо, когда у вас есть один пользователь, но в тот момент, когда вы добавите их еще, вы начнете решать столько проблем, что, вероятно, закончите тем, что написали бы весь механизм базы данных, чтобы обрабатывать файлы за вас, в то время как все вы мог просто использовать реальную базу данных. Обратите внимание! Не принимайте мои слова как должное, я не эксперт в этой области, поэтому позвольте другим опубликовать свой ответ, а затем судить по нему. Я думаю, что достаточно людей здесь, в stackoverflow, имеют больше опыта, чем я, ха-ха. Это НЕ полностью мои слова, но я убрал те части, которые были правдой из того, что я знал и знаю, и добавил некоторые из моих собственных знаний :) Отлично проводите время, создавая свой веб-сайт
Я не знаю, моих знаний не так много по сравнению с некоторыми на этом веб-сайте, и, честно говоря: я хотел, чтобы он был немного короче, компактнее, понимаете ... Но поскольку я реализовал это как ответ, я подумал : Почему бы просто не выложиться изо всех сил и не вложить все свои знания / исследования, которые я сделал ранее.
Для MySQl: вы можете выбирать определенные строки или определенный столбец с помощью запросов, фильтровать данные на основе ключа, упорядочивать в алфавитном порядке обратная сторона: нужен REST API для извлечения данных, потому что к нему нельзя получить прямой доступ, вы должны использовать php или python или любой другой язык программирования для внутреннего кода.
для файла json: преимущества: нет прямого доступа к внутреннему коду с помощью HTTP-запроса GET. обратная сторона: нет фильтрации, упорядочивания или каких-либо запросов, вам придется делать это вручную.
Не знаю, почему вы думаете, что это не заслуживает ответа.