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

Добрый день! Хочу спросить мнения сообщества, как лучше поступить в

моей ситуации, ибо одна голова хорошо, а несколько лучше.
Есть кластер с Кликом, база, таблицы по паре-тройке сотен гигабайт. Моя задача - реализация выборок из этих таблиц.
Но таблицы с определенной периодичностью обновляются, причем не мной, а вливаются извне сторонним лицом с некоторой непредсказуемой периодичностью. Можно считать, что таблицы каждый раз уничтожаются, создаются и полностью заполняются данными. Разумеется работать с такой таблицей - удовольствие не очень, посему предполагается, пускай извне данные вливаются в некие буферные таблицы, а я уже буду копировать данные из них внутри Клика в их рабочие копии тогда, когда нужно и можно. Пока видится три варианта
- select... insert (имхо треш)
- attach.. detach partitions от буферной к основной таблице
- rename table / удалим основную таблицу, переименуем буферную таблицу в основную, создадим буферную...
какой способ наиболее разумно попробовать? или может есть какой то другая... модель поведения в таких условиях?

8 ответов

13 просмотров

> Можно считать, что таблицы каждый раз уничтожаются, создаются и полностью заполняются данными. это действительно происходит? если нет, то почему так можно считать? как влияет инсерт на извлечение выборок?

Alex- Автор вопроса
Tagir Gumerov
> Можно считать, что таблицы каждый раз уничтожают...

производится TRUNCATE TABLE и полная перезаливка. Как влияет... Пока нет такого опыта (извлечения данных во время перезаливки), но думаю, что увижу нечто неудобоваримое.

Tagir Gumerov
> Можно считать, что таблицы каждый раз уничтожают...

В штатном режиме (INSERT.. + SELECT.. + хватает ресурсов) - никак

Alex
производится TRUNCATE TABLE и полная перезаливка. ...

ну используйте rename table это будет гарантировать, что в любой момент времени у вас полная таблица - либо несколько устаревшая пока идет инсерт в буферную (почему вы ее так называете?), либо просто актуальная

Alex- Автор вопроса
A
В штатном режиме (INSERT.. + SELECT.. + хватает р...

Не понимаю Вас. TRUNCATE TABLE + заливка данных пачками в течении нескольких часов - что будет видеть во время заливки пользователь? ((( то есть rename table - оптимально?

вам надо создать базу Engine=Atomic, таблицы создавать в ней и свапать EXCHANGE TABLES atom.X1 AND atom.X2; rename не используйте, он непрозрачен для пользователей

Denny [Altinity]
вам надо создать базу Engine=Atomic, таблицы созда...

rename не прозрачен только тем, что при наличии идущих селектов будет ждать? или что-то ещё есть?

【D】【J】
rename не прозрачен только тем, что при наличии ид...

они увидят несуществующую таблицу при select

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта