Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518

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

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

Author24 — интернет-сервис помощи студентам
Гуру, проконсультируйте, плиииз...

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

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

Не по теме:

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



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

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

Вопрос:
Что это за вид таблиц/баз? Что можно про это почитать? PG точно подобного не поддерживает? Может режим при создании таблицы "включить" надо?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2016, 23:36
Ответы с готовыми решениями:

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

Так ли важна в реальной жизни скорость записи SSD, или смотреть надо только на скорость чтения, а на запись пофигу
https://www.citilink.ru/catalog/computers_and_notebooks/hdd/ssd_in/420250/ вот у него скорость записи низкая, но он самый популярный

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

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

Не по теме:

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

0
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
01.11.2016, 16:39
Я бы не стал голословно сравнивать с bigquery. Самому мне не доводилось использовать, но предполагаю, что над каждым запросом к большим данным там трудится целый кластер из нескольких узлов, которые параллельно все собирают (ведь только на чтение работаем). Поэтому сравнение не совсем корректное, возможно pgpool + группа из postgres-серверов будут давать результат не сильно хуже, чем bigquery.

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

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

Не по теме:

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

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

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

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

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

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

сейчас у меня данных на несколько килобайт... прогнозирую гигабайты... хостинга пока нет... данных "наплодить" для тестов не могу... но и переписывать потом не хочется плодя "заплатки" к самописному движку - проще в движке изначально предусмотреть работу с двумя базами, ЕСЛИ это действительно добавит скорости на больших данных...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2016, 02:05
Помогаю со студенческими работами здесь

Скорость чтения DVD
Здравствуйте форумчане, Подскажите пожалуйста, вот у современных DVD приводов скорость x16 (что примерно 21 Мб/с). А есть ли более...

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

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

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

Синхронизация PostgreSQL+MySQL
Здравствуйте. Ситуация следующая в компании для которой делается программа на С# основные данные пишутся в MySQL, там же есть самописная...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер