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 ответов

14 просмотров

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

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

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

Ребят в СИ можно реализовать ООП?
Николай
33
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
Кто кодит под Лазарем на винде, у вас аналогично VCL переопределяются CreateWnd и CreateParams для конкретных классов контролов и все заданные флаги влияют?
А Андрей
11
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
А, ты про текущую реализацию? Нет конечно, я бы сделал правильно - сейчас там гавнокод
Александр (Rouse_) Багель
6
Карта сайта