Подтвердить что ты не робот

Мы можем использовать JSON в качестве базы данных?

Я ищу быстрое и эффективное хранилище данных для создания моего PHP-сайта. Я знаю о MySql. Могу ли я использовать файл JSON в корневом каталоге сервера вместо базы данных MySQL? Если да, то каков наилучший способ сделать это?

4b9b3361

Ответ 1

Вы можете использовать любой отдельный файл, включая JSON файл, например:

  • Заблокируйте его каким-либо образом (блокировка файла PHP в Google, возможно, так же просто, как добавление параметра в функцию открытия файла или изменение имени функции для блокировки).

  • Прочитайте данные из файла и проанализируйте его до внутренней структуры данных.

  • Необязательно изменять данные во внутренней структуре данных.

  • Если вы изменили данные, обрезайте файл до длины и напишите ему новые данные.

  • Разблокируйте файл, как только сможете, могут потребоваться другие запросы...

  • Вы можете продолжать использовать данные во внутренних структурах для отображения страницы, просто помните, что она может быть устаревшей, как только вы отпустите блокировку файла, а другой HTTP-запрос может ее изменить.

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

Примечание. Это очень неэффективно. Если вы строите сайт, где вы ожидаете больше, чем 10 одновременных пользователей, вам нужно использовать более сложную схему или просто использовать существующую базу данных... Кроме того, у вас не может быть слишком много данных, потому что синтаксический анализ JSON и создание измененных JSON требует времени.

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

В этот момент не пытайтесь взломать его, чтобы сделать его быстрее, но вместо этого выберите некоторую существующую базу данных (SQL или nosql или на основе файлов). Если вы начинаете взламывать свои собственные, вы просто в конечном итоге заново изобретаете колесо, как правило, плохо:-). Ну, если это просто упражнение по программированию, но даже тогда было бы лучше вместо этого изучить использование какой-либо существующей структуры.

Ответ 2

Новая версия IBM Informix 12.10 xC2 теперь поддерживает JSON.
проверьте ссылку: http://pic.dhe.ibm.com/infocenter/informix/v121/topic/com.ibm.json.doc/ids_json_007.htm

В руководстве говорится, что он совместим с драйверами MongoDB.

О совместимости с Informix JSON

Приложения, использующие язык запросов JSON, созданный MongoDB, может взаимодействовать с данными, хранящимися в базах данных Informix®. Сервер базы данных Informix также предоставляет встроенные JSON и BSON (двоичные JSON).

Вы можете использовать драйверы сообщества MongoDB для вставки, обновления и запроса Документы JSON в Informix.

Не уверен, но я считаю, что вы можете использовать издание Innovator-C (бесплатно для производства) для тестирования и использования его без каких-либо затрат для производственной среды.

Ответ 3

Я написал Object Document Mapper для использования с json файлами под названием JSON ODM может быть немного запоздалым, но если он еще нужен, с открытым исходным кодом при лицензии MIT.

Он предоставляет запрос, и некоторые GeoJSON инструменты