powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / способы записи в таблицу историю
20 сообщений из 220, страница 9 из 9
способы записи в таблицу историю
    #38780560
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилАлексей КА если логика в хранимых процедурах, то триггера удобны.
то они не нужны
+1 Снова буря в стакане
Если весь CRUD идет через хранимки, то триггеры, ограничители и прочие дефаулты нафиг не нужны. Только путаницу создают.
Взялся писать на хранимках - пиши все в хранимках! Если будет что-то глючить - будешь точно знать что глюк в конкретной хранимке, и не будешь рыскать по всему скулю в поисках где что отваливается.
Если приложение инсертит/апдейтит прямо в таблицы, то здесь два варианта, или оставляем всю историю на совести разраба приложения или вешаем триггер. ИМХО вариант с триггером нужно рассмативать в последнюю очередь, если разработку БД и приложения ведут разные спецы, одни не умеют писать хранимки, а вторые явные апологеты ORM
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780569
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winsky!нужно инкрементально апдейтить олап куб, т.е. скармливать ему на входе только дельту изменений. кто как решает подобную задачу?
Ммм... можно подробней? Нафига олапу инкрементальные данные? Продажи или есть или нет, если вчера продали а сегодня оказалось что нет, то это хня какая-то а не аналитика... Или Вы о чем?
Я так ваще всегда делаю отдельную базу(базы), сливаю туда всю нужную инфу и затем начинаю крутить кубы. Правда пока с небольшими объемами данных работаю.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780574
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIИМХО вариант с триггером нужно рассмативать в последнюю очередь, если разработку БД и приложения ведут разные спецы, одни не умеют писать хранимки, а вторые явные апологеты ORM
Или еще вариант - одну таблицу инсертят/апдейтят 100500 хранимок, при этом выполняется один и тот же кусок логики, дублировать код в хранимках не есть хорошо, тогда можно повесить триггер. Но на практике такое редко встретишь.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780637
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306Алексей Кпропущено...
NULL в OldValue будет вместо 'удалено', если вопрос в этом.

А должен быть в NewValue !!!Мы обсуждаем эту реализацию.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780639
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306Алексей Кпропущено...
NULL в OldValue будет вместо 'удалено', если вопрос в этом.

А должен быть в NewValue !!!Стоит вопрос, хранить OldValue в информации о текущей транзакции, или брать из предыдущей.
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int)

vs
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int, OldValue int)
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780661
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСтоит вопрос, хранить OldValue в информации о текущей транзакции, или брать из предыдущей.
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int)

vs
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int, OldValue int)



Ну хорошо, давай отталкиваться от того, что никакие чистильщики ничего не удаляют. При достижении определенного объема, история "отсоединяется" и заводится новая. Отсоединение трактуй как хочешь - новая таблица DocumentsHistory_yyyyMMdd, своп на диск в виде файла, отправка данных почтовыми голубями.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38780721
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КСтоит вопрос, хранить OldValue в информации о текущей транзакции, или брать из предыдущей.
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int)

vs
Код: sql
1.
create table Log (ID int primary key, DocID int, LogDate datetime, Value int, OldValue int)



Ну хорошо, давай отталкиваться от того, что никакие чистильщики ничего не удаляют. При достижении определенного объема, история "отсоединяется" и заводится новая. Отсоединение трактуй как хочешь - новая таблица DocumentsHistory_yyyyMMdd, своп на диск в виде файла, отправка данных почтовыми голубями.Ну назови очистку отсоединением, это ничего не меняет. Всегда будет последняя транзакция, не имеющая предыдущей. :-)

Я не пойму, о чём мы спорим, места на диске мало что ли? :-)
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781310
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу назови очистку отсоединением, это ничего не меняет. Всегда будет последняя транзакция, не имеющая предыдущей. :-)
Предыдущую всегда можно определить через отсоединенную. Мы ж ничего не удаляем.

Алексей КЯ не пойму, о чём мы спорим, места на диске мало что ли? :-)
Не в этом проблема. Проблема в дублировании полей. Избыточность поди.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781392
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМы ж ничего не удаляем.Ну а мы удаляем. Что, мы теперь не люди что ли? :-)
МСУАлексей КЯ не пойму, о чём мы спорим, места на диске мало что ли? :-)
Не в этом проблема. Проблема в дублировании полей. Избыточность поди.Таблица неизменяемая, избыточность ей сильно не повредит. Зато проблем меньше: не надо париться по поводу удаления, одним join-ом меньше.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781448
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУМы ж ничего не удаляем.Ну а мы удаляем. Что, мы теперь не люди что ли? :-)
Меня удивляют "люди", которые преднамеренно удаляют записи, а потом жалуются, что информация-то, оказывается, похерилась!

Алексей КТаблица неизменяемая, избыточность ей сильно не повредит. Зато проблем меньше: не надо париться по поводу удаления, одним join-ом меньше.
Тут палка о двух концах :) Простота хранения и извлечения vs избыточность и прочие бла-бла из 3НФ. Против аргументированной денормализации никогда ничего не имел против, так что я не запрещаю тебе логировать Value и OldValue. Но и ты имей совесть и не наезжай на иерархию дат, это же рабочий способ!
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781538
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНо и ты имей совесть и не наезжай на иерархию дат, это же рабочий способ! Ну я же сразу сказал, что у меня сейчас работает такое решение, и оно мне не нравится. Это истина, проверенная практикой!
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781563
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIwinsky!нужно инкрементально апдейтить олап куб, т.е. скармливать ему на входе только дельту изменений. кто как решает подобную задачу?
Ммм... можно подробней? Нафига олапу инкрементальные данные? Продажи или есть или нет, если вчера продали а сегодня оказалось что нет, то это хня какая-то а не аналитика... Или Вы о чем?
Я так ваще всегда делаю отдельную базу(базы), сливаю туда всю нужную инфу и затем начинаю крутить кубы. Правда пока с небольшими объемами данных работаю.
не вдаваясь в подробности - хня или не хня :). но: если у вас сотни миллионов записей в таблице фактов, то процессинг такого куба в любом случае может занять неопределенно долгое время. поэтому выхода здесь может быть два: разбить куб на партишины, либо инкрементальный апдейт куба.
а "нафига олапу инкрементеальные данные" - вы спросите ребят из Microsoft, которые механизм инкрементального апдейта сделали в кубах
ЗЫ: это все страшный оффтоп. если кому интересно пожевать эту тему - может создать соотв. ветку в проф. форуме. к сожалению, у меня есть желание, но нет достаточного количества времени говорить на эту тему :(
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781671
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MOLAP вообще в принципе не имеет большого практического смысла без наличия инкрементального апдейта!!!
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781677
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakMOLAP вообще в принципе не имеет большого практического смысла без наличия инкрементального апдейта!!!
спорное утверждение. почему все так любят крайности?
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781684
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winsky!Ivan DurakMOLAP вообще в принципе не имеет большого практического смысла без наличия инкрементального апдейта!!!
спорное утверждение. почему все так любят крайности?
практика. ROLAP наступает на всех фронтах. Всем нужен онлайн!! С MPP базами агрегирование на лету уже не так страшно. С другого фланга наступают in-memory кубы.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781706
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakwinsky!пропущено...

спорное утверждение. почему все так любят крайности?
практика. ROLAP наступает на всех фронтах. Всем нужен онлайн!! С MPP базами агрегирование на лету уже не так страшно. С другого фланга наступают in-memory кубы.
MPP - непомните, что это?
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781731
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.mpp.org Marijuana Policy Project
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781749
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winsky!Ivan Durakпропущено...

практика. ROLAP наступает на всех фронтах. Всем нужен онлайн!! С MPP базами агрегирование на лету уже не так страшно. С другого фланга наступают in-memory кубы.
MPP - непомните, что это?
https://ru.wikipedia.org/wiki/Массово-параллельная_архитектура
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781752
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там все Terradata, Netezza, Vertica, Greenlum и прочие Hana.
...
Рейтинг: 0 / 0
способы записи в таблицу историю
    #38781921
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakwinsky!пропущено...

MPP - непомните, что это?
https://ru.wikipedia.org/wiki/Массово-параллельная_архитектура
ясно.
ну, то, то решение, о котором я говорю, начало реализовываться еще лет 5-6 назад...
...
Рейтинг: 0 / 0
20 сообщений из 220, страница 9 из 9
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / способы записи в таблицу историю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]