|
|
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Не сочтите за рекламу, просто делюсь своим опытом. Версионность справочников и реестров авторВ статье приведен новый легкий алгоритм для организации версионности справочников. Возможно, это все было придумано до меня, но в открытых источниках мне не удалось найти описание этого подхода. Описанный алгоритм используется нами на реальном проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 16:46 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
> Не сочтите за рекламу, просто делюсь своим опытом. Просто треп - 11740. Это и есть реальная оценка вашего опыта. Юноша, курите буквари, не нужно писать "статей". > Описанный алгоритм используется нами на реальном проекте. Мне жаль вашего заказчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 21:04 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
guest_20040621, Большое спасибо за ваш объективный анализ статьи, я обязательно поработаю над недостатками алгоритмов, на которые вы указали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 23:33 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Не хватает описание технической задачи, которая была решена, или технического ТЗ, которое Вы должны были выдать себе перед началом работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 03:06 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
К чему срач? Нормальное, добротное решение, пусть и не уникальное. И требования в статье есть. Проблемы могут возникнуть разве что при появлении пары справочников, которые ссылаются на третий. Если нет и не будет требования читать справочники по версиям индивидуально, я бы взял общий счетчик версий по всем справочникам. В оракле - sequence, в других СУБД тоже должно быть что-то похожее, на крайний случай можно сделать отдельную табличку с одной строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:28 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
А зачем это? Обычно изменяются лишь некоторые параметры, причем они зависят зачастую не только от справочника Шаблон: Периодические сведения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 09:15 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
scf, если есть несколько связанных таблиц с данными, то для них всех ведется одна таблица с номерами версий, это позволяет корректно менять один или несколько справочников при переходе на новую версию. Если помечаете запись как удаленную в одной из версий, необходимо проверять кто на нее ссылался, база за вас сама этого не сделает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 10:08 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
NafА зачем это? Обычно изменяются лишь некоторые параметры, причем они зависят зачастую не только от справочника Шаблон: Периодические сведения В нашем случае изменялись сразу несколько справочников, причем за несколько транзакций: - ночью из внешней системы подкачивается справочник на 10 тысяч записей (XML), он автоматом сравнивается с имеющимися данными, если есть изменения - обновляется одна из таблиц в базе; - утром оператор жмет кнопку "обновить тарифы", и в другом справочнике из миллиона значений меняется пара тысяч записей; - в течении недели тетечка проверяет, все ли верно обновилось, иногда вносят правки ручками в отдельные записи; - потом это все безобразие одобряется третьим лицом и справочники можно распространять. И на распространение ни в коем случае не должны попадать промежуточные правки. В этих условиях Периодические сведения (оно же Log trigger) не подходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 10:24 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
> Большое спасибо Большое пожалуйста. Если бы вы хотя бы иногда читали форум "проектирование", а не "треп", то знали бы о справочниках чуть больше и не строили бы кривых велосипедов. > за ваш объективный анализ Мой объективный анализ вы вряд ли сможете оплатить. Хотите получить ответ на конкретный вопрос - пожалуйста. Больше читайте, вам рано писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 10:38 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
ZashibisВ этих условиях Периодические сведения (оно же Log trigger) не подходят. Почему не подходят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 10:43 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Naf, потому что "Log trigger" в качестве "новой версии" использует текущее время (на момент редактирования). Это хорошо для хранения истории изменений в одной таблице. Но когда изменения вносятся сразу в несколько таблиц, то хочется чтобы версия "тикнула" один раз для всех изменений. Если у вас все таблицы изменяются за одну транзакцию, то "Log trigger" все еще подходит, можно на начала транзакции взять текущее время и везде его проставить. У нас транзакций было много, значит это время надо где-то отдельно запоминать. А еще хотелось чтобы изменения для клиентов вступали в силу не сразу, а через неделю, значит прописывать надо не время редактирования, а особое время действия. Вот и появилась таблица с номерами версий и метаданными для каждой версии (статусы, каменты и т.д.), для удобства сами номера версий заменили на целые числа вместо времени. Это очень похоже на шаблон "Log trigger", но уже не совсем он. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:08 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Ну почему на текущий момент? ТоварТип ценыЦенаВалюта цены Начало периода Конец периодаБашмаки Опт 10 USD 01.01.2014 31.10.2014Башмаки Опт 400 RUR 01.11.2014 31.12.2014Башмаки Опт 500 RUR 01.01.2015 01.01.3001 Валюта Курс Начало периода Конец периодаRUR 1.0000 01.01.1998 01.01.3001USD 40.5637 28.10.2014 28.10.2014USD 44.6370 29.10.2014 29.10.2014USD 45.0000 30.10.2014 30.10.2014USD 45.5000 31.10.2014 01.01.3001 установив цены заранее, мы можем дождаться момента когда они начнут действовать и пересчитать по курсу валюты на тот момент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 16:20 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Naf, а теперь представьте, что надо эти справочники выгрузить наружу, заблаговременно, диффом. Что спросит клиент? "Дай мне справочник на 01.01.2015"? А спрашивать ли ему после этого "справочник за 01.12.2014"? Ведь вы можете добавить такую строчку в будущем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 16:45 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
http://ru.it-dc.org/articles В статье приведен новый легкий алгоритм для организации версионности справочников, он похож на Log trigger, но более универсален и надежен. Возможно, это все было придумано до меня , но в открытых источниках мне не удалось найти описание этого подхода. Прочитать перед изобретением велосипедов. http://ru.it-dc.org/projects/USDS USDS - Universal serialized data structures - универсальные сериализованные структуры данных, бинарный аналог XML. Как и текстовые форматы (XML, JSON), USDS предназначен для хранения и передачи сложных структур данных, но представляет собой более компактную форму и ориентирован на машинную обработку.Вообще, есть ASN . Экономите на спичках + изобретаете формат БД - open-source пример . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 10:59 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
пгуые123, давайте конкретнее, где описан подходящий алгоритм среди тех 500+ страниц? А может быть нигде? USDS мы здесь обсуждать не будем, не профильная ветка форму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:42 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Zashibisпгуые123, давайте конкретнее, где описан подходящий алгоритм среди тех 500+ страниц? А может быть нигде? USDS мы здесь обсуждать не будем, не профильная ветка форму. это у вас должно быть написано - существующие подходы -чем они не устраивают -отличительные черты вашего подхода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:33 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Wizandr, в статье это все как раз описано :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 21:32 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Спасибо за хорошую статью. Всё очень предельно ясно описано! На данный момент решаем проблему, связанную с хранением версии не только справочников, но также с хранением версии их метаструктуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2016, 09:31 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
Ксения Разработчик, мне кажется, это гиблое дело. Лучше при смене структуры мигрировать все данные на новую схему. Даже старые версии справочников спокойно мигрируются. Можно попытаться хранить справочники в не реляционной БД, например: одна версия справочника - один JSON-документ в MongoDB. Но это еще более гиблое дело :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 10:08 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
ZashibisНе сочтите за рекламу, просто делюсь своим опытом. Версионность справочников и реестров авторВ статье приведен новый легкий алгоритм для организации версионности справочников. Возможно, это все было придумано до меня, но в открытых источниках мне не удалось найти описание этого подхода. Описанный алгоритм используется нами на реальном проекте. это не статья, это какая-то писанина. правильно сказали, Надо начинать с постановки задачи. Найди в сети например статью Тенцера о EAV, погляди, Надо писать статьи. И я подозреваю, что тот опыт, что есть у автора этой статьи, передать никому невозможно, поскольку 0) тут нет изобретательского хода, и 1) вне контекста конкретной системы опыт неприменим. я могу ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 11:18 |
|
||
|
Версионность справочников и реестров
|
|||
|---|---|---|---|
|
#18+
MasterZivZashibisНе сочтите за рекламу, просто делюсь своим опытом. Версионность справочников и реестров пропущено... Описанный алгоритм используется нами на реальном проекте. это не статья, это какая-то писанина. правильно сказали, Надо начинать с постановки задачи. Найди в сети например статью Тенцера о EAV, погляди, Надо писать статьи. И я подозреваю, что тот опыт, что есть у автора этой статьи, передать никому невозможно, поскольку 0) тут нет изобретательского хода, и 1) вне контекста конкретной системы опыт неприменим. я могу ошибаться. не, прочитал далее, вроде ход все же есть... почитаю всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 11:26 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38790060&tid=1540290]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 489ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...