Сімьон Сімьонич, точно, як я міг так тупанути!Denvys5: ↑ 11.09.2025 00:25 dead_rat
Неправильно. Правильна відповідь - запускати на АРМ інстансах.
Якщо вже на арм - швидше не буде.
Новости
Последние статьи и обзоры
Apple представила нове покоління iPhone, включно з надтонким смартфоном iPhone 17 Air
-
dead_rat
Member
- Откуда: Берлін
-
yuriy_dd
Member
проблема, що к-ть продуктів по брендах - розподілена дуже не рівномірно, відрізнається на порядкиdead_rat: ↑ 11.09.2025 00:19 Скоріше всього шардив би по брендах чи по ринках щоб бренди одного ринку частіше були в одному шарді.
може бути що по бренду1 - сотня тисяч продуктів, по бренду2 - тисяча
тепер це треба злити по ціні, і взяти необхідну сторінку
Постгре - це робить з дуже великим розкидом часу виконання - іноді 100мс іноді 3+ сек
і це я описав - дуже простий запит, буквально базовий
я це вирішив - своїми бінарними структурами (якщо знаєте книжку Кнута), працює - дуже швидко - буквально 1мс, читань з диску стало на порядки менше, нема затримок
Відправлено через 1 хвилину 8 секунд:
якщо запускати постгре на М4 - він дуже швидко працює, впираюсь в обем оперативної памяті. Але ідея використати мак студіо як сервер - єDenvys5: ↑ 11.09.2025 00:25 Неправильно. Правильна відповідь - запускати на АРМ інстансах.
-
dead_rat
Member
- Откуда: Берлін
Раз вже випендрюєтеся, то пояснюйте що маєте на увазі.yuriy_dd: ↑ 11.09.2025 00:36 я це вирішив - своїми бінарними структурами (якщо знаєте книжку Кнута), працює - дуже швидко - буквально 1мс, читань з диску стало на порядки менше, нема затримок
За 1мс на мільярді строк можна лише з рами прочитати, то ви просто вичитали бд в оперативку? І «бінарні структури» я так розумію це щось самописне, а не функціонал бд?
-
yuriy_dd
Member
саме такdead_rat: ↑ 11.09.2025 00:44І «бінарні структури» я так розумію це щось самописне, а не функціонал бд?
файли відображені в память. Швидкість роботи як з памятю. Розмір структури - дуже малий, на порядок(+) менше ніж індекс, закешовується ОС при першому доступі.dead_rat: ↑ 11.09.2025 00:44За 1мс на мільярді строк можна лише з рами прочитати
ну і структура така щоб дуже швидко читати тільки те що треба. І сортувати не треба - бо структура зберігає вже в необхідному порядку
-
dead_rat
Member
- Откуда: Берлін
yuriy_dd
Про на порядок менше за індекс ніколи не повірю.
Тепер цей самописний прикол треба підтримувати, як там синхронізація апдейтів бази, зручно підтягується? Чи ви чисто раз на день дамп бази робите?
Про на порядок менше за індекс ніколи не повірю.
Тепер цей самописний прикол треба підтримувати, як там синхронізація апдейтів бази, зручно підтягується? Чи ви чисто раз на день дамп бази робите?
-
yuriy_dd
Member
я це комерційно роблю, можу й для вас зробити, якщо маєте проблеми - хочете пришвидшити роботу і не хочете купувати потужніші сервери
-
dead_rat
Member
- Откуда: Берлін
Ні, дяку, я давно пережив епоху кулібінщини і віри, що людина на колінці мені загне самописний індекс краще за дефолтну реалізацію бд.yuriy_dd: ↑ 11.09.2025 00:56 я це комерційно роблю, можу й для вас зробити, якщо маєте проблеми - хочете пришвидшити роботу і не хочете купувати потужніші сервери
Мені платять за те, щоб таких винахідливих рішень в компанії ставало менше, а не більше
-
Inqizitor2022
Member
- Откуда: Харьков
Айфон - великолепная стабильная ОС, отличная работа камеры при любых условиях, простая и удобная экосистема, доступная для любой блондинки без мозга, долговременная поддержка от топового бренда. Как то слишком много плюсов для понтов. Айфон - это отличный телефон для тех, кто не хочет копаться и превозмогать, а просто хочет ходить с отличным телефоном в отличии от андроид-юзеров. Если ты гик и хочешь просто юзать нечто стабильное и качественное, или если ты не гик - то покупай айфон. Если у тебя болят глаза от ШИМ - тогда ой, виво х100 Ультра - один из немногих вариантов с хорошей камерой, который шимит намного меньше, чем остальные телефоны. Минусы - всё остальное, от китайской поддержки до андроида как такового. Если эппл выпустит телефон без ШИМ - сразу куплю незадумываясь, зачем ходить с китайским чудом, если можно пользоваться нормальной штукой из коробки?!Eduard1980: ↑ 10.09.2025 18:53Здається забагато для бідної країни. Як на мене то значна частка покупців купляє понти.
Последний раз редактировалось Inqizitor2022 11.09.2025 01:03, всего редактировалось 1 раз.
-
yuriy_dd
Member
індекс містить в собі ключ + деревоdead_rat: ↑ 11.09.2025 00:54 Про на порядок менше за індекс ніколи не повірю.
в мене цього нема
плюс я дуже ефективно зберігаю, буквально на рівні бітів, але це не архів
якщо не міняється структура таблиць від яких залежить запит - то нічого міняти не треба. Я можу повернути набір ключів продуктів в необхідному порядку - а ви вже їх використайте як вам треба (ORM там чи що)dead_rat: ↑ 11.09.2025 00:54 Тепер цей самописний прикол треба підтримувати
в реальному часі оновлення не вийде. Але можна зробити щоб викликати чи періодично, чи вручну після оновлень.dead_rat: ↑ 11.09.2025 00:54як там синхронізація апдейтів бази, зручно підтягується? Чи ви чисто раз на день дамп бази робите?
просто я стикнувся з проблемами коли в базі було десятки млн записів, ніяк не міг вирішити існуючими засобами, був змушений написати своє - тепер к-ть записів зросла в 100 раз - а воно паше без проблем, і місця мало займає (індекс в базі в мене займає - під 50 Гб)
к-ть запитів до сервера БД - зменшилась на порядки
мав досвід з open source shopping carts - так там навіть 2 тис продуктів - і вже тормозить
Відправлено через 2 хвилини 36 секунд:
маю дуже чутливі очі. Поко Ф5 (і наступні) - не має ШИМInqizitor2022: ↑ 11.09.2025 01:02Если у тебя болят глаза от ШИМ - тогда ой, виво х100 Ультра - один из немногих вариантов с хорошей камерой, который шимит намного меньше, чем остальные телефоны
але MIUI - це зло, тому я завжди перепрошиваю на кастом на основі чистого андроїду - швидкість браузерних тестів зростає в 2 рази, і автономність - також
-
dead_rat
Member
- Откуда: Берлін
yuriy_dd
Щось мені підказує, що правильно скомпонований materialized view в базі зробив би плюс мінус те саме, і ще б автоматично оновлювався.
Щось мені підказує, що правильно скомпонований materialized view в базі зробив би плюс мінус те саме, і ще б автоматично оновлювався.
-
yuriy_dd
Member
можна і попробуватиdead_rat: ↑ 11.09.2025 00:58 Ні, дяку, я давно пережив епоху кулібінщини і віри, що людина на колінці мені загне самописний індекс краще за дефолтну реалізацію бд.
розумію, але я мав особисто дуже багато проблем з готовими рішеннями (- хоч я їх і використовую також), коли баги роками не виправляються. А коли побачиш як зроблено - то просто погано стаєdead_rat: ↑ 11.09.2025 00:58 Мені платять за те, щоб таких винахідливих рішень в компанії ставало менше, а не більше
Відправлено через 5 хвилин 13 секунд:
ну подумайте як це зробити. Я готовий вам заплатити - якщо зможете це зробити засобами БДdead_rat: ↑ 11.09.2025 01:07Щось мені підказує, що правильно скомпонований materialized view в базі зробив би плюс мінус те саме
або посперечатись що ви це не зможете зробити
можу сказати про постгре - він там автоматично не оновлюється. Є команда яка його повністю перебудовує - дуже довго і важко. Воно ще й хоче блокувати читання з інших підєднаньdead_rat: ↑ 11.09.2025 01:07 і ще б автоматично оновлювався.
Але індекс - це свого роду materialized view - з автоматичним оновленням. Але дуже пухне в процесі оновлень.
моє рішення не пухне взагалі (no bloat), і нічого не блокує в процесі оновлень
-
dead_rat
Member
- Откуда: Берлін
- Професоре, моя програма працює швидше за вашу!
- Зато моя працює коректно. (С)
Це ж прекрасно, що отаке у вас хороше рішення.
-
Scoffer
Member
Хтось спробував винайти in-memory database?yuriy_dd: ↑ 11.09.2025 00:49файли відображені в память
Відправлено через 2 хвилини 30 секунд:
А як там з ACID? Чи ACID то для слабаків?)
-
yuriy_dd
Member
вони мають проблему - бо неактивна частина - все одно в памяті
хоча може ви про кеш - але для того щоб взяти з кешу, треба взяти спочатку з ДБ і покласти в кеш. А проблема якраз що взяти з ДБ - довго. Моє рішення працює навіть скоріше ніж просто взяти з кешу.
Відправлено через 2 хвилини 52 секунди:
я не підтримую оновлень в реальному часі, я лише допомагаю швидко знайти дані. Ви потім можете їх додатково перевірити з актуальними даними.Scoffer: ↑ 11.09.2025 01:26 А як там з ACID? Чи ACID то для слабаків?)
Але реальні дані - ви не маєте ніде, завжди є затримка.
Навіть в банківському додатку - баланс з затримкою. І перед тим як здійснити платіж - перевіряється і блокується сума перед транзакцією.
Відправлено через 4 хвилини 38 секунд:
і кеш - ще має одно проблему - в них як мінімум дерево для збереження ключів, і ключі - стрічки, і random read навіть з РАМ - таки теж повільно. І порівнянні стрічок - теж повільно.
-
dead_rat
Member
- Откуда: Берлін
Скофер, філософське питання.
Is immutable dataset ACID compatible? Нема змін, то й нема порушень транзакцій. Воно ж і атомік, і консістент і дюрабл
Is immutable dataset ACID compatible? Нема змін, то й нема порушень транзакцій. Воно ж і атомік, і консістент і дюрабл
-
yuriy_dd
Member
я би пройшов у вас співбесіду на тему бази даних? як мій рівень?dead_rat: ↑ 11.09.2025 01:19 Це ж прекрасно, що отаке у вас хороше рішення.
Последний раз редактировалось yuriy_dd 11.09.2025 01:48, всего редактировалось 1 раз.
-
dead_rat
Member
- Откуда: Берлін
Рівень для нас точно занадто високий, пожав би вам руку, побажав удачі у написанні власної бд, до написання коду вас би не пустив і близькоyuriy_dd: ↑ 11.09.2025 01:36я би пройшов у вас співбесіду на тему бази даних? як мій рівень?dead_rat: ↑ 11.09.2025 01:19 Це ж прекрасно, що отаке у вас хороше рішення.
-
Scoffer
Member
Немає даних - немає проблемdead_rat: ↑ 11.09.2025 01:36Нема змін, то й нема порушень транзакцій.
Для цього розумні люди вигадали cache prefetching strategy. Вигадувати костилі не обов'язково.yuriy_dd: ↑ 11.09.2025 01:34хоча може ви про кеш - але для того щоб взяти з кешу, треба взяти спочатку з ДБ і покласти в кеш. А проблема якраз що взяти з ДБ - довго.
-
yuriy_dd
Member
це якщо можна передбачити наступне звертання, але це робить частіше системаScoffer: ↑ 11.09.2025 01:44Для цього розумні люди вигадали cache prefetching strategy
але ви не зрозуміли мій коментар - що даних в кеші нема, і проблема що їх довго взяти з БД ..
тобто кеш - повертає дані по ключу. А у вас нема ключа - саме його треба взяти - список ключів продуктів в певному порядку на певній сторінці
-
Scoffer
Member
Стратегії попередньої вибірки в кеш можуть бути сильно різними. Ти ж якось наповнив свою структуру. Значить це можна покласти на алгоритм і автоматом заповнювати кеш в вигляді якоїсь інмеморі БД, котрих зараз розвелось як собак нерізаних. На то він і префеч.yuriy_dd: ↑ 11.09.2025 01:48це якщо можна передбачити наступне звертання, але це робить частіше система