powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / MySQL очень медленный
25 сообщений из 92, страница 3 из 4
MySQL очень медленный
    #39945877
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Боюсь что это ближе к топику Сравнение СУБД
+1
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39945934
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я чуть позже сам в Сравнении подниму топик наподобие сравнений бесплатных версий
коммерческих dbms.

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

И пожалуй MS. Но сначала хочу узнать у знатоков MS. Что есть что.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39945968
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
IBM DB2 Express-C.
Оно уже всё, ёк - нечего сравнивать.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39945970
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, неужели IBM накрылся? Нет ну подприсели конечно их индексы. Особенно после
пандемий. Но не настолько-же?
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39945982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну если экзотика, что делать
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39945987
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел на db-engines. Мда. Наблюдается с 2015 года методичный спад. Но не так чтоб уж ужас-ужас...
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946077
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Basil A. Sidorov, неужели IBM накрылся?
Накрылась редакция DB2 Express-C.
Есть редакция для разработчиков, но такое деление чётко предполагает, что конечный продукт будет работать c одним из коммерческих вариантов DB2.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946243
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
У тебя бардак когда нибудь прекратится?
Зачем влез в чужую тему?
Поговорить не с кем?
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946308
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946314
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жестокие советы. Лечения гемороя методом "топором по яйцам"
IMHO
22114535
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946320
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

Ну, да.

И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане. Просто повезло, наверное какое-то волшебное сочетание звёзд на небе и фазы луны.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946323
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
mayton
пропущено...

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Такая архитектура - более живучая и позволяет загружать твой толстый csv файл с повторами (retries).
В случае сбоя (даже если перегрузить сервер по питанию) состояние job сохраняется и джоб помнит
сколько шагов он уже отработал.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946348
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick
И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане.....

В чем проблема?
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946362
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

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

MySQL по дефолту автоматически каждую секунду сохраняет лог транзакции на диск, увеличение тайм-аута до двух секунд, сильно повышает скорость записи в таблицу, но в случае аварии эти не сброшенные в лог на диске записи будут потеряны. Это конкретная глюко-фича InnoDB, при использовании ISAM таблиц такого не наблюдается.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946364
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это про это.
mayton

- поиграть с двигателем (MYiSAM/InnoDb) обычно перформанс меняется сильно от смены.
- разнести конкурирующие разделы (сегмент данных БД и исходный файл) на разные физические диски. Или исходный файл в быструю сеть (1Гигабит).
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946479
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
Правда расплачиваться приходится тем, что если нужно "то же самое, но с перламутровыми пуговицами", то начинаются проблемы.
Ну и само приложение распухает как на дрожжах.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946502
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Это про это.
mayton

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

1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел.
2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL?
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946507
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick
mayton
Это про это.
пропущено...

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

В java серьезные люди чтобы играться фсякой фигней.
Поставил бд. Не завелась за 10 минут - в тему базы или меняй базу.
За субд нам не платят.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946510
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick
mayton
Это про это.
пропущено...

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

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

Код: sql
1.
2.
3.
CREATE TABLE youFuckenTable1 (....) ENGINE=MyISAM;

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


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

Элементарный эксперимент.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946512
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ Еще все тоже самое только в каждой сессии (или транзакции не знаю как там)
сделай

Код: java
1.
SET autocommit=0;



и

Код: java
1.
SET autocommit=1;



Тоесть всего 4 эксперимента.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946519
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
conn = getConnection()
conn.setAutoCommit(false
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946520
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да это как вариант. Если он будет грузить внешними утилитами из sql скрипта то будут разные способы.

JDBC - это будет не самый быстрый метод.
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946527
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
JDBC - это будет не самый быстрый метод.
При autocommit - без разницы. Без autocommit, скорее всего, любой метод будет "достаточно быстро".
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946534
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
mayton
пропущено...

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

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

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

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

Такая архитектура - более живучая и позволяет загружать твой толстый csv файл с повторами (retries).
В случае сбоя (даже если перегрузить сервер по питанию) состояние job сохраняется и джоб помнит
сколько шагов он уже отработал.


сsv у меня мальнький- порядка 20 мб

суть то в чем у меня над процессами стоят @Sheduled (cron=${.......})
когда я сборку заливаю на стенд - щедулер отрабатывает

локально же задачи не запускается- тоесть анотация не отрабатывает

но если над Application.class поставить @EnableSheduling - будет работать локально

и вот теперь вопрос - что за магия врубает на стенде шедулеры без анотации @EnableSheduling

используется spring-boot-starter-actuator

На стенде Windows или Linux?

Твоё приложение standalone? Или деплоится в контейнер JBoss/WebSphere/GlassFish ?
...
Рейтинг: 0 / 0
MySQL очень медленный
    #39946539
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю честно. У тебя есть в гитхабе макет этого?
...
Рейтинг: 0 / 0
25 сообщений из 92, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / MySQL очень медленный
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]