Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Leonid Kudryavtsev
Патчи не выходят от слова совсем. Даже релизы на XE не переносятся.
(11.2.0.2, 11.2.0.3, 11.2.0.4 и так далее)

Бесплатная версия сделанная "на отъе#$%#" для галочки

можно было бы поговорить и обсудить. Только ТСу это совсем не требуется.
Ну а нам зачем здесь про плюсы и минусы СУБД?
Я так думаю.
Задачу ТСа все субд решают. Он сам сказал.
А с MySQL ему нужно немного потрудится.
НЕ нам потрудится а ему.
10 апр 20, 14:05    [22114145]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
И еще упавшая по 600-й ошибке XE не лечится. Всмысле на нее нет техподдержки.
И хорошо если вы сделали холодный бэкап.

Но по опыту наблюдения. На XE либо никто его не делает никогда. Либо он был сделан так давно
что не актуален.

Тоесть растущая база под XE - это не тех-дебт а это просто мина замедленного действия.
10 апр 20, 14:08    [22114149]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Несправедливо когда на маленьких нападают.
Давай тогда минусы постгри.
Они ведь тоже есть.
10 апр 20, 14:26    [22114163]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Боюсь что это ближе к топику Сравнение СУБД

Но напишу пару сентенций.

(Субъективно). Я мало работал с PG чтоб иметь какое-то покрытие по всем фичам.
Но вот из последнего. Понадобился partition-by-hash. Его внедрили в одной из
последних релизов PG. Но он взаимоисключает индекс по ПК. Это такой-себе
архитектурный нежданчик. Хотя вроде партишининг есть. Но какой-то ограниченный
и скудный.

Из преимуществ. Коробочная поддержка ГИС-типов данных. И хорошо индексируется JSON
поле.
10 апр 20, 14:32    [22114171]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8552
Garrick
И не отказываюсь


Вы когда на MySQL запускали "Вставка производится из файла SQL с инструкциями (INSERT INTO...)" AutoCommit хоть отключали?

Хотя, судя по "MySQL 8-й версии, все настройки по-умолчанию, т.е. "скорее всего нет"

При включенном AutoCommit говорить о "медленно вставке" просто не прилично (в определенных кругах). В крайнем случае, можно говорить только под видом юмора, анекдота.

IMHO & AFAIK

https://dev.mysql.com/doc/refman/8.0/en/commit.html
By default, MySQL runs with autocommit mode enabled
10 апр 20, 14:33    [22114172]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton
Боюсь что это ближе к топику Сравнение СУБД
+1
10 апр 20, 15:00    [22114186]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Я чуть позже сам в Сравнении подниму топик наподобие сравнений бесплатных версий
коммерческих dbms.

Планирую включить OracleXE, IBM DB2 Express-C.

И пожалуй MS. Но сначала хочу узнать у знатоков MS. Что есть что.

Сообщение было отредактировано: 10 апр 20, 17:12
10 апр 20, 17:13    [22114258]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
mayton
IBM DB2 Express-C.
Оно уже всё, ёк - нечего сравнивать.
10 апр 20, 18:29    [22114299]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Basil A. Sidorov, неужели IBM накрылся? Нет ну подприсели конечно их индексы. Особенно после
пандемий. Но не настолько-же?
10 апр 20, 18:32    [22114301]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Ну если экзотика, что делать
10 апр 20, 18:59    [22114314]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Посмотрел на db-engines. Мда. Наблюдается с 2015 года методичный спад. Но не так чтоб уж ужас-ужас...

К сообщению приложен файл. Размер - 78Kb
10 апр 20, 19:10    [22114321]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
mayton
Basil A. Sidorov, неужели IBM накрылся?
Накрылась редакция DB2 Express-C.
Есть редакция для разработчиков, но такое деление чётко предполагает, что конечный продукт будет работать c одним из коммерческих вариантов DB2.
10 апр 20, 22:06    [22114434]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton
Zzz79
пропущено...

кто ж мне его даст)

Любой дурак на SpringBatch напишет. Тоже мне архитектура. А ты попробуй сложный код упростить.

Это - высшее кун-фу. Знаешь как в Гонконгских боевиках. Самый лютый мастер рукопашного боя - скромненький
старичок с посохом...

Spring Batch очень обширен )
он дает шансы и новичкам( много фич из коробки)
но также много фич и для проф проектов

я вот смотрю наш батч код и тупо не выкупаю что там и где)

вот у меня щас простая проблема

я делаю сервис по загрузке справочников

мне по http прилетает csv я его забираю


по шедулеру два раза в день чекаю дериректорию - если есть парсю csv валидирую и пишу в бд

и вот в чем прикол( оно ни на что не влияет - просто интерес)

у меня на стенде этот сервис работает ок- тоесть шедулер спринговый запускаетсся и запускает джобы

а вот локально ничего не происходит- тоесть подходит время и ничего

ставишь над application @EnableSheduling - все работает локально

но как без анотации этой на стендах работает я не врублюсь

какая то магия спринг актуатора судя по всему
11 апр 20, 18:33    [22114690]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Zzz79,
У тебя бардак когда нибудь прекратится?
Зачем влез в чужую тему?
Поговорить не с кем?
11 апр 20, 21:05    [22114768]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Garrick
Member

Откуда: Москва
Сообщений: 2999
Zzz79


по шедулеру два раза в день чекаю дериректорию - если есть парсю csv валидирую и пишу в бд

и вот в чем прикол( оно ни на что не влияет - просто интерес)

у меня на стенде этот сервис работает ок- тоесть шедулер спринговый запускаетсся и запускает джобы



Народ с этим Спрингом реально помешался, суют его во все щели.
На Java API уже никто программировать не умеет?

https://docs.oracle.com/javase/tutorial/essential/io/notification.html

Ну или хотя бы Apache Commons-IO
https://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html
12 апр 20, 10:38    [22114894]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8552
Жестокие советы. Лечения гемороя методом "топором по яйцам"
IMHO
22114535
12 апр 20, 11:30    [22114904]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Garrick
Member

Откуда: Москва
Сообщений: 2999
Leonid Kudryavtsev,

Ну, да.

И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане. Просто повезло, наверное какое-то волшебное сочетание звёзд на небе и фазы луны.
12 апр 20, 12:16    [22114915]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Zzz79
mayton
пропущено...

Любой дурак на SpringBatch напишет. Тоже мне архитектура. А ты попробуй сложный код упростить.

Это - высшее кун-фу. Знаешь как в Гонконгских боевиках. Самый лютый мастер рукопашного боя - скромненький
старичок с посохом...

Spring Batch очень обширен )
он дает шансы и новичкам( много фич из коробки)
но также много фич и для проф проектов

я вот смотрю наш батч код и тупо не выкупаю что там и где)

вот у меня щас простая проблема

я делаю сервис по загрузке справочников

мне по http прилетает csv я его забираю


по шедулеру два раза в день чекаю дериректорию - если есть парсю csv валидирую и пишу в бд

и вот в чем прикол( оно ни на что не влияет - просто интерес)

у меня на стенде этот сервис работает ок- тоесть шедулер спринговый запускаетсся и запускает джобы

а вот локально ничего не происходит- тоесть подходит время и ничего

ставишь над application @EnableSheduling - все работает локально

но как без анотации этой на стендах работает я не врублюсь

какая то магия спринг актуатора судя по всему

Если ты знаешь как упростить сложное приложение - это хорошо. Это уже синьорный подход.

С спринг-батч для тебя непонятен потому-что юзкейс очень простой.

Давай другой пример. Ты парсишь csv. Очень большой. Порядка 1 Терабайта. Это длинная транзакция.
Длинтся 12 часов. И 12 часов inserts идут в БД и в конце идет commit. Это риски.
БД может лопнуть. Или от сетевых инцедентов отключиться и откатиться назад. Значит надо предусмотреть
разбивку длинной задачи на порции. И делать коммиты чаще. Например по 100_000 строк. Пачка.

Поэтому этот длинный джоб разбивается на шаги (steps) и каждый шаг фиксирует своё состоянии в репозитарии.
(Поищи есть в SpringBatch поддержка этого).

Такая архитектура - более живучая и позволяет загружать твой толстый csv файл с повторами (retries).
В случае сбоя (даже если перегрузить сервер по питанию) состояние job сохраняется и джоб помнит
сколько шагов он уже отработал.
12 апр 20, 12:23    [22114919]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8552
Garrick
И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане.....

В чем проблема?
12 апр 20, 14:23    [22114965]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Garrick
Member

Откуда: Москва
Сообщений: 2999
Leonid Kudryavtsev,

помогло включение параметра 22114104 innodb_flush_log_at_trx_commit

MySQL по дефолту автоматически каждую секунду сохраняет лог транзакции на диск, увеличение тайм-аута до двух секунд, сильно повышает скорость записи в таблицу, но в случае аварии эти не сброшенные в лог на диске записи будут потеряны. Это конкретная глюко-фича InnoDB, при использовании ISAM таблиц такого не наблюдается.
12 апр 20, 16:55    [22114998]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Это про это.
mayton

- поиграть с двигателем (MYiSAM/InnoDb) обычно перформанс меняется сильно от смены.
- разнести конкурирующие разделы (сегмент данных БД и исходный файл) на разные физические диски. Или исходный файл в быструю сеть (1Гигабит).

12 апр 20, 16:59    [22115000]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Garrick

Народ с этим Спрингом реально помешался, суют его во все щели.
На Java API уже никто программировать не умеет?

https://docs.oracle.com/javase/tutorial/essential/io/notification.html

Ну или хотя бы Apache Commons-IO
https://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html


Ну дык куча синтаксического сахара, плюс куча уже готовых решений, которые работают просто прописав одну зависимость, и пары строк в файле настроек. Т.е. думать не надо. Так что не удивительна популярность Spring.
Правда расплачиваться приходится тем, что если нужно "то же самое, но с перламутровыми пуговицами", то начинаются проблемы.
Ну и само приложение распухает как на дрожжах.
13 апр 20, 05:57    [22115161]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
Garrick
Member

Откуда: Москва
Сообщений: 2999
mayton
Это про это.
mayton

- поиграть с двигателем (MYiSAM/InnoDb) обычно перформанс меняется сильно от смены.
- разнести конкурирующие разделы (сегмент данных БД и исходный файл) на разные физические диски. Или исходный файл в быструю сеть (1Гигабит).


1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел.
2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL?
13 апр 20, 09:46    [22115199]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Garrick
mayton
Это про это.
пропущено...

1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел.
2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL?

В java серьезные люди чтобы играться фсякой фигней.
Поставил бд. Не завелась за 10 минут - в тему базы или меняй базу.
За субд нам не платят.
13 апр 20, 10:06    [22115205]     Ответить | Цитировать Сообщить модератору
 Re: MySQL очень медленный  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Garrick
mayton
Это про это.
пропущено...

1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел.
2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL?

Вообще не понимаю при чем тут ноутбук.

CREATE TABLE youFuckenTable1 (....) ENGINE=MyISAM;

CREATE TABLE youFuckenTable2 (....) ENGINE=InnoDB;

Создал 2 таблички с одинаковой шапкой и с разными двигателями хранения. Загрузил в первую.
Замерял время. Загрузил во вторую. Замерял.

Элементарный эксперимент.
13 апр 20, 10:16    [22115208]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
Все форумы / Java Ответить