Ответы пользователя по тегу Базы данных
  • База данных с наименьшим потреблением памяти для простого сайта?

    @Jazzist
    SQLite.

    100 записей — это настолько мало, что можно сделать хранение «на файлах». Даже с поиском.

    Решения о ресурсоемкости следует принимать только на основании данных тестирования.
    Ответ написан
    3 комментария
  • Веб-сервис с монетизацией использует модуль выпущенный под GPLv3, нужно ли ему открывать исходники?

    @Jazzist
    Исходники следует передавать при дистрибуции. То есть если вы будете продавать или иным образом распространять свою программу, выполненную с использованием лицензированной таким образом библиотеки — вы должны передать исходники новому владельцу, включить их в дистрибутив и т.д.

    В данном случае дистрибуции нет. Вы используете программу, а не распространяете ее. Таким образом, вы не обязаны кому-то передавать ее исходники.

    Ограничения по целям использования, в том числе коммерческое или некоммерческое — в этой лицензии нет.
    Ответ написан
    Комментировать
  • Хорошая ли идея использовать в качестве ID (первичного ключа) мд5 хеш?

    @Jazzist
    Да легко. Не ведитесь на старые учения — современные движки БД, и даже MyISAM работают с текстовыми индексами не существенно медленнее, чем с целочисленными.

    Если есть сомнения — просто попробуйте оценить реальную нагрузку. Скорее всего, это место узким не будет. Помните о принципе «вреда преждевременной оптимизации», который гласит: «Преждевременная оптимизация — вредна.»

    Я бы усомнился в целесообразности самого решения, но не в плане ресурсоемкости, а в плане удобства разработки. Получить идентификатор свежевставленной записи, сопроводить ее внешними ключами, отработать исключения — все это делается как бы на автопилоте. Если действительно не требуются дополнительные функциональности, для которых необходимы дополнительные ключи (которые в свою очередь так-же можно обслужить во внешней таблице, как родительские....)
    Ответ написан
    3 комментария
  • Как лучше организовать структуру БД, для организации модуля друзей на сайте?

    @Jazzist
    Добавить таблицу «Друзья» с внешними ключами и статусами.

    Оптимальным решением будет использовать нессиметричную структуру данных, вроде такой:
    uid — пользователь, которому принадлежит запись
    friend — пользователь-друг
    status — одно или несколько полей статусов. Если будете использовать несколько полей с булевыми флагами — решение получится менее ресурсоемким, то есть более производительным.

    Просмотр списка друзей пользователя — выборка из списка по ключу uid.

    Все другие функции сводятся к установке/изменению статусов записей в этой таблице.
    Ответ написан
    Комментировать
  • Быстрый поиск по большому массиву неоднородных данных, что выбрать?

    @Jazzist
    Если данных много — найти возможность работать с индексом. Нет других эффективных решений.
    Ответ написан
    Комментировать