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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    для больших баз данных можно бэкапы поделать, кластер баз установить и поиграться с шардированием, приоритетом нод.
    С индексированием можно разобраться поглубже, для ускорения. Но на маленьких оно тоже может дать прирост.
    Не знаю. Уточните вопрос что значит "большие БД" и чем они отличаются от маленьких в вашем случае.
    Ответ написан
    2 комментария
  • Где лучше сохранить информацию о посетителей сайта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    конечно в базе данных.
    Ответ написан
    Комментировать
  • Может ли Grafana напрямую слать запросы в табличку на hdfs и рисовать временной ряд?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Поищите плагин для hdfs

    Штатно есть плагин для постгреса, можно делать запросы в него напрямую.
    Есть плагин для монго, но только в ентерпрайз версии (платный), бесплатный опенсорсный плагин для монги совсем плохой, вплоть до нерабочести.
    Вместе с графаной обычно идет influxdb, можно в нее данные накидывать.

    про hdfs надо гуглить, вдруг есть плагин.
    Ответ написан
    Комментировать
  • Как постоянно получать данные с БД?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Почитать про брокеры, типа kafka/rabbit mq
    Ответ написан
    1 комментарий
  • Хранят ли доски объявлений удалённые объявления?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Все хранят. Потому что удаление записи из базы данных - это тяжелый запрос. Проще пометить как удаленный.
    Но так как лишние данные не нужны, кто-то может чистить от старого периодически например раз в месяц или раз в год.

    Другое дело, что сколько там тех данных в объявлении? Можно вообще никогда не удалять даже на самом дешевом хостинге. Максимум файлы удалить, если их можно аттачить в объявлении.
    Ответ написан
    8 комментариев
  • Какие есть бесплатные базы данных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    500 строк можно бесплатно на гитхабе хранить в csv
    Ответ написан
    1 комментарий
  • Как достать из OpenStreetMap все населённые пункты с населением более 4000?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Загрузить данные OpenStreetMap в формате .osm (XML-файл), используя, например, экспортный сервис, такой как https://export.hotosm.org/.

    Преобразовать .osm файл в базу данных с помощью Osmosis или osm2pgsql.

    SQL-запрос типа

    SELECT name, admin_level, population
    FROM planet_osm_point
    WHERE place IN ('city', 'town', 'village') AND population > 4000;
    Ответ написан
    2 комментария
  • JSON в базе данных это норма для реляционных баз данных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В любом базе можно хранить. Вопрос в том, что проще - брать json из базы и парсить его внутри на нужные значения, или хранить все значения в отдельных полях в базе.
    Это больше вопрос конкретного проекта и конкретного использования.
    А так - со стороны базы - никаких проблем в этом нет. Можно хранить как text или блоб для bson
    Ответ написан
    Комментировать
  • Какую бд использовать в песочнице?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    sqlite
    Ответ написан
    Комментировать
  • Какую технологию выбрать для работы с базой данных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вряд ли скажут точно.
    Скорость запроса зависит от всего. От размера конкретной таблица, от того какие данные, причем важно и тип и их схожесть, чтобы было проще индексы строить.
    И от скорости ssd
    Но я бы сказал, что 100-300 гб это далеко не бигдата. Это просто большая база, с которой справится и mysql и postgres, тем более что взяв сервер с 128гб оперативки, почти треть можно в памяти кешировать.

    В вашем случае - без перфоманс тестов никто не скажет даже примерный порядок.
    P.S. И да, если ваши данные в основном числа (таймстамп и числовые показатели, то time series data bases могут с этим справиться лучше). С другой стороны они не так популярны и возможно не так развиты.
    Ответ написан
    Комментировать
  • С чего начать обучение эникею?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    с мечтой уйти в devops.

    Сейчас хаотично изучаю всё, что под руку попадётся, чувствую, что не хватает базы (математика, алгоритмы и проч. вузовские курсы).


    С какого хрена девопсу нужны математика и алгоритмы? Это ж не разработчик альфы или экселя.
    Учите администрирование линукс и популярных сервисов, работу с контейнерами, ci/cd инструменты и оркестраторы.
    Ответ написан
  • Какие есть популярные виды обмена и хранения данных для сайта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Чтобы избежать тумана в голове, нужно говорить не про абстрактные базы, а про конкретный проект.

    Если вы начинаете работать с БД, то просто с mysql хотя бы разберитесь до уверенного использования. Есть множество проектов, которым mysql с головой хватает.

    Нет смысла бегать галопом по европам, не освоив хотя бы один инструмент. Все SQL базы для новичка более-менее похожи.
    Nosql базы нужны для других типов данных.
    Ответ написан
    Комментировать
  • В чём отличие между базой данных на sql и базой данных на javascript?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В чём отличие между базой данных на sql и базой данных на javascript?


    В том, что SQL база данных это конкретный продукт, у которого есть язык запросов, огромное количество возможностей для работы, оптимизации и масштабирования.

    В базы данных на javascript не существует. Ваша статья - о простом хранении некоторого количества данных прямо в браузере клиента, и поиску по ним. Без каких-либо дополнительных возможостей.

    Если попробуете освоить базовый SQL, этот вопрос бы не задавался.
    Ответ написан
    3 комментария
  • Какую использовать базу для хранения строки?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    influxdb, это одна из timeseries баз данных.
    Но предполагается, что хранить будете не строки, а числа.
    Ответ написан
    Комментировать
  • Какую БД использовать для timeseries данных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    influxDB больше подходит для хранения числовых метрик, чем строк, и уж тем более, чем комментариев. В этом она одна из лучших. И выборки по таблицам, там нет, даже собственно таблиц с колонками нет, есть метрики, которые хранятся скорее в виде объектов. Вот хранить данные по нагрузке,трафику, другие числа и иногда строки - это да.

    Но если вам нужны выборки по таблицам, оставайтесь в пределах SQL баз.
    Ответ написан
    1 комментарий
  • База данных для одноплатника?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Так дело не в одноплатнике и не процессе. Дело в дисковой подсистеме, как она организована.
    Ответ написан
    Комментировать
  • С чего начать изучение SQL?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Не хотелось бы зря потратить время на изучение не того, что нужно.


    Вот это меня постоянно удивляет у новичков - боятся изучить что-то не нужное, еще даже не начав что-то учить.

    Пока не дошли хотя бы до уровня мидл разработчик не стоит отбрасывать что-либо. Потом уже сможете сами оценивать реально что нужно, а что нет.
    А до этого уровня - любые знания будут вам только добавлять опыта и интуиции.
    Ответ написан
    Комментировать
  • Pg_basebackup, зависит ли скорость копирования от типа данных преобладающих в БД и можно ли как-то увеличить скорость копирования средствами postgres?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Есть БД на 1ТБ, создана искусственно. содержит кучу табличек с текстовыми полями содержащими хеш от рандома (каждая порядка 10Gb).
    Копирование всего кластера на соседнюю машину занимает порядка 14 часов.


    1 тб = 1000 гб.

    100 мбит = ~10 мегабайт в секунду. 600 мегабайт в минуту То есть 1000 гигабайт/ 0.6 = 27 часов.

    1000 мбит = ~100 мегабайт в секунду, но часто пропускная способность дисков упирается в примерно 50 мегабайт/сек = 3 гб/мин, 1000 гигабайт/ 3 гб ~ 5.5 часов

    Подозреваю, что все-таки бутылочное горлышко либо сеть (gzip сжимает данные, потому вместо 27 часов получаете около 14)
    Либо gzip сжатие в один поток (напрягается только одно ядро, из-за чего кажется, что CPU не нагружен), выполняется слишком долго.

    В первом случае убедитесь, что -z включено и попробуйте -Z 9, а также гигабитную сеть
    Во втором случае попробуйте наоборот -Z 1, чтобы уменьшить нагрузку на CPU
    Ответ написан
    8 комментариев
  • Какую БД выбрать для обработки 300 млн строк?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    nosql в основном для строк в виде "ключ" - "значение", а не четырех значений. Поэтому nosql я бы сразу отложил.

    А так - любая подойдет - у вас нет сложной структуры с кучей связей или логики в самой базе.
    То есть требуемый функционал достаточно простой, а значит производительность будет больше зависеть от железа, чем от базы - и mysql и mariadb и pgsql будут примерно одинаково работать. Ну разве что поиграться с типом базы и индексами.
    Ответ написан
    Комментировать
  • MySQL vs. MariaDB vs. PostgreSQL - что и когда лучше?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Тогда, когда ваш текущий сервер перестает справляться с вашей задачей - тогда вы будете искать что-то другое.
    Если все работает - не парьтесь.
    А в сложных проектах, за вас этот выбор сделает системный архитектор с опытом.
    Ответ написан
    Комментировать