Форум программистов, компьютерный форум CyberForum.ru

PostgreSQL

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

PostgreSQL vs MySQL скорость чтения - PostgreSQL

31.10.2016, 23:36. Просмотров 437. Ответов 8
Метки нет (Все метки)

Гуру, проконсультируйте, плиииз...

Уже в нескольких источниках услышал что MySQL "уступает почти во всем, кроме скорости чтения простых индексированных таблиц".

Задача: В течении месяца посетители "забивают" информацию в поля. Я ее заношу в PG. Они ее часто обновляют и правят...
Потом я этот период "закрываю" и они по ним могут лишь "формировать отчеты"... То есть операция "только чтения".

Не по теме:

Слышал у гугла (big-query) на порядок быстрее работает чем PG, т.к. только чтение дает, мешая даже замене (знакомые могут лишь "добавлять новые записи в конец" с новой меткой "даты внесения"). Наверное "подобная" технология используется...



Что это такое??? Особые формы "скоростных" таблиц? PG их поддерживает?

Задумал в конце каждого месяца для ускорения переносить прошлый месяц в таблицу MySQL и формировать отчет по двум базам... По идее будет ОГРОМНЫЙ прирост скорости если будут составлять лишь по прошлым месяцам.

Вопрос:
Что это за вид таблиц/баз? Что можно про это почитать? PG точно подобного не поддерживает? Может режим при создании таблицы "включить" надо?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2016, 23:36     PostgreSQL vs MySQL скорость чтения
Посмотрите здесь:

PostgreSQL PostgreSQL
PostgreSQL доступ к postgresql
PostgreSQL Установка PostgreSQL
PostgreSQL Логи в Postgresql
мониторинг postgresql PostgreSQL
PostgreSQL PostgreSQL + MCBC
Функции в PostgreSQL PostgreSQL
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grgdvo
529 / 470 / 132
Регистрация: 02.09.2012
Сообщений: 1,375
01.11.2016, 00:02     PostgreSQL vs MySQL скорость чтения #2
О производительности на словах можно рассуждать долго.
Надо начать с плана выполнения конкретного запроса! Построить его и смотреть, почему не устраивает скорость его выполнения. Дальше уже думать, что делать.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.11.2016, 14:37  [ТС]     PostgreSQL vs MySQL скорость чтения #3
Цитата Сообщение от grgdvo Посмотреть сообщение
О производительности на словах можно рассуждать долго.
Вопрос как раз "на словах"! До тестов еще не дошел и данные еще на стадии "отладки"... до продакшена далеко (10-100 записей вместо миллионов), но если скорость на чтение действительно у pg ниже, то проще встроить подобное "в ядро программы".
Факт - знакомые СПЕЦИАЛЬНО выложили "статичные" данные на bigquery(гугл) для ускорения запросов.
Факт - не смотря на "крутость" PG многие КРУТЫЕ фирмы и не думают переносить свои данные... (не ручаюсь, но вроде в этом списке Facebook и twitter...)
да и графики на чтение где-то видел - там явно скорость чтения у MySQL не зависит от обьема базы в отличии от PG.

Не по теме:

я много лет сидел на MySQL. Теперь вынужден полностью перейти на PG+bigquery. Пишу/планирую/просчитываю "для себя" проект, где надо много "читать" - выбираю базу - узнал/услышал что pg оказывается "не во всем крут" (здесь в комментариях https://habrahabr.ru/company/mailru/blog/248845/) потом переписывать не охота, когда выйду на большие "обороты" (записей будет много)

grgdvo
529 / 470 / 132
Регистрация: 02.09.2012
Сообщений: 1,375
01.11.2016, 16:39     PostgreSQL vs MySQL скорость чтения #4
Я бы не стал голословно сравнивать с bigquery. Самому мне не доводилось использовать, но предполагаю, что над каждым запросом к большим данным там трудится целый кластер из нескольких узлов, которые параллельно все собирают (ведь только на чтение работаем). Поэтому сравнение не совсем корректное, возможно pgpool + группа из postgres-серверов будут давать результат не сильно хуже, чем bigquery.

Теперь по самой задаче, что-то выбрать из большой таблицы. Вы сами бы как решали эту задачу, чтобы было очень-очень быстро?? Наверно бы использовали индексы, чтобы скакать не по всем данным, а сразу прицельно по некоторому подмножеству. Соответственно нужен правильный актуальный индекс. Пока мы данные считываем с диска в память, чтобы делать выборку, то тоже тратим время. Нужно, чтобы данные таблицы (индекса) располагались "ровненько", друг за другом, без лишних операций ввода/вывода. Как-то об этом надо бы позаботиться, плюс скорость чтения с носителя имеет значение. Хотелось бы и оперативной памяти предусмотреть больше, чтобы максимально уместить запрос без лишних сбросов/подкачек промежуточных данных. Поэтому все же!!! коли речь идет о highload в конкретной задаче, а я именно так расцениваю вашу задачу, то я бы проводил эксперименты по оптимизации. То есть еще до продакшна эмулировать нагрузку и смотреть что и как.
Ну нет на словах ничего такого специального в указанных мною условиях, в рамках которых должна действовать СУБД, чтобы максимально быстро достать заданную пользователем выборку.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.11.2016, 21:31  [ТС]     PostgreSQL vs MySQL скорость чтения #5
Цитата Сообщение от grgdvo Посмотреть сообщение
Соответственно нужен правильный актуальный индекс. Пока мы данные считываем с диска в память, чтобы делать выборку, то тоже тратим время. Нужно, чтобы данные таблицы (индекса) располагались "ровненько", друг за другом, без лишних операций ввода/вывода. Как-то об этом надо бы позаботиться, плюс скорость чтения с носителя имеет значение. Хотелось бы и оперативной памяти предусмотреть больше, чтобы максимально уместить запрос без лишних сбросов/подкачек промежуточных данных.
И это уже "точка для сравнения"! Все вышеперечисленное актуально и для оракла, и для аксеса, и для SQLite, и даже для Екселя... Чем больше памяти, процессора и быстрее винт тем быстрее ексель будет искать в многотысячной таблице нужную строку...
Может при тех-же характеристиках харда у MySQL все-таки выше скорость чтения???
ПОЧЕМУ брендовые компании не стремятся убежать с MySQL? Для них работа программистов - не проблема! Своих тысячи сидят в "режиме обслуживания".

Мне не нужны советы как ускорить поиск по базе поменяв индексы или улучшив "железо"!!!
Мне нужно от тех кто работал на обоих видах баз и имел возможность сравнить получить ответ "Да MySQL быстрее" или "Pg не уступает ВООБЩЕ, если использовать правильные индексы" или "В PG для этого есть особые типы таблиц"...

Не по теме:

Не знаю "в тему" ли, но встретил фразу "Одну делаете в MyISAM, а вторую в InnoDB" про MySQL... похоже это два ТИПА таблиц в MySQL и одна явно отличается от другой устройством... Сейчас только собираюсь вычитать разницу - большие статьи - на долго.

lostandleft
2 / 2 / 1
Регистрация: 04.12.2015
Сообщений: 96
13.11.2016, 23:07     PostgreSQL vs MySQL скорость чтения #6
Если Вы так принципиально подходите к вопросу, и более того, скорее всего у Вас уже есть базы Mysql и PGsql...вопрос напрашивается сам собой, простите, а почему бы Вам не попробовать создать однотипные базы данных, совершенно элементарные, с выборкой Вашей уже накопившейся стад информацией, пусть даже 1000 записей, и собственно не создать запросы, да не подсчитать время, которое будет тратиться на выполнение вашего запроса?

Что Вам мешает? Или нет возможности пробовать на одном железе?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
14.11.2016, 14:53  [ТС]     PostgreSQL vs MySQL скорость чтения #7
Цитата Сообщение от lostandleft Посмотреть сообщение
скорее всего у Вас уже есть базы Mysql и PGsql
в этом то и проблема что НЕТ! У меня дома старые проекты (вебсайты на php) на MySQL. А на работе пишу под PG (первый месяц опыта - на java). Даже среды не "однотипные" для "чистоты эксперимента... Начинаю новый проект "для себя". Записей меньше 20... ПОКА! "на тестовом этапе" - сам забил... А планируется(/мечтается) что десятки-сотни операторов будут забивать и тысячи-миллионы будут получать данные... нужна большая скорость ЧТЕНИЯ!

Будет выделен под проект хостинг. И вопрос... на него ставить pg? или pg И mysql? и в ядре программы учитывать "двойные" запросы по "медленной-текущей" и "быстрой-архивной" базам?
hepper
Кодогенератор
195 / 195 / 35
Регистрация: 15.06.2011
Сообщений: 789
Завершенные тесты: 2
15.11.2016, 00:19     PostgreSQL vs MySQL скорость чтения #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Будет выделен под проект хостинг. И вопрос... на него ставить pg? или pg И mysql? и в ядре программы учитывать "двойные" запросы по "медленной-текущей" и "быстрой-архивной" базам?
поставь mysql - сделай разбивку таблицы на секции - архивная и текущая - поставь правильно индексы и будет все нормально. на не больших объемах данных любая база хороша.
кстати pg надо еще грамотно настроить - конфиг по дефолту весьма уныл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2016, 02:05     PostgreSQL vs MySQL скорость чтения
Еще ссылки по теме:

PostgreSQL функции PostgreSQL
Auto_increment postgresql PostgreSQL
PostgreSQL PostgreSQL and Denwer
GUID postgresql 9.3 PostgreSQL
Из Oracle в postgresql PostgreSQL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.11.2016, 02:05  [ТС]     PostgreSQL vs MySQL скорость чтения #9
У меня еще НЕТ больших данных... но я уже говорил - я РАССЧИТЫВАЮ на них!
У pg есть много чего интересного чего нет у mysql! Основной базой будет ОДНОЗНАЧНО pg! Это не обсуждается! Проблемы настройки/администрирования - решаемы...

Вопрос стоял не так!!! Для БОЛЬШИХ "архивных" данных, к которым нужен быстрый доступ имеет ли смысл ВТОРОЙ базой поставить MySQL??? Первой по любому будет pg! (иначе я бы в другой ветке вопрос задавал). Слышал что pg уступает mysql ТОЛЬКО в скорости ЧТЕНИЯ к большим таблицам... ТАК ЛИ ЭТО???

...не надо мне советовать сменить архитектуру. не надо мне советовать перейти на mysql. не надо мне советовать увеличить память и процессор или выгрузить всю базу в память... если в курсе - просто ответе на вопрос - "есть ли прирост в скорости чтения больших таблиц у mysq по сравнению с pg на ОДИНАКОВОМ оборудовании?" - да или нет?

сейчас у меня данных на несколько килобайт... прогнозирую гигабайты... хостинга пока нет... данных "наплодить" для тестов не могу... но и переписывать потом не хочется плодя "заплатки" к самописному движку - проще в движке изначально предусмотреть работу с двумя базами, ЕСЛИ это действительно добавит скорости на больших данных...
Yandex
Объявления
15.11.2016, 02:05     PostgreSQL vs MySQL скорость чтения
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru