Size: a a a

2020 June 24

R

R-omk in Tarantool
Andrey Privalov
когда оч много записей
а чтение вторичного и так приводит к чтению по первичному
источник

R

R-omk in Tarantool
Andrey Privalov
и что же делать, если надо бегать по спейсу и чистить?
делать это не раз в милисиекнду а раз в сутки ночью
источник

AP

Andrey Privalov in Tarantool
Хм. Делать реже большими проходами?
источник

AP

Andrey Privalov in Tarantool
10мс это я для теста ставил. Стояла секунда какое то время
источник

NR

Nemat Rakhmatov in Tarantool
Сразу скажу что с Винил не имел дело, интересуюсь ради знания...У вас место мало или у винила производительность падает? Зачем вы так часто удаляете?
источник

R

Roman in Tarantool
Привет! А может кто-то подсказать пример проекта, на гитхабе например, реализующего простой апи доступа к данным в тарантуле? Чтобы понять, как это принято делать по-красоте в целом)
источник
2020 June 25

IM

Igor Munkin in Tarantool
Yura Sokolov
Ну, от меня в коммите только упоминание.
Не, ну в конце концов он же взял 2 хэшфункции: быструю и для fallback-а.
источник

IM

Igor Munkin in Tarantool
Yura Sokolov
Нет, безопасность только увеличилась.
Кстати, теперь получается одна и та же строка на разных запусках будет иметь разные хэшсуммы. Благо он чуть ранее избавился от захардкоженных чиселок в lj_cparse.c.
источник

IM

Igor Munkin in Tarantool
Yura Sokolov
> Up to 40% faster on hash-intensive benchmarks.

Это потому, что теперь строки нумеруются, и в lua table вместо хэшсуммы от строки используется этот порядковый номер.
Порядковый номер, естественно, имеет заметно меньше коллизий (примерно на те 40%).
Хэшсумма теперь только в interning табличке роль играет.
AFAIU, замена на id использована ровно потому, что сейчас 2 функции и результат любой из них может быть представлена в s->hash. В результате ты не можешь по хеш-сумме сравнивать две строки без упражнений с s->hashalg и возможным вычислением суммы при различии этого поля у сравниваемых строк. В id, кстати, не всегда лежит порядковый номер (например, в случае LUAJIT_SECURITY_STRID = 3 там и вовсе будет псевдослучайная величина), но похоже и правда эти значения дают меньше коллизий.
источник

AP

Andrey Privalov in Tarantool
Nemat Rakhmatov
Сразу скажу что с Винил не имел дело, интересуюсь ради знания...У вас место мало или у винила производительность падает? Зачем вы так часто удаляете?
Удалять можно и реже, наверное. Тут вопрос скорее в том, чтобы в среднем удалеть не меньше, чем вставляем. То есть. если вставка идет например 1000 таплов в секунду, то при удалении раз в сутки - это мне надо быстро удалить ~90 млн таплов. Если такое будет норм работать, то это бы устроило тоже
источник

AP

Andrey Privalov in Tarantool
Хотя есть кейсы, когда мне не надо держать запись так долго - сутки, она мне нужна несколько минут. И тогда она лишнее место будет занимать тоже
источник

DS

Dmitry Sharonov in Tarantool
а сколько вам реально надо удалений в сутки делать?
источник

AP

Andrey Privalov in Tarantool
реально на 1 инстанс тарантула приходится по 1000 вставок в секунду. TTL у записей от минуты до пары суток
источник

AP

Andrey Privalov in Tarantool
Ну то есть в итоге все равно, около 1000 в секунду
источник

AK

Alexey Kuzin in Tarantool
У меня был кейс с удалением из винила, пришёл к выводу что лучше делать это мелкими пачками и по отдельным шардам, а не по порядку ключей
источник

AK

Alexey Kuzin in Tarantool
(да, это был vshard  поверх винила)
источник

AP

Andrey Privalov in Tarantool
Что значит по отдельным шардам?
источник

AK

Alexey Kuzin in Tarantool
Удаление запускалось раз в час и чистило порядка сотен записей
источник

AK

Alexey Kuzin in Tarantool
Andrey Privalov
Что значит по отдельным шардам?
Если используется шардинг, то данные раскладываются по инстансам Тарантула в соответствии с ключом шардирования. Если ключ например зависит от числового ID клиента, то на первый инстанс попадут записи с ID = 1 и ID = 3,  на второй —  ID = 2, ID = 4  и т д
источник

AK

Alexey Kuzin in Tarantool
ID взяты для примера
источник