Есть странная идея (если винил не сможет): взять memtx спейс в который сложить primary ключ из винила и TTL. И экспирировать по этому memtx спейсу. Тогда не будет сканов по вторичному винильному индексу.
Файбер будет набирать по 500 id'шников и удалять одновременно из винильного и memtx спейса
Я вот тут сижу, думаю. до перехода на картридж, когда захотелось все сделать правильнее (с) ) у меня просто expirationd бежал и вроде в итоге чистил как-то. Да, скорее всего не мгновенно все было, но тем не менее как-то в итоге работало)
Есть странная идея (если винил не сможет): взять memtx спейс в который сложить primary ключ из винила и TTL. И экспирировать по этому memtx спейсу. Тогда не будет сканов по вторичному винильному индексу.
Файбер будет набирать по 500 id'шников и удалять одновременно из винильного и memtx спейса
🤔в принципе это не сложно. надо только чтобы влезли все ID первичного ключа в этот спейс
Я вот тут сижу, думаю. до перехода на картридж, когда захотелось все сделать правильнее (с) ) у меня просто expirationd бежал и вроде в итоге чистил как-то. Да, скорее всего не мгновенно все было, но тем не менее как-то в итоге работало)
В принципе это несложно проверить. Но придетися бежать тогда по всему спейсу. По вторичному то я бегу каждый раз заново, так как итерация LT мне как раз все записи TTL выстроит как надо
Кажется я догадываюсь: т.к. это LSM, то что происходит: - в первый раз пробегаем 1000 таплов и удаляем их. - это вставляет 1000 "надгорбий" (tombstones) - второй раз пробегаем 1000 надгробий + 1000 живых таплов. Вставляем ещё 1000 надгробий. - втретий раз пробегаем 2000 надгробий + 1000 живых таплов...