@dba_ru

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

Твой сарказм не уместен

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

Google
Ilia
08.05.2018
09:14:47
Вертика и кликхаус в основном для олтп
Ты OLTP и OLAP не попутал часом?

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
Никаких транзакций они не приемлят.

Ilia
08.05.2018
09:18:15
Колоночные, это хранилище и аналитика
Ты только что утверждал, что "ОНИ ДЛЯ OLTP" ?

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, потому что операции модификации/удаления данных достаточно дорогие. Нужно брать существующие словари данных и их модифицировать, возможно, уплотнять, и возможно переписывать существующие данные , даже те, что НЕ МЕНЯЛИСЬ (!!!) для оптимизации структуры хранения данных. Это никто не любит делать.

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
просто дорогие относительно чтения
Не относительно чтения, а относительно аналогичных операций в обычных СУБД, ориентированных на OLTP

ощущние, что у тебя вывода строятся на одной колоночной базе, да еще с плохим опытом
Ощущение такое, что ты говоришь о ДОБАВЛЕНИИ данных, а меня про МОДИФИКАЦИЮ И УДАЛЕНИЕ данных даже не слышишь.

Vladislav
08.05.2018
10:22:01
Не относительно чтения, а относительно аналогичных операций в обычных СУБД, ориентированных на OLTP
не надо рассказывать сказки, я лично апдейти милионы записей и это делалось на сраной машине гораздо шустрее, чем на реляционных с супер серверами от делл/айбиэм

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
что-то проскакивало, но какая-то дикая редкость

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
oracle же вроде, нет?
Там Postgres написано...

ну не скажи
Ну, скажу...

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

а выносить в функции к примеру что-то

или дробить как то

дело в том, что потом другому человеку придется это читать и там будет слишком много буковок

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

Vladislav
08.05.2018
13:04:44
я всегда стараюсь написать короче, по возможности не городить миллион текста в одной процедуре
sql - это не ЯП, от писанины полностью зависит производительность и логика

Ilia
08.05.2018
13:04:47
а выносить в функции к примеру что-то
Как ты часть запроса SELECT вынесешь в функцию ?

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

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

sql на столько гибкий язык, что одну и ту же задачу можно решить множеством способов

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

может не про код вообще говоря вопрос?))

Ilia
08.05.2018
13:07:15
дело в том, что потом другому человеку придется это читать и там будет слишком много буковок
Вот как раз беда многих кто приходит с императивных языков и начинает писать на SQL в том, что они ПЫТАЮТСЯ МИНИМИЗИРОВАТЬ ОБЪЁМ КОДА, и устранить дублирование, там, где это не то, что не нужно, а ПРОСТО НЕЛЬЗЯ ДЕЛАТЬ.

Валерия
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,

то есть каждый раз всплывал какой то костыль в строке

и каждый раз его заменяли

Страница 502 из 718