Ответы пользователя по тегу Базы данных
  • Как лучше хранить данные, которые не надо обрабатывать?

    @immelnikoff
    Изучаю БД
    Однозначно, лучше хранить в БД. Когда придет время обрабатывать данные что вы будете делать с файлом? Будете считывать его весь в память, сплитить на список списков, переводить все числовые данные из текста в числа и только потом обрабатывать?
    Это повторное изобретение уже изобретенных механизмов.
    Я уже молчу о том, что хранение данных в файле потребует гораздо больше места на диске. Например, для хранения 7-значных целых чисел в десятичной системе счисления в БД потребуется поле размером в 3 байта (проверьте сами). Для хранения же в файле потребуется 7 байт на число. Увеличение занимаемого места на диске повлечет увеличение нагрузки на СХД (будет дольше происходить чтение) и увеличение расхода памяти. Или ещё, как вы будете осуществлять быстрый поиск/фильтрацию/сортировку данных из файла? В БД для этого существуют индексы.
    Ответ написан
  • Какой тип баз данных самый быстрый?

    @immelnikoff
    Изучаю БД
    Можно говорить о скорости чтения и о скорости записи.
    Для достижения максимальной скорости в этих двух случаях (в контексте использования НМЖД) существуют два типа БД: строковые и колоночные.
    Строковые БД хранят данные таблиц по строкам, т.е. на дорожку пластины диска последовательно пишется сначала 1-е поле записи, затем 2-е, 3-е и т.д. Затем точно также пишется следующая запись. В данном случае достигается максимальная скорость записи. Но при чтении, даже, если вы запрашиваете одно поле таблицы, в память будут считываться с диска все строки целиком, которые затрагивает запрос.
    Если же нужна максимальная скорость чтения, то выбираем колоночную БД. Данные колоночной БД хранятся на диске по полям (колонкам) и чтение происходит очень быстро.
    Ответ написан
  • Из каких этапов составит определение домена в БД?

    @immelnikoff
    Изучаю БД
    Смею предположить, что
    1) выбор базового типа данных,
    2) определение ограничений.
    Домен – это множество допустимых значений атрибута. Множество допустимых значений задается базовым типом + дополнительными ограничениями (CHECK CONSTRAINT), например, 5 < atr < 50.

    Кстати, откуда вопросики?
    Ответ написан
  • Литература по базам данных?

    @immelnikoff
    Изучаю БД
    Могу посоветовать две очень годные книги для тех, кто действительно хочет разбираться в БД:
    - Системы баз данных. Полный курс, Гектор Гарсиа-Мол...,
    - MySQL по максимуму, Шварц Бэрон, Зайцев Петр, Ткач....
    Книги непростые и начинать нужно не с них.
    Начинать нужно с любой книжки по синтаксису и основ, типа нормальных форм.
    Переходить к данным книгам можно, когда вы освоите синтаксис, разберетесь с устройством всех типов данных и сами сможете сконструировать примеры:
    - таблицы, находящейся в 1НФ, но не в 2НФ,
    - таблицы, находящейся в 2НФ, но не в 3НФ,
    - таблицы, находящейся в 3НФ, но не в НФБК,
    - таблицы, находящейся в НФБК, но не в 4НФ,
    - таблицы, находящейся в 4НФ, но не в 5НФ,
    - таблицы, находящейся в 5НФ, но не в ДКНФ,
    - таблицы, находящейся в ДКНФ, но не в 6НФ.
    Ответ написан
  • Какую базу данных выбрать?

    @immelnikoff
    Изучаю БД
    По сути, почти любую СУБД можно настроить для этих целей.
    Возьмите, например, MySQL 8.0. Ставите сервер MySQL и устанавливаете наинизший уровень изолированности транзакций – READ UNCOMMITED – для отключения MVCC и, соответственно, повышения конкурентности. Этот сервер будет принимать данные на запись.
    Ставите ещё один сервер MySQL – реплику (основной сервер, соответственно, – мастер). К нему будут делаться запросы на чтение.
    Ответ написан