
Vladislav
08.05.2018
09:13:46
Вертика и кликхаус в основном для олтп
Твой сарказм не уместен

Ilia
08.05.2018
09:13:59
Дело в том, что колоночные СУБД не очень любят изменения данных, а добавления переваривают хорошо в виде огромных пакетов данных для загрузки.

Google

Vladislav
08.05.2018
09:14:46

Ilia
08.05.2018
09:14:47

Vladislav
08.05.2018
09:14:49
Причем удаление не физическое

Ilia
08.05.2018
09:15:09
Страно....

Vladislav
08.05.2018
09:15:11
Кафка стриминг и вперед

Ilia
08.05.2018
09:15:35
Так вот я тебе скажу — эти СУБД НЕ ДЛЯ OLTP.
Кафка стриминг — это уже не OLTP.

Vladislav
08.05.2018
09:16:14
Почему же, те же транзакции

Ilia
08.05.2018
09:16:46
Вшивий магазинчик писать на columnstore — не покатит. Мороки будет больше, чем эффекта.

Vladislav
08.05.2018
09:17:10
А колоночные бд не для аппликейшен
Поэтому не надо путать

Ilia
08.05.2018
09:17:25
Все колоночные СУБД работают в режимах "ЗАГРУЗКА ДАННЫХ — ПОДГОТОВКА — РАБОТА С ДАННЫМИ (ВЫБОРКИ)".

Google

Vladislav
08.05.2018
09:17:39
Колоночные, это хранилище и аналитика

Ilia
08.05.2018
09:17:44
Никаких транзакций они не приемлят.

Vladislav
08.05.2018
09:17:48

Ilia
08.05.2018
09:18:15

Vladislav
08.05.2018
09:18:28
Я утверждал, что они могут
И могут хорошо

Ilia
08.05.2018
09:18:49
Они могут, да... Но ХРЕЕЕНООООВОООО!

Vladislav
08.05.2018
09:18:54
Тот же кликхаус спокойно собирает поток

Ilia
08.05.2018
09:19:14
Блин, ЭТО НЕ OLTP!
Если у тебя свои понятия, не называй их общеупотребимыми терминами, придумай свои...

Vladislav
08.05.2018
09:20:35
О да

Al
08.05.2018
09:48:47
Для OLTP-то ДАААААА РУЛЯТ НЕМЕРЯННО!
Мы же уже давно выяснили что ты разбираешся в старой классике бд. Но от слова совсем ничего не понимаешь в данных. С данными у тебя дальше классических схем из книжек дело не идет. И думаю такое будет пока ты не займешься плотно математикой и анализом

Ilia
08.05.2018
10:14:33
Ты неправ. Я в NoSQL не разбираюсь только
Я ещё раз говорю, columnstore не катит для OLTP, потому что операции модификации/удаления данных достаточно дорогие.
Нужно брать существующие словари данных и их модифицировать, возможно, уплотнять, и возможно переписывать существующие данные
, даже те, что НЕ МЕНЯЛИСЬ (!!!) для оптимизации структуры хранения данных.
Это никто не любит делать.

Vladislav
08.05.2018
10:19:14
просто дорогие относительно чтения
если в классике чтение запись это грубые 50/50, то в колоночных это где-то 80/20

Ilia
08.05.2018
10:19:49
И, главное — вся эта оптимизация может быть коту под хвотс следующей порцией добавления данных — НАДО ВСЁ ОБРАТНО СНОВА ДОБАВЛЯТЬ!

Vladislav
08.05.2018
10:20:42
ощущние, что у тебя вывода строятся на одной колоночной базе, да еще с плохим опытом

Google

Vladislav
08.05.2018
10:20:51
да да, я про КХ намекаю

Ilia
08.05.2018
10:20:54

Vladislav
08.05.2018
10:22:01

Ilia
08.05.2018
10:22:43
ОК, ты — ГЕРОЙ, маладец!

Artem
08.05.2018
10:24:59

Ilia
08.05.2018
10:25:41
Что значит нереляционная? Columnstore — вполне себе реляционные.

Vladislav
08.05.2018
10:25:44
колоночные бд в большиснтве своем реляционные
не надо путать метод хранения данных и сами данные

Ilia
08.05.2018
10:26:17
Я кстати не знаю ни одной нереляционной Columnstore СУБД

Vladislav
08.05.2018
10:26:55
что-то проскакивало, но какая-то дикая редкость

Artem
08.05.2018
10:27:38

Vladislav
08.05.2018
10:28:11
нее, у нас тут сравнение классические реляционки против колоночных

Ilia
08.05.2018
10:28:18
А, ну наверное ElasticSearch/Solr такие же принципы супернормализации используют, как и Columnstore.
Но как бы сам термин Columnstore подразумевает, что есть колонки, а значит, есть и таблицы ?

Artem
08.05.2018
10:31:00
я понял суть спора) недостаточно вверх прочитал просто)

Ilia
08.05.2018
10:34:37
Суть в том, что предлагали говнозизайн базы магазина с таблицами из 1000+ колонок залечить, испльзуя columnstore.
Почему такая мысль пришла кому-то в голову — неясно.

Vitaliy
08.05.2018
11:55:08
вот и ответ

Google

Vladislav
08.05.2018
12:04:07
?

Ilia
08.05.2018
12:52:50
Ну, это нестандартный SQL, а СУБД названа не была...
и что они там проверяют?

Vladislav
08.05.2018
12:54:58
почему не стандартный?

Ilia
08.05.2018
12:55:23
Ну так вот, не все СУБД оконные функции поддерживают...

Валерия
08.05.2018
12:58:57
oracle же вроде, нет?
а про как можно меньше строк
стандартный вопрос, на амазоне при собеседовании постоянно просят минимизировать кол-во кода

Ilia
08.05.2018
13:01:17
Количество кода на SQL минимизировать — вообще бредятина.
От количества кода ничего не зависит

Admin
ERROR: S client not available

Валерия
08.05.2018
13:01:35
ну не скажи

Ilia
08.05.2018
13:01:53

Валерия
08.05.2018
13:03:13
я всегда стараюсь написать короче, по возможности не городить миллион текста в одной процедуре
а выносить в функции к примеру что-то
или дробить как то
дело в том, что потом другому человеку придется это читать
и там будет слишком много буковок

Ilia
08.05.2018
13:03:58
Ключевое слов "ПО ВОЗМОЖНОСТИ".
Я тоже стараюсь не писать лишнее, если это не нужно

Vladislav
08.05.2018
13:04:44

Ilia
08.05.2018
13:04:47

Google

Ilia
08.05.2018
13:05:08
Расскажи, я поржу...

Vladislav
08.05.2018
13:05:23
поэтому когда спрашивают, как можно минимизировать sql, можно отвечать "так же, как и головной мозг"
sql на столько гибкий язык, что одну и ту же задачу можно решить множеством способов

Ilia
08.05.2018
13:06:01
Поэтому я и написал — идиотизм.

Валерия
08.05.2018
13:06:56
возможно в контексте данного задания необходимо было сделать вывод одной таблицей, при этом организовав периоды
может не про код вообще говоря вопрос?))

Ilia
08.05.2018
13:07:15

Валерия
08.05.2018
13:07:58
но ведь придется читать. согласись. ты не навсегда будешь разработчиком одной и той же БД
на вкус и цвет товарищей нет)

Ilia
08.05.2018
13:08:16
И что? Я прочитаю запросто

Vladislav
08.05.2018
13:08:21
если человек не умеет читать 500 строчные листинги, значит это не его

Валерия
08.05.2018
13:09:04
ну а чистота кода? ка кбез нее?
вот я открываю функцию был тут человек которых это сделал
ща
я приведу пример

Vladislav
08.05.2018
13:09:28
или хотите сказать, что вот я написал программу через ООП, а следующий разраб умеет только в фукнциональное программирование и теперь это моя проблема?

Ilia
08.05.2018
13:09:41
Опять-таки, начинающие часто смотрят на здоровый запрос и ОФИГЕВАЮТ, а он очень простой, в нём просто 30 полей в списке вывода...


Валерия
08.05.2018
13:09:50
set [version] = CASE WHEN (CASE WHEN len(REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '))<30 THEN REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' ') ELSE
SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),charindex('/',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),0)+1,charindex(' ',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '))-charindex('/',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),0)-1) END) like 'ksrv%' THEN '-' ELSE
CASE WHEN len(REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '))<30 THEN REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' ') ELSE
SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),charindex('/',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),0)+1,charindex(' ',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '))-charindex('/',REPLACE(REPLACE(REPLACE(REPLACE(i.caption,CHAR(13),' '),CHAR(9),' '),CHAR(10),' '),CHAR(160),' '),0)-1) END END,
то есть каждый раз всплывал какой то костыль в строке
и каждый раз его заменяли