|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
m7m Не надо после обработки грохать "сырые" данные, и проблем этих не будет А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка m7m Не надо после обработки грохать "сырые" данные, и проблем этих не будет А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести. Не грохать "сырые" данные (это не призыв к такому порядку, это просто мое мнение) зы. Хоть солить, хоть мариновать, главное чтобы не протухли. Ибо разборки почему оно два месяца назад стало так, к сожалению не редкость. Хранение в базе "первички" облегчает жизнь на порядок ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
m7m Хранение в базе "первички" облегчает жизнь на порядок Это да, тут я тремя руками за. Скажем, когда через год после поступления к оптовику некоей единицы товара приходит рекламация от наконец-то купившего её в филиале, полгода назад притащивщего её к себе с комплектационного склада, конечного потребителя, надо определиться, не только с характером дефекта, а и кому платить потребителю бабки. И для этого нужно точно сказать когда и по какому документу конкретно эта транспортировочно-упаковочная единица была отгружена потребителю получена филиалом от какого перевозчика поступила на комплектационный склад в какой транспортной партии каким перевозчиком и по какой ГТД на него поступила когда эта ТП была отгружена поставщиком номер производственного заказа, в рамках которого была изготовлена Но это другая тема. Это не временные таблицы. Ты спроси у МП как он в наши таблицы запихивает документы от кетайцев, через раз приходящие в разных XML-форматах и разными хероглифами об одном и том же. Лично я даже не пытался об этом узнать, патамушта это будет тот самый стресс, который отправит меня в дурку. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad YuRock А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal Симонов Денис ъъъъъ, ну ё моё. Я же говорил. Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать. Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы... У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции. Однако, стоит заметить, что компоненты компонентам рознь. Вот донесли бы своевременно до Арефьева, про то, как оно должно быть по привычному местечковому фэншую, - глядишь, сейчас и в современном BDE FireDAC'е оно бы так же и закрывалось.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ hvlad пропущено... Это маразм. ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Но если она не указана - то тогда зависит от конфига, как будет работать. Вот я и предложил обратную константу добавить, чтоб тоже можно было независимо от конфига точно знать, работает consistency или нет. Но, оказалось, что при коннекте можно конфиг указывать. В принципе, хватит, хоть и компоненты подпиливать придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ hvlad пропущено... Это маразм. ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка ъъъъъ пропущено... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось. С 1.5 на 2.1 перешел вообще без изменений. С 1.0 на 1.5 - и то сложнее было. Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:16 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка YuRock Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз. Да у меня тоже тогда не монстр был, гигов 10-20. По структуре - картинка 5 летней давности, а при той попытке процентов на 30 проще было. Так получилось, что у меня первый личный проект на SQL, начатый в 95-м году, оказался и последним :) Начал-то с моделирования САУ, в 77-м - Алгол, Алмир, Аналитик. Потом пришла эра PDP/11 и я погрузился в мир между байтами и проводами - драйвера там всякой экзотики АСУТП, станки ЧПУ, сети на УПО, потом докатился до собственной оси для роботов и саморасширяемого транслятора для неё типа Fort-a. Но тут одновременно настали эпоха IBM и революционные в СССР времена и всё это пошло лесом. Сначала тоже упёрся в системное программирование, но, после пары весьма удачных финансово хакерских поделок, по деньгам в этой области стало кисловато, примкнул к группе творцов АСУП, которое стоит на СУБД. Сначала инструментальщиком для Btrieve, интерфейс ещё для BP там разработал, которому пользовавшийся тогда всеми поголовно Turbo Vision в подмётки не годился, потом подучился у лидеров, реально грамотные в системотехнике ребята были, и проекты заворачивали масштабные, и по бюджету и по коммерции. После разлада, разумеется, из-за бабы, взялся вот за это Свезло. Полгода позволили только модель строить и базу проектировать. Ну, напорол, конечно, немало с Btriеve замашками-то. Но выжило. Благодаря ребятам, и пахали как черти и на амбразуры бросались и плечи подставляли, один бы не вытянул, даже нервные срывы случались. Ну и рос над собой, конечно. Так что к моменту этой попытки у нас были уже полностью рабочие управление закупками с аналитикой по концепции управляемого накопителя и АВС, транспортировкой-таможней, складом, ценообразованием, резервами филиалов и взаимодействием с оными. В общем, непростая уже была структурка, утяжелённая моими ошибками проектирования. Часть которых по невежеству произошла, часть из-за ограничений по железу. Количественно-то не сказать чтобы ах какая, но по связям... Вот и всё, а кому рассказать, как в психушке примерить рубашку, два стакана и дверь нараспашку... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 00:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Как знакомо, :). Старый плюшевый мишка Roles (2) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 00:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Как знакомо, :). Старый плюшевый мишка Roles (2) Отож Мне SQL-стандарт по правам вообще кажется каким-то недоношенным. Теоретеги кабинетные, высасывающие идеи из пальца, нехорошая женщина. Когда я пытался этим добром пользоваться на IB4... Тогда я ж первым делом налепил дефолтов Д/Н на признаковые поля. А при первой же попытке b/r оказалось, что оно их ресторить не умеет, не понимал рестор ничего кроме истинно человеческих англосаксонских буков в дефолтах. Чем перепахивать всё уже нажитое непосильным трудом, сделали свой датапамп в новую базу вместо b/r. Так на раздачу прав после него, скриптом, разумеется, времени уходило едва ли не больше чем на собственно памп. А гемору... Новая таблица - и пошло-поехало, ползи по всем юзерам и раздавай. Уже не помню, не было тогда ролей, были ли с ними какие-то проблемы или у нас до них умишко не дошёл. Последнее маловероятно, так как Нетварь я уже админил не один год. Так вот там, в смысле в Нетвари, были группы прав доступа, юзверь мог входить в любое количество групп и при входе права по всем его группам суммировались. Вот это я и считаю оптимальным вариантом. Создаёшь группы с правами на то-сё, знаешь, что при выполнении некоторых функций группы А триггера заденут данные группы Бе, о которых пользователь группы А ни сном ни духом и в приложении никоим образом добраться до них не может - ну так и включи его в группу Бе тоже. Нет, тут либо всё, либо ничего, входишь с одной группой. В итоге в сильно связанной системе остаётся одна роль, патамушта с каждым пользователем вообще затрахаешься, да и дополнительный уровень защиты от студента всё-таки, а права разруливаются интерфейсом. Откуда там вторая - уже не помню, а Эксперта запускать лень. Скорей всего для репликатора в ораклячью подсистему, ему мало чего надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 01:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Как знакомо, :). Старый плюшевый мишка Roles (2) У меня по имени роль проверяется во многих местах ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 05:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Я с 2.1 на 3 перешел вообще без проблем. Изменил 5-7 update, которые стали по-новому (по стандарту) работать, и всё. С 1.5 на 2.1 перешел вообще без изменений. С 1.0 на 1.5 - и то сложнее было. Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". А у меня всё с точностью до наоборот. Самым трудным был переход 1.5 -> 2.5. Основная причина куча UDF функций, которые надо было заменить на встроенные. Ну и пару кривых триггеров. 2.5 -> 3.0 вообще без проблем, 3.0 -> 4.0 тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 09:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции? Когда они предпочтительнее, чем RR? Если считать, что "длиныых" RC RO транзакций следует избегать так же, как и RW ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 09:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции? RO тр-ция не форсирует запись header page, что положительно влияет на скорость её старта. Например поток мелких RO тр-ций выполнится заметно быстрее, чем поток тех же действий в RW тр-циях. Особенно при FW=ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 10:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, RC RO предпочтительнее, чем RR RO? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:16 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, RC\SNAPSHOT нужно выбирать исходя из логики приложения. Это единственный критерий. PS Нет никакого RR, не путай себя и людей ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, так я и спрашиваю - в чем теперь "бизнес-смысл" именно RC транзакций? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Например, "долгая" генерация отчета. Раньше делал в контексте снапшот-транзакции. Теперь, (если требуется единственный запрос), вроде как достаточно RC RO. Чему отдать предпочтение? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:39 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, Read Committed Read Consitency - согласованность на уровне запроса/курсора Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат) RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъ, Read Committed Read Consitency - согласованность на уровне запроса/курсора Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат) RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции И что? Мы ж теперь длинные RC RO транзакции не держим, вчера договорились, или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Например, "долгая" генерация отчета. Раньше делал в контексте снапшот-транзакции. Теперь, (если требуется единственный запрос), вроде как достаточно RC RO. Чему отдать предпочтение? Но - никогда не говори никогда - завтра в этой тр-ции появится ещё один запрос и возникнут вопросы. Так что мой ответ 22406708 - не изменился :) И, кстати, Денис рядом не зря упомянул обработку конфликтов (обновления) - в RC-RC их можно обработать без рестарта тр-ции и чаще всего движок это сделает сам. А вот в SNAPSHOT придётся делать роллбек, старт новой тр-ции и выполнять запрос заново. Это не про отчёты (обычно), но тоже следует иметь в виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:05 |
|
|
start [/forum/topic.php?fid=40&msg=40118364&tid=1559839]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 152ms |
0 / 0 |