Size: a a a

Independent mail community

2019 September 29

D

Denis in Independent mail community
Anatolij Iz Podvala
когда с mysql и innodb место кончилось, он просто не стартовал.
почистили несколько десятков гигов логов, и всё стартануло и вроде все данные были на месте
Юзай tokudb или rocksdb Lz4//zstd/snappy
источник

D

Denis in Independent mail community
Или напрямую в кликхаус через хттп апи
источник

AI

Anatolij Iz Podvala in Independent mail community
я прогер, а не  сисадмин,моя работа чтобы на стандартных настройках базы данных запускался
это потом уже сисадмины  должны тюнить....

под логи - innodb - если это логи, которые раз в год читают, чтобы  какую то ошибку дебажить, то да, это не то.
если логи - действия клиентов в платформе для аналитики, то их часто читают,
источник

AI

Anatolij Iz Podvala in Independent mail community
Denis
Или напрямую в кликхаус через хттп апи
а вот это кстати интересно бы было на досуге поковырять
https://scr.vodolaz095.life/s/dXxU8475k.png
источник

AI

Anatolij Iz Podvala in Independent mail community
в админере уже запилили поддержку кликхауса
источник

D

Denis in Independent mail community
Anatolij Iz Podvala
я прогер, а не  сисадмин,моя работа чтобы на стандартных настройках базы данных запускался
это потом уже сисадмины  должны тюнить....

под логи - innodb - если это логи, которые раз в год читают, чтобы  какую то ошибку дебажить, то да, это не то.
если логи - действия клиентов в платформе для аналитики, то их часто читают,
В любом случае innodb под логи такое себе решение
источник

AI

Anatolij Iz Podvala in Independent mail community
ладно, вот тогда вопрос. Что в таком случае лучше всего гонять?

если у меня есть таблица логов в базе данных постгресс.
туда пишутся логи - действия пользователей, сообщения об ошибках и т.д.
на стейдже гдето 2-3 тысячи сообщений в день, на проде гдето 30 тыс сообщений

https://scr.vodolaz095.life/s/TcYY1isbb.png


индексы сделаны по всем запросам, которые часто делаются к базе

данные храняться 3 месяца, потом просто старые удаляются, и делается VACCUUM
источник

AI

Anatolij Iz Podvala in Independent mail community
данные хранятся так
https://scr.vodolaz095.life/s/FyFOHssZp.png
источник

AI

Anatolij Iz Podvala in Independent mail community
Denis
В любом случае innodb под логи такое себе решение
что для такого случая, описанного выше, лучше чем таблица в штатной базе данных postgresql?
источник

D

Denis in Independent mail community
Форк постгри
источник

I

Igor in Independent mail community
на 30к/день пофиг что гонять, на 300к я бы уже взял кликхаус
источник

y

yopp in Independent mail community
Anatolij Iz Podvala
ладно, вот тогда вопрос. Что в таком случае лучше всего гонять?

если у меня есть таблица логов в базе данных постгресс.
туда пишутся логи - действия пользователей, сообщения об ошибках и т.д.
на стейдже гдето 2-3 тысячи сообщений в день, на проде гдето 30 тыс сообщений

https://scr.vodolaz095.life/s/TcYY1isbb.png


индексы сделаны по всем запросам, которые часто делаются к базе

данные храняться 3 месяца, потом просто старые удаляются, и делается VACCUUM
т.е. гдет 9м записей, судя по всему запись ну 4кб в среднем, т.е. примерно 36гб. Поток записи оч небольшой, меньше мегабайта в минуту. Это в чём угодно можно хранить, пока на индексы и горячие данные хватает памяти.

Документное хранилище с компрессией будет удобнее: не надо будет дублировать поля из метаданных и по этим полям можно строить индексы.
источник

AI

Anatolij Iz Podvala in Independent mail community
> гдет 9м записей
это идёт номер записи, это 9 миллион с момента запуска стейджинг сервера этой весной. на самом деле там гдето 200-300 тысяч записей в таблице.

старые трём.

а какое документальное хранилище?
Монго? Elastic Search? RethinkDB? CouchDB?
источник

y

yopp in Independent mail community
я за монгу
источник

y

yopp in Independent mail community
но я её варю с первых дней её существования
источник

y

yopp in Independent mail community
например в монге ещё можно будет выкинуть два индекса: timestamp и timestamp, level, потому что они префиксы других индексов
источник

y

yopp in Independent mail community
в 4.2 тож завезли zstd, оно вероятно будет очень хорошо такое жать
источник

y

yopp in Independent mail community
впрочем тексты и снаппи неплохо хавает
источник

y

yopp in Independent mail community
за ~600 баксов в месяц это можно будет засунуть в atlas вообще и не тратить бабки на оперейшенс
источник

AI

Anatolij Iz Podvala in Independent mail community
да. возможно имеет смысл оставить только INDEX  timestamp, level, user

а потом переписать запросы, где level NOT NULL, USER NOT NULL,  чтобы только один индекс гонялся для извлечения данных...
на монго это врятли одобрят, потому что и так там целый зоопарк баз данных, а с постгрессом - у нас хотяюы есть человек, который админил базу данных в 250 миллионов записей, знает как репликацию с patroni или ещё чем то делать и т.д.
источник