Size: a a a

2021 March 25

AE

Alexandr Emelyanov in #UWDC2021
Slach
если есть индекс по полю с датой, то там в MySQL \ PostgreSQL вроде есть оптимизация как раз для такого случая
Речь будет о порядке ид
источник

S

Slach in #UWDC2021
Alexandr Emelyanov
Почему же прошлый век то?)
потому что GUID \ sha \ md5 \ random string в качестве PK  и id на MySQL с его clustered primary key index
просто убивает систему случайными вставками

с PostgreSQL полегче, потому что там индексы отдельно table space отдельно...  

И у всех БД при при чтении по PK за o (log n) равномерно размазанные значения guid будут порождать большее кол-во случайных чтений с большим кол-вом page cache + shard buffers miss \ innodb buffer miss

вы сравните просто на синтетических тестах
источник

S

Slach in #UWDC2021
Alexandr Emelyanov
На 20 лямах с nvme начинает проседать
у вас список из 20 миллионов элементов после WHERE ? ;)
однако =)
источник

S

Slach in #UWDC2021
Alexandr Emelyanov
Речь не о времени, если говорим что отдавай нам после такого то ид, то ок, если передаешь страницу и говоришь id > x*n то все фильтры эту схему ломают ибо после фильтрации предыдущие страницы в 99.99999% случаев будут содержать меньше чем x*n записей

А теперь сортировка. Кто сказал что после сортировки порядок ид сохранится?)

Так что смысла от порядкового ид на пшик
согласен id > x * n не работает вообще конечно ;)
работает только
WHERE id > X LIMIT page_size

и оно нормально работает и с сортировкой и с фильтрацией
из примеров которые в голове так работает github releases page
правда там конечно нет last_page, first_page
источник

AE

Alexandr Emelyanov in #UWDC2021
Slach
у вас список из 20 миллионов элементов после WHERE ? ;)
однако =)
По умолчанию то человек открывает без фильтра. И да, 20 лямов после фильтра - легко)
источник

AE

Alexandr Emelyanov in #UWDC2021
Slach
согласен id > x * n не работает вообще конечно ;)
работает только
WHERE id > X LIMIT page_size

и оно нормально работает и с сортировкой и с фильтрацией
из примеров которые в голове так работает github releases page
правда там конечно нет last_page, first_page
Да, просто после какого то смещения работает. Но опять таки ещё надо знать в какую сторону сортировка
источник

AE

Alexandr Emelyanov in #UWDC2021
А ещё сортировка сломает порядок ид и такой подход улетает в мусорку
источник

GD

George Drak in #UWDC2021
Slach
потому что GUID \ sha \ md5 \ random string в качестве PK  и id на MySQL с его clustered primary key index
просто убивает систему случайными вставками

с PostgreSQL полегче, потому что там индексы отдельно table space отдельно...  

И у всех БД при при чтении по PK за o (log n) равномерно размазанные значения guid будут порождать большее кол-во случайных чтений с большим кол-вом page cache + shard buffers miss \ innodb buffer miss

вы сравните просто на синтетических тестах
Ну так mysql уже давно прошлый век :)
источник

S

Slach in #UWDC2021
Alexandr Emelyanov
Речь не о времени, если говорим что отдавай нам после такого то ид, то ок, если передаешь страницу и говоришь id > x*n то все фильтры эту схему ломают ибо после фильтрации предыдущие страницы в 99.99999% случаев будут содержать меньше чем x*n записей

А теперь сортировка. Кто сказал что после сортировки порядок ид сохранится?)

Так что смысла от порядкового ид на пшик
ну ок. давайте так
вам надо показать с 10000 элемента 10 элементов
список из миллиона отсортированный по дате? так?

ок.
ORDER BY date LIMIT 10000,10
плохо, потому что читает 10000 записей + 10

WHERE date > X LIMIT 10
работает лучше
но как вычислить X?
для страницы 10000
да, в голову ничего путнего с ходу не приходит
источник

S

Slach in #UWDC2021
George Drak
Ну так mysql уже давно прошлый век :)
ну ну =))
это вам импортозамещатель Олег сказал =)

нормально все у MySQL ;)
там где надо, живее всех живых
вон Vitess опять же есть =)
источник

AE

Alexandr Emelyanov in #UWDC2021
George Drak
Ну так mysql уже давно прошлый век :)
Ну да, как ушел LAMP)
источник

AE

Alexandr Emelyanov in #UWDC2021
Slach
ну ок. давайте так
вам надо показать с 10000 элемента 10 элементов
список из миллиона отсортированный по дате? так?

ок.
ORDER BY date LIMIT 10000,10
плохо, потому что читает 10000 записей + 10

WHERE date > X LIMIT 10
работает лучше
но как вычислить X?
для страницы 10000
да, в голову ничего путнего с ходу не приходит
Потому что никак)
источник

GD

George Drak in #UWDC2021
Slach
ну ну =))
это вам импортозамещатель Олег сказал =)

нормально все у MySQL ;)
там где надо, живее всех живых
вон Vitess опять же есть =)
А еще у всех сервера с терабайтами памяти и все базы в ней. Так что какая уже разница что там сортировать :)
источник

AE

Alexandr Emelyanov in #UWDC2021
Мы пришли к тому что мы отключаем каунт для пагинации, а пользователь обманывается обычно фильтрами(а их у нас много) и находит инфу максимум на 3 странице, потому мы остались на старой доброй page + size пока что
источник

AE

Alexandr Emelyanov in #UWDC2021
George Drak
А еще у всех сервера с терабайтами памяти и все базы в ней. Так что какая уже разница что там сортировать :)
Один чувак в 2014м говорил что у них (в одном челябинском банке) свалился серв с оом на 3тб оперативки
источник

GD

George Drak in #UWDC2021
Неплохо)
источник

S

Slach in #UWDC2021
Alexandr Emelyanov
Один чувак в 2014м говорил что у них (в одном челябинском банке) свалился серв с оом на 3тб оперативки
сервер c Oracle ;)
источник

GD

George Drak in #UWDC2021
Ничо, у нас у клиента страничка настроек каталога в админке падает по памяти при лимите в 8гб. Вот это высокие технологии.
источник

AE

Alexandr Emelyanov in #UWDC2021
Slach
сервер c Oracle ;)
Точно он что то про Кобол говорил
источник

NK

ID:0 in #UWDC2021
Друзья, напоминаю сегодня онлайн встреча с министром информационных технологий, связи и цифрового развития Челябинской области Игорем Фетисовым.

Что обсудим?
1 / Чем занимается Министерство?
2 / Какие есть планы у ИТ-ведомства на ближайшие несколько лет?
3 / Для чего нужен региональный портал госуслуг?
4 / Как ИТ-компаниям попасть в Банк цифровых решений?
5 / Какие льготы предусмотрены в регионе для ИТ-компаний?
6 / Есть ли ЦОД в Че и как используются государственные центры обработки данных?
7 / Когда появится 5G в городе?
8 / Где будет ИТ - квартал ?
9 / и тд
+ ваш вопрос в чате стрима.

Подключайтесь к стриму https://www.youtube.com/watch?v=fXkYhcpsT5s и ставьте колокольчик) начнём сегодня в 14-00.
источник