powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
25 сообщений из 371, страница 7 из 15
ANN Выпущен Firebird 4!
    #40118263
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m

Не надо после обработки грохать "сырые" данные, и проблем этих не будет


А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118273
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
m7m

Не надо после обработки грохать "сырые" данные, и проблем этих не будет


А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести.


Не грохать "сырые" данные (это не призыв к такому порядку, это просто мое мнение)

зы.
Хоть солить, хоть мариновать, главное чтобы не протухли.
Ибо разборки почему оно два месяца назад стало так, к сожалению не редкость.
Хранение в базе "первички" облегчает жизнь на порядок
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118279
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m

Хранение в базе "первички" облегчает жизнь на порядок


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

отгружена потребителю
получена филиалом от какого перевозчика
поступила на комплектационный склад
в какой транспортной партии каким перевозчиком и по какой ГТД на него поступила
когда эта ТП была отгружена поставщиком
номер производственного заказа, в рамках которого была изготовлена

Но это другая тема. Это не временные таблицы. Ты спроси у МП как он в наши таблицы запихивает документы от кетайцев, через раз приходящие в разных XML-форматах и разными хероглифами об одном и том же. Лично я даже не пытался об этом узнать, патамушта это будет тот самый стресс, который отправит меня в дурку.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118281
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
YuRock
А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118284
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Симонов Денис
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...

У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции.

Однако, стоит заметить, что компоненты компонентам рознь.
Вот донесли бы своевременно до Арефьева, про то, как оно должно быть по привычному местечковому фэншую, -
глядишь, сейчас и в современном BDE FireDAC'е оно бы так же и закрывалось.))
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118285
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
hvlad
пропущено...
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.
В том и дело, что она есть.
Но если она не указана - то тогда зависит от конфига, как будет работать.
Вот я и предложил обратную константу добавить, чтоб тоже можно было независимо от конфига точно знать, работает consistency или нет.
Но, оказалось, что при коннекте можно конфиг указывать. В принципе, хватит, хоть и компоненты подпиливать придется.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118286
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
hvlad
пропущено...
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.


Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118287
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
ъъъъъ
пропущено...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.


Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось.
Я с 2.1 на 3 перешел вообще без проблем. Изменил 5-7 update, которые стали по-новому (по стандарту) работать, и всё.
С 1.5 на 2.1 перешел вообще без изменений.
С 1.0 на 1.5 - и то сложнее было.
Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118289
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock

Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".


Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118293
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
YuRock

Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".


Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни.
Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118301
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз.


Да у меня тоже тогда не монстр был, гигов 10-20. По структуре - картинка 5 летней давности, а при той попытке процентов на 30 проще было. Так получилось, что у меня первый личный проект на SQL, начатый в 95-м году, оказался и последним :) Начал-то с моделирования САУ, в 77-м - Алгол, Алмир, Аналитик. Потом пришла эра PDP/11 и я погрузился в мир между байтами и проводами - драйвера там всякой экзотики АСУТП, станки ЧПУ, сети на УПО, потом докатился до собственной оси для роботов и саморасширяемого транслятора для неё типа Fort-a. Но тут одновременно настали эпоха IBM и революционные в СССР времена и всё это пошло лесом. Сначала тоже упёрся в системное программирование, но, после пары весьма удачных финансово хакерских поделок, по деньгам в этой области стало кисловато, примкнул к группе творцов АСУП, которое стоит на СУБД. Сначала инструментальщиком для Btrieve, интерфейс ещё для BP там разработал, которому пользовавшийся тогда всеми поголовно Turbo Vision в подмётки не годился, потом подучился у лидеров, реально грамотные в системотехнике ребята были, и проекты заворачивали масштабные, и по бюджету и по коммерции. После разлада, разумеется, из-за бабы, взялся вот за это Свезло. Полгода позволили только модель строить и базу проектировать. Ну, напорол, конечно, немало с Btriеve замашками-то. Но выжило. Благодаря ребятам, и пахали как черти и на амбразуры бросались и плечи подставляли, один бы не вытянул, даже нервные срывы случались. Ну и рос над собой, конечно. Так что к моменту этой попытки у нас были уже полностью рабочие управление закупками с аналитикой по концепции управляемого накопителя и АВС, транспортировкой-таможней, складом, ценообразованием, резервами филиалов и взаимодействием с оными. В общем, непростая уже была структурка, утяжелённая моими ошибками проектирования. Часть которых по невежеству произошла, часть из-за ограничений по железу. Количественно-то не сказать чтобы ах какая, но по связям... Вот и всё, а кому рассказать, как в психушке примерить рубашку, два стакана и дверь нараспашку...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118304
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как знакомо, :).
Старый плюшевый мишка Roles (2)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118310
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Как знакомо, :).
Старый плюшевый мишка Roles (2)


Отож

Мне SQL-стандарт по правам вообще кажется каким-то недоношенным. Теоретеги кабинетные, высасывающие идеи из пальца, нехорошая женщина. Когда я пытался этим добром пользоваться на IB4... Тогда я ж первым делом налепил дефолтов Д/Н на признаковые поля. А при первой же попытке b/r оказалось, что оно их ресторить не умеет, не понимал рестор ничего кроме истинно человеческих англосаксонских буков в дефолтах. Чем перепахивать всё уже нажитое непосильным трудом, сделали свой датапамп в новую базу вместо b/r. Так на раздачу прав после него, скриптом, разумеется, времени уходило едва ли не больше чем на собственно памп. А гемору... Новая таблица - и пошло-поехало, ползи по всем юзерам и раздавай. Уже не помню, не было тогда ролей, были ли с ними какие-то проблемы или у нас до них умишко не дошёл. Последнее маловероятно, так как Нетварь я уже админил не один год. Так вот там, в смысле в Нетвари, были группы прав доступа, юзверь мог входить в любое количество групп и при входе права по всем его группам суммировались. Вот это я и считаю оптимальным вариантом. Создаёшь группы с правами на то-сё, знаешь, что при выполнении некоторых функций группы А триггера заденут данные группы Бе, о которых пользователь группы А ни сном ни духом и в приложении никоим образом добраться до них не может - ну так и включи его в группу Бе тоже. Нет, тут либо всё, либо ничего, входишь с одной группой. В итоге в сильно связанной системе остаётся одна роль, патамушта с каждым пользователем вообще затрахаешься, да и дополнительный уровень защиты от студента всё-таки, а права разруливаются интерфейсом. Откуда там вторая - уже не помню, а Эксперта запускать лень. Скорей всего для репликатора в ораклячью подсистему, ему мало чего надо.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118317
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Как знакомо, :).
Старый плюшевый мишка Roles (2)
Ничего плохого не вижу)))
У меня по имени роль проверяется во многих местах
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118326
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 тоже.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118327
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции?
Когда они предпочтительнее, чем RR? Если считать, что "длиныых" RC RO транзакций следует избегать так же, как и RW
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118336
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции?
Всегда, когда тр-ция не собирается ничего менять.
RO тр-ция не форсирует запись header page, что положительно влияет на скорость её старта.
Например поток мелких RO тр-ций выполнится заметно быстрее, чем поток тех же действий в RW тр-циях.
Особенно при FW=ON.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118342
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

RC RO предпочтительнее, чем RR RO?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118345
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

RC\SNAPSHOT нужно выбирать исходя из логики приложения. Это единственный критерий.

PS Нет никакого RR, не путай себя и людей
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118347
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

так я и спрашиваю - в чем теперь "бизнес-смысл" именно RC транзакций?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118349
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, "долгая" генерация отчета.
Раньше делал в контексте снапшот-транзакции.
Теперь, (если требуется единственный запрос), вроде как достаточно RC RO.
Чему отдать предпочтение?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118352
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

Read Committed Read Consitency - согласованность на уровне запроса/курсора
Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат)

RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118355
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъ,

Read Committed Read Consitency - согласованность на уровне запроса/курсора
Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат)

RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции

И что? Мы ж теперь длинные RC RO транзакции не держим, вчера договорились, или нет?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118360
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции

Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118364
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Например, "долгая" генерация отчета.
Раньше делал в контексте снапшот-транзакции.
Теперь, (если требуется единственный запрос), вроде как достаточно RC RO.
Чему отдать предпочтение?
Если в тр-ции один запрос - то "бизнес" разницы нет. Разве что время жизни снимка в RC-RC будет чуть меньше, а это лучше для конкуренции.
Но - никогда не говори никогда - завтра в этой тр-ции появится ещё один запрос и возникнут вопросы.
Так что мой ответ 22406708 - не изменился :)

И, кстати, Денис рядом не зря упомянул обработку конфликтов (обновления) - в RC-RC их можно обработать без рестарта тр-ции и чаще всего движок это сделает сам.
А вот в SNAPSHOT придётся делать роллбек, старт новой тр-ции и выполнять запрос заново.
Это не про отчёты (обычно), но тоже следует иметь в виду.
...
Рейтинг: 0 / 0
25 сообщений из 371, страница 7 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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