|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ОзверинIvan Durakдавайте на примере. было table TRANSACTION ( id, datetime, account_deb_id, account_cred_id. amount ) -------------------- Стало: + table BALANCE ( account_id, date, balance_amount ) которая заполняется на каждый день как сумма по всем транзакциям. Ну а теперь раскажате мне на сколько нормальных форм уменьшилась структура базы после такой агрегации????? нормализация показывает, как убирать тразитивные зависимости между атрибутами в отношении, но как с ними бороться(и надо ли?) между отношениями? не надо бороться, надо просто знать, что и зачем. Где денормализация, а где агрегация ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 10:55 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Ivan Durak, в зависимости от бизнеса, баланс - не такая уж и "абстракция" ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 11:00 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Ivan Durak, Агрегация , или агрегирование (лат. aggregatio «присоединение») - объединениt элементов в одну систему, в одно целое. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 11:00 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Композиция - более строгий вариант агрегирования, когда включаемый объект может существовать только как часть контейнера. Если контейнер будет уничтожен, то и включённый объект тоже будет уничтожен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 11:02 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, ну и че ты все это пишешь? тут почти все русские :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 11:21 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ViPRosДмитрий Мух, ну и че ты все это пишешь? тут почти все русские :)чтобы понимали то, что я имею в виду. и не представляли себе, что я про SUM пишу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 11:44 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Мы все же говорим о разработке, а не о лингвистике. И не будем утверждать, что корректное действие для метода Execute - уничтожить объект, поскольку execute - это казнить, а не выполнить. ) Ладно, отвлечемся от реляционок, где "агрегаты" имеют вполне определенный смысл. Например в C# ;) понимается так: Код: c# 1. 2. 3. 4.
с классическим функционалом перевода последовательности в объект. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 12:01 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ViPRosДык вед этот BALANCE 100пудово избыточные данные, при этом все нормализовано Вовсе не факт, кстати, что они избыточные. Например старые транзакции могут быть сархивированы/потеряться/быть стертыми шоб налоговая не догадалась. В этом случае баланс совсем не избыточен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 12:09 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
AddxViPRosДык вед этот BALANCE 100пудово избыточные данные, при этом все нормализовано Вовсе не факт, кстати, что они избыточные. Например старые транзакции могут быть сархивированы/потеряться/быть стертыми шоб налоговая не догадалась. В этом случае баланс совсем не избыточен. в прямом понимании смысла этого слова в рамках нормализации - это данные никак избыточными быть не могут. Но аномалии, связанные с такой структурой - могут возникать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 12:11 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Короче мы уже обсуждаем терминологию, а не проблематику. Не интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 15:02 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, skyANAРасскажите, если не сложно. Интересно понять, о чём Вы конкретно. Я собственно и пояснил) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 15:45 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
зачем нормализация? чтоп значение хранилось один раз например, вместо названия счета в каждой транзакции - айди счета, потому что, если название поменяется, то во всех проводках надо поменять. зачем денормализация? чтоп селекты быстрей работали, вместо джойнов и групировок на лету, просто выбираем из одной таблицы. т.е потребность в этих штуках чисто практическая а то, что вы тут из себя умников строите, споря о названиях, это нужно только вам, для самоутверждения наверно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 17:33 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
казинак, именно вместо сложных селектов с кучей джоинов и группировок на лету предлагается очевидное решение - во время записи писать все необходимые данные в денормализованные таблицы, называемые регистрами это прекрасно работает на практике: АИС ТПС НК "ЮКОС", потом "Роснефть"... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 20:39 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
молодцы, пацаны - все вокруг эникейщики, одни вы хапнули жизни ) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 23:37 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мухказинак, именно вместо сложных селектов с кучей джоинов и группировок на лету предлагается очевидное решение - во время записи писать все необходимые данные в денормализованные таблицы, называемые регистрами это прекрасно работает на практике: АИС ТПС НК "ЮКОС", потом "Роснефть"... работает, значит норм но не самое масштабируемое решение например, обновление суммы оборотов или остатка, при каждой операции.. все сессии одновременно будут пытаться проапдейтить одно поле, в одной записи. и будут висеть на блокировке ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 04:10 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
казинакДмитрий Мухказинак, именно вместо сложных селектов с кучей джоинов и группировок на лету предлагается очевидное решение - во время записи писать все необходимые данные в денормализованные таблицы, называемые регистрами это прекрасно работает на практике: АИС ТПС НК "ЮКОС", потом "Роснефть"... работает, значит нормНе просто работает, а отлично работает Стали бы про эту денормализацию статьи писать, если бы она не работала. казинакно не самое масштабируемое решение например, обновление суммы оборотов или остатка, при каждой операции.. все сессии одновременно будут пытаться проапдейтить одно поле, в одной записи. и будут висеть на блокировке На блокировке чего? Зачем и Вы выдумываете какие-то суммы? В нормализованном виде полные данные по кажой операции хранятся в N таблицах. Запрашиваются в нескольких местах. То есть факт свершился один раз, а используется потом много раз. С ростом системы растёт как количество данных, так и сложность запросов к ним, и мест, откуда эти запросы выполняются. Время отклика падает. И возникает простая идея: раз у нас много чтения и относительно мало записи, и чтение страдает, то давайте использовать денормализованные таблицы (регистры). Избавляемся как от сложных запросов на чтение, так и от множества блокировок. И всё начинает летать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:00 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
И это решение отлично работало как 15 лет назад, так и сейчас в рамках одной базы. А можно пойти ещё дальше: разнести чтение и запись по разным нодам калстера, или вообще по разным СУБД. Что повсеместно и делают. Но если это уже слишком для вас, то используйте проверенную денормализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:06 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, чудес не бывает, все зависит от частоты чтения-записи, и обычно лучшая денормализация - sql view ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 14:44 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ViPRosДмитрий Мух, чудес не бывает, все зависит от частоты чтения-записи я про это и пишу: Дмитрий МухИ возникает простая идея: раз у нас много чтения и относительно мало записи, и чтение страдает , то давайте использовать денормализованные таблицы (регистры). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 15:19 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ViPRosобычно лучшая денормализация - sql view И с каких это пор sql view стало намеренным приведением структуры базы данных в состояние, не соответствующее критериям нормализации? Я конечно понимаю, о чём ты, но давай не будем мешать мух с котлетами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 15:26 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий Мухэто прекрасно работает на практике: АИС ТПС НК "ЮКОС", потом "Роснефть" можно всё-таки узнать какие-то характеристики этой системы? не знаю, возможно многие на 1С делали и посложнее системы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 17:44 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
SergSuperДмитрий Мухэто прекрасно работает на практике: АИС ТПС НК "ЮКОС", потом "Роснефть" можно всё-таки узнать какие-то характеристики этой системы? не знаю, возможно многие на 1С делали и посложнее системы На 1C? Отгрузка нефти? ЮКОС являлась одной из крупнейших компаний России по объёмам реализации. В период с 1995 по 2005 год неизменно входила в число 10 крупнейших компаний России по версии журнала «Эксперт» (лучший результат - 4 место в 2001—2003 годах). Роснефть в 2013 году стала крупнейшей в мире компанией-производителем нефти. Как Вам такие характеристики? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 18:14 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Хотя что-то сделали и на 1C: "1C:Предприятие 8": автоматизация отгрузки нефтепродуктов на нефтеперерабатывающем заводе . Вот только у ЮКОСА, а в дальнейшем у Роснефти не один, а сотня НПЗ по всей России. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 18:20 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
Дмитрий МухИ возникает простая идея: раз у нас много чтения и относительно мало записи, и чтение страдает, то давайте использовать денормализованные таблицы (регистры).матвью и репликации оч давно известны очередной велосипед (гениальная идея) может и не хуже, но точно не лучше Дмитрий МухИзбавляемся как от сложных запросов на чтение, так и от множества блокировок. И всё начинает летать. сложные запросы и блокировки - это параллельные понятия блокировки порождаются изменениями а не чтениями а у вас Дмитрий Мух... относительно мало записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 20:02 |
|
Причины ненависти к языку SQL?
|
|||
---|---|---|---|
#18+
ViPRosДмитрий Мух, чудес не бывает, все зависит от частоты чтения-записи, и обычно лучшая денормализация - sql view да ну на... запрос с кучей джойнов, который одновременно несколько сотен юзеров запускает - это лучшая денормализация? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 20:08 |
|
|
start [/forum/topic.php?fid=35&msg=39730365&tid=1552206]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 377ms |
0 / 0 |