@maxpup

Как хранить данные в веб приложении?

Пишу свое веб приложение на React и Laravel, попутно их изучая, и в какой-то момент понял, что никаких других способов хранения информации кроме MySQL, JSON и XML я не знаю. На данный момент часть данных хранится в JSON формате в базе MySQL. Приходится извлекать большие массивы JSON и обрабатывать их средствами PHP. Так как во время сессии данные очень часто запрашиваются, приходится сохранять их в Redis, что бы не нагружать постоянно MySQL.

Данные, если можно так сказать, "стандартизированные", то есть хранятся по определенным правилам, в зависимости от поля type, например:

[
  {
    "type": "simple",
    "header": "Text header",
    "content": "Text content"
  },
  {
    "type": "complex",
    "header": "Text header",
    "content": [
      "Content 1",
      "Content 2"
    ],
    "add": [
      "String 1",  
      "String 2",  
      "String 3",  
      "String 4"  
    ]
  }
]


Хотелось бы иметь возможность удобно редактировать данные (пользователь может только читать данные), так как все они хранятся по определенным правилам, и содержат только примитивные значения (числа, строки в массивах и объектах). Так же сравнивать, выбирать по определенным правилам и так далее...

Возможно, есть какие-нибудь книги, курсы, видеоуроки посвященные именно базам данных и способах хранения информации? Я знаю, что есть множество других баз данных. Хотелось бы знать, в каком случае стоит выбирать какую-то из них
  • Вопрос задан
  • 785 просмотров
Пригласить эксперта
Ответы на вопрос 3
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Попроще в понимании скорее всего sqlite. Но когда после нее работаешь с мускулом, понимаешь, какой это неудобный формат.

А из блобов лучше в обычные поля базы + связи перевести. Так в ряде случаев ты можешь получать часть данных без дополнительных запросов (ну и не всю кучу, как скорее всего сейчас). Да и редактирование удобнее в конечном плане. CRUD делаешь\пользуешься готовым решением, да или банально руками значения двигаешь.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
БД не принципиальна, важно понимать принципы построения.
Гуглить:
Основы SQL
Нормальные формы БД
Ответ написан
Комментировать
zkrvndm
@zkrvndm
Архитектор решений
Мне как-то рекомендовали Eloquent ORM, вероятно он вам подойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы