Что использовать файл JSON или SQL - PullRequest
0 голосов
/ 11 июня 2018

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

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

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

0 голосов
/ 11 июня 2018

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...