powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Архитектура: отложенные (schedule) данные
6 сообщений из 6, страница 1 из 1
Архитектура: отложенные (schedule) данные
    #39581228
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по архитектуре.

Нужно : организовать структуру данных, чтобы можно было откладывать (шедулировать) некоторые данные. То есть чтобы до определенного момента времени таких данных не было в выборке.

Критерии
1. Не должно быть огромной вложенности. То есть средняя расширяемость.
2. Само собой быстрота.

Дано (реальные данные)
1. Таблица с данными (Data). У нее есть ключи на тип данных (DataType), статус данных (DataState - обработано/необработано/...), оператора (Operator), клиента (Clients). Оператор относится к определенному отделу (Department). Отделы связаны между собой через фирмы (Firms).
Соответственно оператор обрабатывает данные и может видеть как по своему отделу, так и по фирме все данные (то есть других отделов).
Отсюда можно сделать некоторый вывод о том, как примерно может быть нелегко уже базе. Конечно это лишь 1% от всего что есть в БД.

Мои идеи
1. Минимальная расширяемость - два поля в таблице с данными - DelayDate, DelayState
2. Средняя расширяемость - доп таблица DelayedData в которой ключ на DataId, с временем и статусом. И далее два варианта:
а) Удалять из таблицы по какому то джобу или иному действию: where DelayDate < getdate()
б) Не удалять, но менять статус.
Соответственно типы запросов от этого поменяются с exists(...) на (... where DelayState = ....)
3. Пока не придумал.

На текущем этапе задачи не понятно, будет ли дальнейшее развитие.

Хочу послушать ваши предложения и услышать критику на ваши варианты. Спасибо.
...
Рейтинг: 0 / 0
Архитектура: отложенные (schedule) данные
    #39581238
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

для всех выборок оператора не пускать к таблице, а только ко вьюхе, в которой уже прописан нужный фильтр
...
Рейтинг: 0 / 0
Архитектура: отложенные (schedule) данные
    #39581243
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавить в таблицу поле visible.
создать вью с visible = 1
отобрать права на таблицу,
выдать только на вью.
когда надо, запускать процедуру, обновляющую поле visible.

допустим, каждые 3 часа надо делать все имеющиеся данные видимыми:
делаете джоб, который каждые 3 часа апдэйтит set visible = 1.

а запросы какие были, такие и останутся.
но будут уже не к таблице, а ко вью
...
Рейтинг: 0 / 0
Архитектура: отложенные (schedule) данные
    #39581244
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополню, чтобы не было про вьюхи - вся логика в процедурах. Селектов напрямую нет.
Планы кешируются соответственно.
...
Рейтинг: 0 / 0
Архитектура: отложенные (schedule) данные
    #39581246
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за идею про вью спасибо.

Про visible - тоже. Но раз в три часа или в час или в полчаса... это специфично, потому что а если отложено будет на 10 минут...

Это я рассуждаю. С чего то надо начать.
...
Рейтинг: 0 / 0
Архитектура: отложенные (schedule) данные
    #39581293
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

имхо, вариант 2а
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Архитектура: отложенные (schedule) данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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