powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спор про очередник
18 сообщений из 68, страница 3 из 3
Спор про очередник
    #39093378
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
Первый вариант с индексом будет прекрасно работать.
(На таблице с 20 млн записей поиск по индексу практически мгновенен)

Соответственно, возникает вопрос "зачем вам усложнение".
Если партиционирование понадобится - можно настраивать, но начать можно и без него.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093383
ProgaПредистория.
Пилю очередник отправки писем и смс.
Структура таблиц содержит весь набор полей необходимый для отправки, т.е. полностью независимый сервис.
Количество строк в таблице - миллионы.
Размерность некоторых полей nvarchar(4000).

Так вот вопрос.
Как лучше сделать?
1) Создать таблицу с битовым полем(флаг отправки) и при успешной отправки сообщения взводить 1.
Сервис для выборки необработанных сообщений пользуется этим полем, где флаг отправки -0.
За такую структуру выступаю я.

Либо.
Сделать таблицу и туда складывать всё то, что должно быть отправлено, а уже при успешной отправки перекидывать отработанные строки в другую таблицу, отправленных.
Тогда выборка необработанных будет не по миллионной таблице, а по маленькой.
Это выбор моего начальника.

Аргументы у нас с ним разные.
И мы решили поспорить, что лучше.
И решили свой спор вынести на SQL.ru
что-то мне кажется вы начальника недопоняли

1я таблица - таблица "писем", в которой лежит всё и в которой для упрощения жизни поставлена галочка отправлено/не отправлено
2я таблица - очередь, которая относительно интенсивно очищается и пополняется; реализованная вашими руками или через сервисброкер

очередь совершенно не обязана держать все те же поля что и таблица с письмами - она вполне может держать только ID. или все-таки все поля - сами смотрите. по основной таблице в плане выборок вполне может помочь упомянутый индекс, но только фильтрованный, т.к. с хорошей селективностью значение только одно. общая селективность колонки низкая - там всего 2 значения возможны.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093426
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилю очередник,
написал как есть.
а очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе.

забыл упомянуть
сервер.
Microsoft SQL Server 2008 (SP3) - 10.0.5828.0 (X64)
Nov 1 2012 22:54:10
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
...
Рейтинг: 0 / 0
Спор про очередник
    #39093444
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе.
пилите дальше, пилите. Использование индекса в качестве сущности прекрасный пример того, как простую задачу можно угробить различными заумными схемами и проверками как индексы работают.
как раз именно по теме
...
Рейтинг: 0 / 0
Спор про очередник
    #39093458
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmProgaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе.
пилите дальше, пилите. Использование индекса в качестве сущности прекрасный пример того, как простую задачу можно угробить различными заумными схемами и проверками как индексы работают.
как раз именно по теме

не обращал на ваши высказывания. но теперь всё же отпишу.
Не обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения, зачем то начали перепалку с софтварером, хотя я её вообще не ожидал от подкованных и грамотных пользователей этого форума, но это ваше право.
может аргументировано докажите свою точку зрения?
...
Рейтинг: 0 / 0
Спор про очередник
    #39093468
Proga,

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

решение более чем нуля задач под знаменем сих светлых мыслей вполне позволит вам и самостоятельно отсеять зерновые от плевковых.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093469
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaНе обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения
ты же говоришь не обнаружил, хотя все сообщения в этой теме просто рассказ о том, как делается у нас. Читать не пробовал для того, чтобы что-то обнаружить?

18361012

вообще-то такие системы много лет работают.
какие тебе еще нужны аргументы? можешь посмотреть как устроены почтовые программы для интереса.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093490
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилю очередникProga,

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

решение более чем нуля задач под знаменем сих светлых мыслей вполне позволит вам и самостоятельно отсеять зерновые от плевковых.
Ваша серость, выйдите из тени, тогда и пообщаемся.
тоже мне "шпициалист".
...
Рейтинг: 0 / 0
Спор про очередник
    #39093495
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmProgaНе обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения
ты же говоришь не обнаружил, хотя все сообщения в этой теме просто рассказ о том, как делается у нас. Читать не пробовал для того, чтобы что-то обнаружить?

18361012

вообще-то такие системы много лет работают.
какие тебе еще нужны аргументы? можешь посмотреть как устроены почтовые программы для интереса.
Я всё это читал, не сомневайтесь. А аргумент "у нас так работает" не совсем меня устраивает, хотя тоже имеет право на жизнь.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093504
ProgaВаша серость, выйдите из тени, тогда и пообщаемся.
тоже мне "шпициалист".
это уже к специалистам по проблемам взросления и вопросам самооценки
...
Рейтинг: 0 / 0
Спор про очередник
    #39093505
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,

изменение цвета ника с серого на синий у твоего собеседника тебе прибавит уверенности? Некто говорит по теме, правда с поддевками, аналогично тому как ты и мне сказал после всех сообщений, что "не увидел аргументов".
...
Рейтинг: 0 / 0
Спор про очередник
    #39093523
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaаргумент "у нас так работает" не совсем меня устраивает.
ну значит у меня нет аргументов, если пример того, как сделано у нас или в других почтовых программах для тебя не аргумент. Публиковать математические расчеты по этой банальности нет смысла. Чуть выше ролик оказывается про тебя. Пили дальше. Твой фаворит оказывается для тебя публиковал 18359689 Индексы не забудь.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093680
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе.


Вообще индексы не являются средствами стркутурированя реляционной МД, в отлиции от таблиц. Это все же какие-то физические аспекты СУБД, хранящих данные на вторичных носителях. Т.е. их цель сократить число чтений с дика. В СУБД "ин мемори" они вообще, возможно, могут отсутствовать. Поэтому как бы придавать им модельную роль - "очередь - это индекс", возможно, все еще преждевременно.
И кроме того, не исключается, что чтение из таблицы без индексов может быть быстрее, в некоторых случаях. Например, фулл скан в некоторых СУБД допускает считывание нескольких блоков за одну операцию чтения с диска, а с индексом всегда по одному. И тем более для некоторых запросов могут лучше подойти в плане производительности в общем случае, индексы отличные от "построен по полям, которые необходимы для отправки письма,".
...
Рейтинг: 0 / 0
Спор про очередник
    #39093697
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmя в теме все сообщения читаю.
Умница. Теперь попробуй ещё и понимать написанное. А то пока уступаешь даже товарищу сержанту из анекдота .

iscrafmНаше отличие в том, что ты программер и админ
У нас много отличий. Главное - ты хам с апломбом, живущий в мире собственных фантазий.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093726
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwareriscrafmя в теме все сообщения читаю.
Умница. Теперь попробуй ещё и понимать написанное. А то пока уступаешь даже товарищу сержанту из анекдота .

горе-специалист, ты бы не тупил так откровенно. Тебя же здесь типа "гуру" считают. И не нужно мне приписывать какие-то ярлыки, у тебя индекс сбоит.
...
Рейтинг: 0 / 0
Спор про очередник
    #39093744
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС пусть задумается даже над простейшим вопросом: что быстрее будет обработано INSERT или UPDATE в его ситуации. Это даже не загадка про курицу и яйцо. Но если не хочешь читать о том как делаются очереди, то какова цель создания подобной темы вообще? Потешить ЧСВ свое, дать возможность "поумничать" местным "гуру" типа softwarer на тему индексов, которые в этом вопросе совершенно не при чем?
...
Рейтинг: 0 / 0
Спор про очередник
    #39094569
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaПилю очередник,
написал как есть.
а очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе.

забыл упомянуть
сервер.
Microsoft SQL Server 2008 (SP3) - 10.0.5828.0 (X64)
Nov 1 2012 22:54:10
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Но не стоит забывать, при обновлении будет обновлятся и страница с записью и индекс. => Аналогично тому, как если бы была отделная таблица.

Я за разделение.
1. Таблица для сообжений с временем доставки
2. Таблица для статуса отправки. (Возможно нужно ещё время попытки доставки и кол-во попыток.)
И таки да: вставлять/обновлять/удалять в таблицу 2 и обновлять таблицу 1.

Поводы для разделения тоже важны: Таблица 2 - очередь доставки - отдельная сущность и может быть организована другими средствами. Может быть без лога, может быть просто представлением и может ещё куча всего.
...
Рейтинг: 0 / 0
Спор про очередник
    #39094577
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО очередь на отправку и лог уведомлений - суть разные вещи.

Как уже писалось выше, первая может быть реализована "другими средствами": RabbitMQ, MongoDB capped collection.
Также сегодня два канала уведомления (email, sms), а завтра попросят push на мобилу добавить, а послезавтра в Exchange кидать, или в Slack, или... И обо всём этом сохранять информацию.
А клиент предпочтёт какой-то один канал другим, или будет все использовать.
А менеджер захочет кастомизировать шаблон сообщения для каждого канала. А потом захочет статистику смотреть и агрегаты строить.
...
Рейтинг: 0 / 0
18 сообщений из 68, страница 3 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спор про очередник
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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