215 похожих чатов

Тут есть ряд небольшиз проблем: - 100B надо

еще налить. если все льется ровно и постоянно, то у меня насчиталось 38580 RPS на месяц. не факт, что достижимо, даже если у вас есть только PK. если появляются secondary indicies, по RPS еще будут падать. у нас с двумя вторичками выходит около 20K RPS batch REPLACE по 100 tuples per batch.

- space amplification: у вас 15Tb "сырых" данных, которые уложатся в x2->x3->xY в зависимости от. у вас есть такая дисковая полка с адекватными IOPS ?

- данные в vinyl надо как-то чистить от старых. вы будет делать drop space и новый space на месяц или DELETE на старые данные ?

- если вторичные индексы не уникальны, то это не потребует pread(2) по диску на каждую вставку, если уникальны, то придется закручивать blum filter's и тюнить page size

- в целом, если вы пошардите эту конструкцию на 4-8 shard'ов, то все выглядит вполне реально, vinyl в целом на профиле "много наливаем, редко читаем" ведет себя уже относительно прилично.

- ничего не мешает сделать синтетический тест и налить тестовых данных. сразу поймете, годно оно для ваших целей или нет. для наших 10B данных оказалось годным, однако сразу оговорюсь, что tuples у нас маленькие, до 100b.

1 ответов

22 просмотра

Спасибо за развернутый ответ, думаю тогда лучше хранить по неделям или по 10 дней) сейчас в одном дне почти 3B кортежей, они удаляются через truncate почти без проблемно. Шардить не хотелось бы. Мне кажется шардирование принесет еще больше боли тут.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта