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

PostgreSQL

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

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

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

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

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

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

Не по теме:

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



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

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

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

PostgreSQL или MySQL? - Базы данных
Не холивара ради, а только для конкретной задачи: Есть один комп, на нём крутить БД. К нему по локалке подключаются остальные компы...

Создание тестов на скорость чтения и скорость записи - C++/CLI WinForms
Проблемка такая - пишу простенький тест на скорость записи и скорость чтения, локальных и съемных дисков. Как написать тесты вроде...

MySQL vs PostgreSQL - MySQL
Нужно перенести систему работающую с MySQL на PostgreSQL. Хотелось бы почитать о различии типов данных и функций. Помогите с линком на...

Скорость чтения/записи - Java EE
Всем привет! Есть ли какие-нибудь библиотеки в Java, чтобы узнать скорость чтения/записи на диск? Интересует именно Java, потому что...

скорость чтения - копейки - Носители информации
Проблема в том, что скорость чтения на жестком упала более чем в сотни раз...жесткому около полугода wd scorpio blue wd3200bevt 320 gb....

MySQL & PostgreSQL - Ubuntu Linux
По-моему я задаю вопрос не в тот раздел. Если это так, прошу прощения. Вопрос: можно ли одновременно установить MySQL и PostgreSQL и...

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

Не по теме:

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

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

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

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

Не по теме:

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

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

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

Будет выделен под проект хостинг. И вопрос... на него ставить pg? или pg И mysql? и в ядре программы учитывать "двойные" запросы по "медленной-текущей" и "быстрой-архивной" базам?
0
hepper
Кодогенератор
196 / 196 / 35
Регистрация: 15.06.2011
Сообщений: 789
Завершенные тесты: 3
15.11.2016, 00:19 #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Будет выделен под проект хостинг. И вопрос... на него ставить pg? или pg И mysql? и в ядре программы учитывать "двойные" запросы по "медленной-текущей" и "быстрой-архивной" базам?
поставь mysql - сделай разбивку таблицы на секции - архивная и текущая - поставь правильно индексы и будет все нормально. на не больших объемах данных любая база хороша.
кстати pg надо еще грамотно настроить - конфиг по дефолту весьма уныл
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.11.2016, 02:05  [ТС] #9
У меня еще НЕТ больших данных... но я уже говорил - я РАССЧИТЫВАЮ на них!
У pg есть много чего интересного чего нет у mysql! Основной базой будет ОДНОЗНАЧНО pg! Это не обсуждается! Проблемы настройки/администрирования - решаемы...

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

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

сейчас у меня данных на несколько килобайт... прогнозирую гигабайты... хостинга пока нет... данных "наплодить" для тестов не могу... но и переписывать потом не хочется плодя "заплатки" к самописному движку - проще в движке изначально предусмотреть работу с двумя базами, ЕСЛИ это действительно добавит скорости на больших данных...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2016, 02:05
Привет! Вот еще темы с ответами:

Скорость чтения DVD привода - DVD, Blu-ray
Купил внешний диск и решил скопировать на него весь архив. по содержанию все диски фактически одинаковы (несколько папок с кучей мелких...

низкая скорость чтения ddr3 - Оперативная память
Всем привет. У меня на пк низкая скорость записи/чтения конфиг пк феном 965 (разогнан 3.8) gigabyte 890gpa-ud3h radeon 4890 и...

Определить скорость чтения в кбайт\с - Java SE
... while(status == DOWNLOADING) { ... long startTime = System.nanoTime(); ...

HDD фрагметация и скорость чтения - Жесткие диски
здравствуйте. подскажите, в чем может быть проблема. переставил недавно винду, и с некоторых пор стал замечать что присутствуют...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
15.11.2016, 02:05
Ответ Создать тему
Опции темы

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