Какие они все таки скоты безмозглые...

Впечатления, размышления.

Moderator: Sw_Lem

zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Какие они все таки скоты безмозглые...

Post by zVlad »

geek7 wrote: 11 Apr 2019 18:02
zVlad wrote: 11 Apr 2019 17:11
geek7 wrote: 11 Apr 2019 16:44 .....
Примеры мои, и вообще рассуждение велось в свете процессов сливание данных из многих источников, а не вообще разбиения данных на куски почему либо. Сам факт необходимости сливания уже говорит о желание/необходимости что-то делать с совокупными данными. так не проще ли эти данные совокупить изначально? Что в этом плохого?
ну в последнем примере процесса сливания данных из многих источников я при всём желании увидеть не смог. совокупить данные конечно мжно было, но совокупить никто не просил, а совсем наоборот клиент боялся такого совокупления (например в виде детища от него и ошибки программиста забывшего добавить "where clientId=?")
Вообще то говоря и разбивать на физически разные базы данных тоже никто не просил. Просили чтобы доступ других к данным был невозможен. Это можно было реализовать разными схемами, но тогда все равно был бы набор таблиц для каждой лаборатории. А "where clientId = "Client1" (2,3,4,5,...) можно забить во view, которое представляло бы таблицы клиенту с той же схемой, но специфическим именем - Tab1Client1, ..... уверен это не единственное решение, есть, более кудрявые. Но те что приходят мне в голову требуют возможностей RACF - z/OS security facilty. Не уверен что те возможности есть на других платформах.
sp123
Уже с Приветом
Posts: 1963
Joined: 24 Feb 2001 10:01
Location: Челябинск -> Everett, WA

Re: Какие они все таки скоты безмозглые...

Post by sp123 »

zVlad wrote:
geek7 wrote: 11 Apr 2019 16:44 .....
Примеры мои, и вообще рассуждение велось в свете процессов сливание данных из многих источников, а не вообще разбиения данных на куски почему либо. Сам факт необходимости сливания уже говорит о желание/необходимости что-то делать с совокупными данными. так не проще ли эти данные совокупить изначально? Что в этом плохого?
Мы так делали на прошлой работе. Все в одном месте. Хоть физически и кластер из Postgres нодов, но логически одна база. Входной поток данных обрабатывался довольно сложным способом, и агрегированные таблицы обновлялись на лету. Никакого отдельного Data Warehouse, никаких ETL. Пользователи видели всю свою аналитику в режиме реального времени. Круто. Просто праздник, кроме шуток.

Но были нюансы. То, что видел клиент, это был фактически один репорт. Да, сделанный по науке, в терминах классического data warehousing, но один. И даже при этом менять что-то в схеме и коде было непростым занятием.

Второй нюанс - это все-таки была маленькая компания. Стартап. Сейчас они слились с другим стартапом. У тех ребят все в амазоновском облаке и другой подход. На этом все, единая база кончилась, народ занялся интеграцией в виде обмена данными туда-сюда. Со временем, возможно, объединят оба приложения, но вряд ли.

И это еще маленькая компания с очень умными людьми. Про большие конторы и говорить не о чем, дай бог warehouse будет один, а не десяток под разные цели.



Sent from my iPhone using Tapatalk Pro
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Какие они все таки скоты безмозглые...

Post by zVlad »

sp123 wrote: 11 Apr 2019 18:49
zVlad wrote:
geek7 wrote: 11 Apr 2019 16:44 .....
Примеры мои, и вообще рассуждение велось в свете процессов сливание данных из многих источников, а не вообще разбиения данных на куски почему либо. Сам факт необходимости сливания уже говорит о желание/необходимости что-то делать с совокупными данными. так не проще ли эти данные совокупить изначально? Что в этом плохого?
Мы так делали на прошлой работе. Все в одном месте. Хоть физически и кластер из Postgres нодов, но логически одна база. Входной поток данных обрабатывался довольно сложным способом, и агрегированные таблицы обновлялись на лету. Никакого отдельного Data Warehouse, никаких ETL. Пользователи видели всю свою аналитику в режиме реального времени. Круто. Просто праздник, кроме шуток.

Но были нюансы. То, что видел клиент, это был фактически один репорт. Да, сделанный по науке, в терминах классического data warehousing, но один. И даже при этом менять что-то в схеме и коде было непростым занятием.

Второй нюанс - это все-таки была маленькая компания. Стартап. Сейчас они слились с другим стартапом. У тех ребят все в амазоновском облаке и другой подход. На этом все, единая база кончилась, народ занялся интеграцией в виде обмена данными туда-сюда. Со временем, возможно, объединят оба приложения, но вряд ли.

И это еще маленькая компания с очень умными людьми. Про большие конторы и говорить не о чем, дай бог warehouse будет один, а не десяток под разные цели.



Sent from my iPhone using Tapatalk Pro
Спасибо. Интересная история, поучительная. Строго говоря можно было сохранить начальное состояние и при слиянии.
deev_a_v
Уже с Приветом
Posts: 4660
Joined: 07 Apr 2018 15:16

Re: Какие они все таки скоты безмозглые...

Post by deev_a_v »

Вот в СССР все было правильно - одна база на всех
При Госплане
User avatar
geek7
Уже с Приветом
Posts: 20318
Joined: 01 Dec 2003 23:16
Location: Russia->USA

Re: Какие они все таки скоты безмозглые...

Post by geek7 »

zVlad wrote: 11 Apr 2019 18:45
geek7 wrote: 11 Apr 2019 18:02
zVlad wrote: 11 Apr 2019 17:11
geek7 wrote: 11 Apr 2019 16:44 .....
Примеры мои, и вообще рассуждение велось в свете процессов сливание данных из многих источников, а не вообще разбиения данных на куски почему либо. Сам факт необходимости сливания уже говорит о желание/необходимости что-то делать с совокупными данными. так не проще ли эти данные совокупить изначально? Что в этом плохого?
ну в последнем примере процесса сливания данных из многих источников я при всём желании увидеть не смог. совокупить данные конечно мжно было, но совокупить никто не просил, а совсем наоборот клиент боялся такого совокупления (например в виде детища от него и ошибки программиста забывшего добавить "where clientId=?")
Вообще то говоря и разбивать на физически разные базы данных тоже никто не просил. Просили чтобы доступ других к данным был невозможен. Это можно было реализовать разными схемами, но тогда все равно был бы набор таблиц для каждой лаборатории.
Чукча ,видимо, не читатель - я как раз писал про "использовать разные schema" одним моим постом выше
viewtopic.php?f=4&t=222128&start=200#p7130736
а также объяснил почему databases могли быть предпочтительней schema ... кстати на всякий - не уверен что понимается Вами под "физически разные базы" это могут быть не только разные железки/VM но и чисто логические наборы системных ресурсов у одной работающей программы-СУБД
последнее я и имел в виду когда писал
databases может вполне иметь смысл - отдельные databases кроме небольшого оверхеда (на системные таблицы итп) позволят отдельно их менеджить/мониторить/итп
например иметь разный maintenance schedule/даунтайм и так далее
Говори что думаешь, думай что говоришь!
Маразм крепчал и скрепы гнулись
User avatar
geek7
Уже с Приветом
Posts: 20318
Joined: 01 Dec 2003 23:16
Location: Russia->USA

Re: Какие они все таки скоты безмозглые...

Post by geek7 »

zVlad wrote: 11 Apr 2019 18:45 А "where clientId = "Client1" (2,3,4,5,...) можно забить во view, которое представляло бы таблицы клиенту с той же схемой, но специфическим именем - Tab1Client1, ..... уверен это не единственное решение, есть, более кудрявые. Но те что приходят мне в голову требуют возможностей RACF - z/OS security facilty. Не уверен что те возможности есть на других платформах.
да извратится и на других платформах можно по-чёрному, например на Oracle через Dynamic Predicates
https://docs.oracle.com/cd/B19306_01/ne ... m#i1007217
даже специальный маркетинговый солюшен забацали для рекламы как раз такого юскейса - Virtual Private Database
What Is Oracle Virtual Private Database?

Oracle Virtual Private Database (VPD) enables you to create security policies to control database access at the row and column level. Essentially, Oracle Virtual Private Database adds a dynamic WHERE clause to a SQL statement that is issued against the table, view, or synonym to which an Oracle Virtual Private Database security policy was applied.
...
The Oracle Virtual Private Database policy dynamically appends the statement with a WHERE clause. For example:
SELECT * FROM OE.ORDERS
WHERE SALES_REP_ID = 159;


In this example, the user can only view orders by Sales Representative 159.

If you want to filter the user based on the session information of that user, such as the ID of the user, you can create the WHERE clause to use an application context. For example:
SELECT * FROM OE.ORDERS
WHERE SALES_REP_ID = SYS_CONTEXT('USERENV','SESSION_USER');
Говори что думаешь, думай что говоришь!
Маразм крепчал и скрепы гнулись
deev_a_v
Уже с Приветом
Posts: 4660
Joined: 07 Apr 2018 15:16

Re: Какие они все таки скоты безмозглые...

Post by deev_a_v »

А кто сказал, что эти базы имеют одинаковые схемы?
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Какие они все таки скоты безмозглые...

Post by zVlad »

geek7 wrote: 11 Apr 2019 21:17 ... я как раз писал про "использовать разные schema" одним моим постом выше
....
Я как раз и упоминул про схемы что Вы это упоминали. Мне казалось что Вы поймете это. Сам я не в восторге от использования схем в данной постановке.
Я Ваши посты читаю внимательно. Давайте будем снисходительней. От Вас бы не убыло если бы Вы обошлись без оскорблений и не бились за Ваши авторские права так рьяно.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Какие они все таки скоты безмозглые...

Post by zVlad »

Про скотов давно не говорили.
Который день занимаюсь выкупом машины из лиза. Казалось бы заплати остаточную стоимость и оплати какие никакие переводы прав собственности на себя и катайся на радость людям. Ан нет, дилярня хочет 500 монет. За что? Да просто так, повод есть почему бы не воспользоваться. Лизинговая компания, которой собственно я должен заплатить остаточную стоимость прядет ушами и косится на дилярню. Спрашиваю их, что за 500 монет? Не знаем, ее должно быть, поговорим (в смысле follow up сделаем). Подождал два дня - воз и ныне там.
Хотят также safety certificate. Зачем, спрашиваю, мне он если я 4 года езжу на этой машине, обслуживаю ее и знаю ее состояние. Нет, говорят, надо, МТО (это наш канадский дорожный бог) требует. Звоню в МТО. Что за фигня. Отвечают, надо при смене овнершира. А почему, спрашиваю, когда супруг супругу передает не надо? Это, говорят, единственное исключения. Так я ж, говорю, как бы сам себе передаю машину, я ж ей, родимой, владею уже 4 года. Не доходит наш уральский юмор до канадского МТО-шника.
Что еще интересно, так это то что обычно продавец печется о том сертификате, впарить хочет покупателю свое дерьмо поскорее. А я кто в этой истории? Покупатель получается. Круто. Сам себе за свои кровные впариваю авто платя каким-то дядям и тетям.
Я вычислил их секрет. Пытался сегодня дилярьню вывести на чистую воду. Они упираются, но ничего внятного сказать по поводу 500 монет и другого не хотят.
И меня есть еще неделя.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Какие они все таки скоты безмозглые...

Post by zVlad »

Для балансировки обязан рассказать как вчера был в нашем поселковом комитете, рассматривающим заявки на новое строительство. Мой дружбан купил старый дом чтобы построить на участке новый дом, гораздо больше.
Соседи взъелись и пошли против. Не вдаваясь в детали скажу что комитет явно был на стороне дружбана, хотя супротивников в зале соседаний было большенство. Просили дружбана немного сократиться и отложили решение.
Не, в самом деле, на некоторых уровнях канадцы весьма даже прилично выступают. Самый нижний и верхний уровни хромают. В отличии от России, где некий "средний" (только в понимании России) что-то из себя представляет. А нижний и высший (исключая его) полное дерьмо. Но дело улучшения качества отстающих уровней растет и процветает, глядишь лет через сто догоним и перегоним.

Return to “О жизни”