Как лучше хранить данные, поступающие через JSON?

Ссылка скопирована
1 ответ

Доброго времени суток. Ситуация следующая:
На сервер приходят запросы с информацией о покупке в формате 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.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

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

1. База данных: Один из наиболее распространенных способов хранения данных, поступающих через JSON, - это сохранение их в базе данных. Вы можете создать таблицу с полем типа JSON, чтобы хранить данные в их исходном формате. Например, в MySQL можно использовать тип данных JSON или JSONB в PostgreSQL.

CREATE TABLE users (
    id INT PRIMARY KEY,
    data JSON
);

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, и обеспечить их безопасность и доступность.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно