Ответы пользователя по тегу PostgreSQL
  • Стоит ли переходить на Postgresql?

    un1t
    @un1t
    > Более 7 лет пользуюсь MySql, нужен ли Postgresql для профессионального роста или и так везде возьмут?
    Конечно возьмут, MySQL востребован. Если тебя только это волнует то нет смысла переходить.

    Я долгое время пользовался MySQL, и не видел каких-то особых плюшек в постгресе.
    Потом заметил, что некоторые операции (LOAD DATA) на mysql выполняются как-то не прилично долго.
    Я потратил пару дней на оптимизациюд конфигов MySQL, но было как-то все равно долго. Я попробовал постгрес, потратил на конфиги пару часов, при том, что я знал его очень слабо. И операция выполнилась раз в 10 быстрее.

    Потом, попробовал запустить на постгресе тесты. На Mysql они выполнялись, просто очнеь долго. А на а постгрес легко настроить, что результат становится сравним с sqlite :memory:. В общем загрузка данных и быстрое выполнение тестов, были тем что заставило меня перейти на постгрес.
    Из плюшек пользуюсь функциональными индексами, массивами и планирую кое где использовать полнотексовый поиск. Хотя мою надежду, что с переходом можно будет выпилить elasticsearch постгрес не оправдал.
    Из того что мне прямо сильно не хватает, это group by. В постгресе конечно есть group by, но там есть ограничения, что выбирать поля и сортировать можно только те поля которые используются в group by.
    Ответ написан
    2 комментария
  • Как ускорить insert в postgresql?

    un1t
    @un1t
    # /etc/postgresql/9.5/main/postgresql.conf
    fsync = off
    synchronous_commit = off
    full_page_writes = off
    Ответ написан
    1 комментарий
  • PostgreSQL или MySQL для работы с json данными?

    un1t
    @un1t
    Хранить аудио-файлы в json формате в БД. Да вы, батенька, эстет.
    Без разницы мускул это или постгрес, это плохая идея.
    Ответ написан
  • Как сделать автоинкримент в django?

    un1t
    @un1t
    Навесь сигнал post_save,post_delete на статью. В обработчике обновляй счетчик.
    Ответ написан
    Комментировать
  • Какую базу данных лучше использовать для сайта СМИ агентства?

    un1t
    @un1t
    Без разницы.
    Ответ написан
    Комментировать
  • Выбор фрайморка Django, порог вхождения и стоит ли для почти начинающего? и БД SQL/NoSQL?

    un1t
    @un1t
    Редактор лучше PyCharm, база реляционная MySQL либо Postgres. NoSQL тебе пока не надо, это штука для специфических задач. Для начинающих щас полно всего, в Технопарке есть лекции по Джанге (не смотрел) https://park.mail.ru/materials/video/#2, я в своем время читал django book. Сейчас книг по Джанге просто очень много.
    Ответ написан
    Комментировать
  • Для каких задач больше подойдет MySQL а для каких PostgreSQL?

    un1t
    @un1t
    Задачи примерно одинаковые. Для интернет магазина подойдет любая. Обе СУБД проверенны временем и используются в том числе на крупных и highload проектах.
    Для дешевых сайтов лучше MySQL, т.к. есть на любом хостинге. Т.е. если вы пишите коробочную CMS на PHP, то лучше MySQL. Если облачный конструктор сайтов, то без разницы.

    MySQL поддерживает и транзакции и полнотекстовый поиск и гео данные, но что-то релизовано в движке MyISAM, а что-то в InnoDB. Т.е. если нам надо и то и то, то придется юзать разные движки на таблицы, а это ломает например ссылочную целостность. В простгресе один движек и все это есть.

    У MySQL еще некоторое время назад был самый топорный, читай медленный алгоритм join'ов. В этом плане Postgres был впереди. Ну как впереди, он давал преимущество на коряво написанных приложениях с большим количеством join'ов. Можно ли считать это преимуществом вопрос. Но в последний версиях MySQL 5.6 появились более быстрые виды join'ов. Лично мне это все до лампочи, потому что join'ы во первых были медлеными, а во вторых не масштабируются, поэтому я их не использовал. Да и Django умеет делать быстрый джойн на уровне приложения простым методом ORM - prefetch_related.

    JSONB - технология Postgres, которая позволяет сохранять JSON в таблицу. Я бы не назвал это особым преимущестовм, в MySQL хоранить JSON не проблема, в обычно текстовом поле, только обработку делай на уровне приложения и все. В Джанге, опять же это делается установкой какой-нибудь батарейки django-jsonfield или написанием 15 строчек кода единоразово. Т.е. явно сильного преимущества тут нет, тем более, что такие штуки в любом случае удобнее в Монге хранить.

    Массивы в Postgres. Было бы прикольно, если бы могли не только хранить, но и строить по ним индекс, как в Монге. Но нет, Постгрес предлагает строить по ним полнотекстовые индексы. Ну а если речь идет про полнотекстовый поиск, то на любом большом сайте уже есть поисковый движек, например Sphinx или ElasticSearch, соотвестваенно, я могу масивы и в MySQL серелизовать в строку и индексировать их этим движком.
    Тут преимущество явно на стороне Монги (хотя ее мы тут не рассматриваем), Постргесу еще расти.

    Постгрес умеет строить индексы по XML и видимо JSON. Подумаешь, если какая уже говорил, у нас на проекте есть полнотекстовый движек, то мы можем построить индекс по чему угодно и без Постгреса.

    Полнотекстовый поиск. Вот тут у Postgres действительно есть преимущество как перед MySQL, так и перед MongoDB. Постгрес подерживает русский язык на уровне стемминга, что во многих случаях волне достаточно. Если надо морфологию, то уже поисковые движки надо использовать, а не БД. MySQL не поддерживает языки, а MongoDB поддерживает русский, но не поддерживает оператор AND (блин как это вообще может быть?!).

    Вобщем пока таким явным преимущестовм Постгреса я вижу полнотекстовый поиск, для проектов в которых почему-то нет полноценных полнотекстовых движков. Но с установкой любого движка, это преимущество исчезает.
    Ответ написан
    6 комментариев