Size: a a a

Чат конференции HighLoad++

2020 March 17

А

Антон in Чат конференции HighLoad++
Nikita Tikhomirov
Всем привет, не подскажите?
Решил реализовывать микросервисы на Python
Нужно, что бы они общались между собой задачами, то есть создание, остановка, возобновление, проверка статуса и тдтп
Есть вопрос, знает ли может быть кто нибудь фреймворк, который это реализовывает?
Может еще покапать в сторону airflow, metaflow, luigi
источник
2020 March 18

RD

Rashid Djam in Чат конференции HighLoad++
Всем привет, ребята дайте пожл совет. Есть таблица ~400гб, которая заполняется с большой скоростью, хотел сделать шардирование по выражению (id mod countServers) и соответственно выборку по этому же выражению, но тут возникла проблема - в условии выборки(select) может не участвовать id, а значит придется искать данные по всем шардам, а это не есть хорошо, как быть в такой ситуации?
источник

N

Nikolay in Чат конференции HighLoad++
в какой базе таблица?
источник

RD

Rashid Djam in Чат конференции HighLoad++
Nikolay
в какой базе таблица?
база одна пока центральная
источник

AT

Al T in Чат конференции HighLoad++
Mysql знаю, PostgreSQL знаю, про Центральную базу не слышал пока.. Рассказывайте :)
источник

RD

Rashid Djam in Чат конференции HighLoad++
Al T
Mysql знаю, PostgreSQL знаю, про Центральную базу не слышал пока.. Рассказывайте :)
не понял сначала вопрос простите, голова мыслит шардами))) база mysql)
источник

YZ

Yarlan Zey in Чат конференции HighLoad++
меняйте select чтобы в нем всегда был ключ
источник

AT

Al T in Чат конференции HighLoad++
был где-то доклад про шардирование... а у вас там OLTP нагрузка в основном? С шардированием вы попадете на темную сторону рано или поздно, с одной стороны конечно хорошо что в один шард ходит, а с другой - начинается hot partitions проблема и там уже грусть боль и слезы
источник

KM

Kyrylo Melnychuk in Чат конференции HighLoad++
Rashid Djam
Всем привет, ребята дайте пожл совет. Есть таблица ~400гб, которая заполняется с большой скоростью, хотел сделать шардирование по выражению (id mod countServers) и соответственно выборку по этому же выражению, но тут возникла проблема - в условии выборки(select) может не участвовать id, а значит придется искать данные по всем шардам, а это не есть хорошо, как быть в такой ситуации?
Посмотрите в сторону Vitess, если у вас MySQL
источник

AT

Al T in Чат конференции HighLoad++
я всегда старался по максимуму оттянуть шардирование... юзал например TokuDB engine от перконы он сжимает неплохо...
источник

AT

Al T in Чат конференции HighLoad++
может там можно какие-то старые данные переносить в другую таблицу? типа hot-cold storage
источник

RD

Rashid Djam in Чат конференции HighLoad++
Al T
может там можно какие-то старые данные переносить в другую таблицу? типа hot-cold storage
в крайнем думаю так и придется сделать, но пока смотрим в сторону распределения данных, либо репликация, но делать реплики таблицы в 400гб тоже как то не айс..
источник

AE

Alexey Er in Чат конференции HighLoad++
А что не так с запросами без ключа? Да, будут не так эффективны, но смогут  выполняться параллельно на всех шардах.
источник

А

Антон in Чат конференции HighLoad++
Кстати, реторический вопрос. Если реляционная база разрастается так, что приходится делать шардирование, не лучше ли перейти на так называемые BASE? Я понимаю, что если проект уже большой, то поменять технологию фактически нереально. Но если мы только начинаем и заранее предполагается, что база будет большой, и ее придется маштабировать, что бы вы выбрали, ACID или BASE? Вопрос риторический) просто любопытен чужой опыт)
источник

N

Nikolay in Чат конференции HighLoad++
Антон
Кстати, реторический вопрос. Если реляционная база разрастается так, что приходится делать шардирование, не лучше ли перейти на так называемые BASE? Я понимаю, что если проект уже большой, то поменять технологию фактически нереально. Но если мы только начинаем и заранее предполагается, что база будет большой, и ее придется маштабировать, что бы вы выбрали, ACID или BASE? Вопрос риторический) просто любопытен чужой опыт)
А какую конкретно базу вы предлагаете
источник

AE

Alexey Er in Чат конференции HighLoad++
Антон
Кстати, реторический вопрос. Если реляционная база разрастается так, что приходится делать шардирование, не лучше ли перейти на так называемые BASE? Я понимаю, что если проект уже большой, то поменять технологию фактически нереально. Но если мы только начинаем и заранее предполагается, что база будет большой, и ее придется маштабировать, что бы вы выбрали, ACID или BASE? Вопрос риторический) просто любопытен чужой опыт)
ACID - это гарантии, а BASE - химера.

Если гарантии не нужны, а огромные объёмы нужны, то нереляционные субд удобнее.
источник

N

Nikolay in Чат конференции HighLoad++
тут не соглашусь. есть же кликхаус. он очень удобен
источник

VY

Victor Yegorov in Чат конференции HighLoad++
а он поддерживает транзакции?
источник

N

Nikolay in Чат конференции HighLoad++
нет. хотят сделать, но пока их нет от слова совсем, но это аналитическая база.
источник
2020 March 19

AT

Al T in Чат конференции HighLoad++
Alexey Er
ACID - это гарантии, а BASE - химера.

Если гарантии не нужны, а огромные объёмы нужны, то нереляционные субд удобнее.
ACID это гарантии на одном (мастер) сервере...
источник