Как лучше хранить данные, поступающие через JSON?
Доброго времени суток. Ситуация следующая:
На сервер приходят запросы с информацией о покупке в формате json, пример:
{"title": "булка", "date": "2022.02.08", "sum": 200} |
{"title": "булка", "date": "2022.02.08", "sum": 200}
Уже заранее создан документ .tsv с категоризацией товаров, вроде такого:
булка еда
колбаса еда
сухарики еда
курица еда
тапки одежда
шапка одежда
мыло быт
акции финансы
В итоге мне нужно определить категорию с максимальными тратами, по типу:
{ "maxCategory": { "category": "еда", "sum": 350000 } } |
{ "maxCategory": { "category": "еда", "sum": 350000 } }
Как лучше хранить информацию по принципу *Тип покупки* - *цена*? То есть, по сути, если приходит товар новой категории то эта категория, добавляется вместе с ценой. Если категория уже есть, то пришедшая цена прибавляется.
Дополнительно:
Ответы:
Храните в чём вашей душеньке угодно: хоть в JSON, хоть в serialise(), хоть в PHP-шном print_r(). Ни в чём себе не отказывайте. И место хранения: хоть файл, хоть база данных, хоть Google Диск.
Приходящие данные разбирать, десериализуя JSON, и сохранять в обычную реляционную СУБД с колонками на каждое поле в JSON. Затем составить запрос с группировкой по категории и последующим выводом результата в формате JSON.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для хранения данных, поступающих через JSON, можно использовать различные подходы в зависимости от специфики проекта и требований к хранению данных. Вот несколько распространенных способов:
1. База данных: Один из наиболее распространенных способов хранения данных, поступающих через JSON, - это сохранение их в базе данных. Вы можете создать таблицу с полем типа JSON, чтобы хранить данные в их исходном формате. Например, в MySQL можно использовать тип данных JSON или JSONB в PostgreSQL.
CREATE TABLE users ( id INT PRIMARY KEY, data JSON );
2. Файловая система: Если у вас нет необходимости в сложных запросах к данным, вы можете сохранить JSON-файлы непосредственно на сервере. При этом важно обеспечить безопасность данных и управление доступом к файлам.
3. NoSQL базы данных: Для работы с JSON-данными можно использовать NoSQL базы данных, такие как MongoDB или CouchDB. Они предоставляют возможность хранить JSON-документы без необходимости определения схемы заранее.
4. Кэширование: Если данные не требуют постоянного обновления и могут храниться в памяти, вы можете использовать кэширование для временного хранения JSON-данных. Например, Redis предоставляет возможность хранения JSON-данных в виде ключ-значение.
5. Хранение в облаке: Для обеспечения отказоустойчивости и масштабируемости вы можете использовать облачные хранилища данных, такие как Amazon S3 или Google Cloud Storage, для хранения JSON-данных.
Выбор оптимального способа хранения данных зависит от конкретной задачи и требований к производительности, масштабируемости и безопасности. Необходимо учитывать такие факторы, как объем данных, скорость доступа к данным, частота обновления и т.д. При правильном выборе метода хранения вы сможете эффективно обрабатывать данные, поступающие через JSON, и обеспечить их безопасность и доступность.