Как лучше сделать MySQL базу данных типа account — key — value?
Здравствуйте.
Есть ли какие-нибудь эффективные методы реализации базы типа account - key - value ?
К сожалению, могу это реализовать только на MySQL или sqlite.
Выборка будет производится сразу всех полей, при создании "объекта", который хранился в БД. Обновление, скорее всего, тоже будет производится всего сразу, при сохранении/уничтожении "объекта". Я вообще задумываюсь над JSON'ом, но, возможно, есть лучшие варианты.
Выборка будет производится сразу всех полей, при создании "объекта", который хранился в БД. Обновление, скорее всего, тоже будет производится всего сразу, при сохранении/уничтожении "объекта". Я вообще задумываюсь над JSON'ом, но, возможно, есть лучшие варианты.
Если это не критичные данные и при их потере ничего не произойдет - смотрите в сторону redis.
Если значений не много - просто сериализируйте (правда фильтрация качественная пропадет).
Если значений прям таки дохрена + индекс на key - [id, key, value].
1) Без острой нужды я бы не стал класть в базу json. Особенно в mysql/sqlite. Это вот прямо источник кучи геммороя и проблем с произвордительностью когда выяснится что объект все таки можно для экономии ресурсов читать/писать не целиком.
2) Если у Вас стоят ограничения в стиле "доступно только это" - значит у Вас явно нет каких то ощутимых нагрузок, так что делайте как угодно, начнутся живые проблемы - перепишите на postgresql/redis/... в зависимости от ситуации
Эффективность у каждого проекта своя:
1. Нагрузка выборки
2. Нагрузка вставки
3. Малый разбер
4. Скорость выборки
и тд... в зависимости от того, что вас интересует в приложении
Но, могу предположить, судя по тому, что "могу это реализовать только на MySQL или sqlite." вот и реализовывайте, как можете, и настройте профайлер, и будете видеть, устраивает ли Вас Ваш критерий эффективности, или нет. И вот тогда уже суда на тостер, если сами не нагуглите как индекс поставить