Задать вопрос
Ответы пользователя по тегу Проектирование баз данных
  • Как эффективно хранить canvas попискельно в БД с последующим отображением?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для оптимизации загрузки landing page, можно хранить копии этой картинки в уменьшенном виде. 2000х1000 => 1000x500 => 500x250 e.t.c. Так игроделы делают для быстрого рендеринга текстур. Mip-уровни кажется называется.
    Обновлять эти mip уровни можно не спеша. Через минутку.

    База mysql вам вобщем-то не нужна. Картинку можно в реальном времени править atomic операциями и хранить в raw формате. Не знаю делают ли такое на PHP. Возможно вам нужен рукастый програмист на C++ или еще на каком-то языке чтобы подружить PHP с С++ и сделать сервис для этой картинки.
    Ответ написан
    Комментировать
  • Как оптимизировать базу данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Из того что автор описал - у меня возникает архитектурный вопрос. Кто придумал - использовать JSON для данных которые часто обновляются? Это - антипаттерн. Вы какое железо не поставте - у вас будет плохой перформанс.

    Вам необходимо все данные которые имеют реляционный (точечный) доступ убрать из JSON. По сути - развалить его на модель EAV или что-то вроде того (Relational Data (RD)). Обновления станут быстрее. А для отчотности - если вам так уж важен JSON - отдельные джобы которые будут переливать данные из RD в JSON или формировать его на лету средствами клиента. В этом случае у вас не будет накладных расходов даже на хранение.
    Ответ написан
    Комментировать
  • Какие распределенные реляционные базы данных бывают?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Архитектурно есть много путей решения этой задачи. Есть дорогие и коробочные. Oracle + GoldenGate.
    Есть более дешевые (выше упомянуты). Все зависит от ваших амбиций. Вы хотите сами больше разрабатывать или просто брать готовые решения.
    Ответ написан
    Комментировать
  • Как лучше спроектировать БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Теги можно хранить в поле типа JSONB
    Ответ написан
    Комментировать
  • Какие есть книги по архитектуре БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Таких паттернов скорее всего нет. Самый важный паттерн - это Нормальные формы (обычно с 1 по 3).
    Нормализация более высоких порядков обычно в продуктовых БД не делается. (почти не делается).

    Вообще в этой предметной области опасно давать паттерны т.к. всегда найдется задачка где даже
    де-нормализация (анти-паттерн) дает например буст к производительности и это не укладыватся
    в теорию. Хотя тебе любой базовик подтвердит что иногда денормализация полезна и делается).

    По книгам - посмотри
    Дейт - Введение в системы баз данных.
    Есть еще огромная тонна книг специфичная по отношению к вендору БД (Oracle/MSSQL/Db2) и у каждой
    из них будут свои рекомендованные паттерны. Поэтому давать их нет смысла или паттерн в одной DBMS
    может стать анти-паттерном в другой (временные таблицы MSSQL/Oracle).

    Или тебе надо сразу определиться на какой DBMS ты будешь работать.
    Ответ написан
  • Правильно ли я спроектировал таблицы в бд?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На практике таблицы со связями 1:1 никто не создает. Есть конечно исключительные случаи. Они связаны с обходом ограничений использования BLOB полей и прочего но это точно не ваш случай.

    Можете смело соединять две таблички в одну и все будет прекрасно. Если вы не ошиблись с нормализацией.
    Ответ написан