Re: Немного флейма. Транзакции

2007-09-20 Thread Vlad Khorsun


"Serge Buzadzhy" ...


Vlad Khorsun пишет:


"Dmitri Kuzmenko" ...


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


БДЕ по моему дофетчивало втихую.


   Угу. Но БДЕ писалось во времена, когда клиент-сервер только начинал входить
в массы и толком было не понятно как с ним работать. Т.е. теоритически все всё 
знали
и понимали, а вот практических навыков (по крайней мере в Б) не было.


>>а потом и FreeIBComponents, и IBX/FIBPlus

убивают кэш в датасетах,


>>т.е. "закрывают запросы".
Ну... запрос закрыть это один вопрос. Второй вопрос это кэш в датасетах. Запрос закрыть необходимо. Он просто перестает быть 
валидным при закрытии транзакции в рамках которой был открыт. Что собственно и понятно.


   А при чём тут мои локальные, с таким трудом отфетченные, данные ?


   Знать бы ещё - нафига они это делают...


Наша песня хороша - начинай сначала :) Обсуждали ужо.


   Значит я пропустил тот раз ;)


Хочешь - обсудм еще раз.


   Как скажешь ;) Скажу сразу - это камень не в твой огород, а скорее в огород
Грегори


Недофетченный запрос, чего с ним делать при закрытии транзакции?


   А что - надо что-то делать ?


Дофетчивать втихаря перед закрытием? Нехорошо. Оставлять недофетченным тоже 
плохо.


   Чем ? Тем что бедненький кодер испугается ошибки, которую выдаст
злобный сервер при попытке фетча из закрытого курсора ? Ай, как его жалко


Оба варианта плохи еще тем что девелопер вообще может не заметить, что что-то 
делается без его ведома.


   А вот не надо ничего делать без его ведома. Не надо. Это так просто :)

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


   Конечно - мы же лучше знаем, что девелоперу нужно на самом деле...

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

ЗЫ. Кстати в FIBPlus ( а может и в ИБХ) если датасет в режиме CachedUpdates  то при закрытии транзакции, датасет все-таки не 
закрывается, а дофетчивается.


   Меня это всё не волнует лет этак 8-9 - с тех пор как я пользую CDS и не имею
проблем с нижележащими уровнями вообще :)

--
Хорсун Влад 





Re: Немного флейма. Транзакции

2007-09-20 Thread Alex Cherednichenko

Привет, Vlad!
Вы пишешь  20 сентября 2007:

[Sorry, skipped] 
 VK> А вот не надо ничего делать без его ведома. Не надо. Это так просто :)

Аааа!!
Ты знал!!!
Ты знал :)))

-- 
With best regards, Alex Cherednichenko.




Re: Немного флейма. Транзакции

2007-09-20 Thread Ded


Vlad Khorsun wrote:


   Меня это всё не волнует лет этак 8-9 - с тех пор как я пользую CDS и 
не имею

проблем с нижележащими уровнями вообще :)


   CDS я тоже лублу, вот только оно хорошо когда примерно знаешь 
сколько ему там фетчить. А то ведь может и не войти в крынку-то. А 
парцайками тягать муторно. Правда меня это тоже отродясь не волновало, 
ибо с малолетства разделял пишущие и читающие транзакции. Лично мне 
текущее поведение внучков Грегори представляется более логичным и 
простым в использовании чорным ящиком, нежели борьба с недофетченными 
курсорами, невалидными дбкеями и, пожалуй, для человека неискушённого, 
отсутствием конфликтов модификации там, где они должны быть. Может, 
конечно, дело привычки...


--
Regards. Ded.



Re: Немного флейма. Транзакции

2007-09-20 Thread Vlad Khorsun


"Ded" ...


Vlad Khorsun wrote:


   Меня это всё не волнует лет этак 8-9 - с тех пор как я пользую CDS и не имею
проблем с нижележащими уровнями вообще :)


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


   Может у мну (с) крынка резиновая, но никогда на это не напарывался.
Может я не тяну сотни тысяч на клиента (отчёты делаются другими ср-вами) ?
Единицы и, возможно, десятки тысяч пролетают без заметных проблем (редко,
но иногда бывает и такое). Это при том, что есть и более быстрые in-memory
таблицы, чем CDS. Да и менее глючные тоже, надеюсь, есть :)

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


   У меня это тоже две разные тр-ции. Но только для того, чтобы дать им 
(возможно)
разный набор параметров, а не для обхода проблемы закрытия датасетов.

текущее поведение внучков Грегори представляется более логичным и простым в использовании чорным ящиком, нежели борьба с 
недофетченными курсорами, невалидными дбкеями и, пожалуй, для человека неискушённого, отсутствием конфликтов модификации там, где 
они должны быть. Может, конечно, дело привычки...


   Поведение _может_ быть настраиваемым, но не _должно_ быть железобетонно-
непробиваемым в стиле : "ты туда не ходи, ты сюда ходи... и только сюда"

   Я, с точки зрения пользователя компонент, не вижу ничего логичного и 
простого в
закрытии всех датасетов по окончании тр-ции. Наооброт - это приводит в 
недоумение
и заставляет _бороться_ с компонентами\сервером вместо решения моих собственных
прикладных задач.

--
Хорсун Влад 





Re: Немного флейма. Транзакции

2007-09-20 Thread Ded


Vlad Khorsun wrote:


   Может у мну (с) крынка резиновая, но никогда на это не напарывался.
Может я не тяну сотни тысяч на клиента (отчёты делаются другими ср-вами) ?
Единицы и, возможно, десятки тысяч пролетают без заметных проблем (редко,
но иногда бывает и такое).


   Десятки тысяч не проблема. У меня в филиальской briefcase справочной 
подсистеме десятками и тягается. С тех пор, как наладил репликацию 
изменией в базовых справочниках и сборку визуализации на месте из 
засасываемых оперативных числовых данных и названий в локальной базе, 
вполне шустренько так летает. А вот спервоначалу, когда отправлял туда 
резалтсет джойна из центра, в какой-нить Тюмени на модеме минут 40 могло 
грузиться. То есть, к работе с кеширующими фулл фетч датасетами в общем 
случае надо технологически подходить не как к клиент-серверу. А это не 
всегда хорошо. Про работу с миллионными архивами, которые в 
клиент-сервере до конца вообще практически никогда не дофетчиваются, я 
уж молчу. И никаких специальных приседаний с IBX/FIBPlus для этого не 
надо, технология на это и заточена. Наоборот, надо приседать, когда 
нужны отступления от этой технологии. Мы с тобой приседаем при помощи 
CDS, а Серж строит настраиваемые гибриды с локальными 
сортировками-фильтрациями. Мне кажется, что правильней иметь и молоток и 
гвоздодёр отдельно и хвататься за то, что нужно в конкретный момент.



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



   У меня это тоже две разные тр-ции. Но только для того, чтобы дать им 
(возможно)

разный набор параметров, а не для обхода проблемы закрытия датасетов.


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


текущее поведение внучков Грегори представляется более логичным и 
простым в использовании чорным ящиком, нежели борьба с недофетченными 
курсорами, невалидными дбкеями и, пожалуй, для человека неискушённого, 
отсутствием конфликтов модификации там, где они должны быть. Может, 
конечно, дело привычки...



   Поведение _может_ быть настраиваемым, но не _должно_ быть железобетонно-
непробиваемым в стиле : "ты туда не ходи, ты сюда ходи... и только сюда"


   См. выше про молоток и гвоздодёр :)

   Я, с точки зрения пользователя компонент, не вижу ничего логичного и 
простого в
закрытии всех датасетов по окончании тр-ции. Наооброт - это приводит в 
недоумение
и заставляет _бороться_ с компонентами\сервером вместо решения моих 
собственных

прикладных задач.


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


--
Regards. Ded.



Re: Немного флейма. Транзакции

2007-09-20 Thread Vlad Khorsun


"Ded" ...


Vlad Khorsun wrote:


   Может у мну (с) крынка резиновая, но никогда на это не напарывался.
Может я не тяну сотни тысяч на клиента (отчёты делаются другими ср-вами) ?
Единицы и, возможно, десятки тысяч пролетают без заметных проблем (редко,
но иногда бывает и такое).


   Десятки тысяч не проблема. У меня в филиальской briefcase справочной подсистеме десятками и тягается. С тех пор, как наладил 
репликацию изменией в базовых справочниках и сборку визуализации на месте из засасываемых оперативных числовых данных и названий в 
локальной базе, вполне шустренько так летает. А вот спервоначалу, когда отправлял туда резалтсет джойна из центра, в какой-нить 
Тюмени на модеме минут 40 могло грузиться. То есть, к работе с кеширующими фулл фетч датасетами в общем случае надо технологически 
подходить не как к клиент-серверу. А это не всегда хорошо. Про работу с миллионными архивами, которые в клиент-сервере до конца 
вообще практически никогда не дофетчиваются, я уж молчу.


   Я всегда работаю только через процедуры и всегда только с отфетченным
набором данных. Никогда не было необходимости работать с недофетченными
данными. Да, забыл упомянуть, - это всё двузвёнка, т.е. никаких брифкейсов\
промкжуточных уровней у меня нет. Так штааа - смотрю на всё со своей колокольни
(как, впрочем, и все остальные :)

И никаких специальных приседаний с IBX/FIBPlus для этого не надо, технология на это и заточена. Наоборот, надо приседать, когда 
нужны отступления от этой технологии. Мы с тобой приседаем при помощи CDS, а Серж строит настраиваемые гибриды с локальными 
сортировками-фильтрациями. Мне кажется, что правильней иметь и молоток и гвоздодёр отдельно и хвататься за то, что нужно в 
конкретный момент.


   Конечно. Но, согласись, я _сам_ должен выбирать чем гвозди заколачивать,
а чем - выдирать.


   У меня это тоже две разные тр-ции. Но только для того, чтобы дать им 
(возможно)
разный набор параметров, а не для обхода проблемы закрытия датасетов.


   У меня этой проблемы вообще никогда не было.


   А я не про тебя это написал :)

   В обчем - все позиции всех всем давно известны, копья давно сломаны,
говорить тут не о чем :)

--
Хорсун Влад 





Re: Немного флейма. Транзакции

2007-09-20 Thread Ded


Vlad Khorsun wrote:


   В обчем - все позиции всех всем давно известны, копья давно сломаны,
говорить тут не о чем :)


   Ну воооттт... А по314деть? :-(

--
Regards. Ded/



Re: Немного флейма. Транзакции

2007-09-20 Thread Kovalenko Dmitry
> >В обчем - все позиции всех всем давно известны, копья давно сломаны,
> > говорить тут не о чем :)
>
> Ну воооттт... А по314деть? :-(

по314деть?

Бл#, я не понимаю, как можно быть модератором такого авторитетного
ресурса как RSDN и так тупить!!!

Сказать что я расстроен, это бл# вообще ничего не сказать.

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-20 Thread Kovalenko Dmitry
> Бл#, я не понимаю, как можно быть модератором такого авторитетного
> ресурса как RSDN и так тупить!!!

Бл#. Уверен, он делает класс ради одного объекта с одним методом с
единственным return-ом. Потому что процедурное программирование уже не
модно, а объектное - не асилил. И обращается к нему через глобальный
указатель.

А когда MS разродится вещами о которых ему там целых два дня
вталкивали, не сумеет увязать "вчера" и "сегодня". Про "завтра", я
вообще молчу.

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-20 Thread Vlad Khorsun


"Kovalenko Dmitry" ...

>В обчем - все позиции всех всем давно известны, копья давно сломаны,
> говорить тут не о чем :)

Ну воооттт... А по314деть? :-(


по314деть?

Бл#, я не понимаю, как можно быть модератором такого авторитетного
ресурса как RSDN и так тупить!!!


   В каком месте оно авторитетное ? Уж не в СУБД точно :)))

--
Хорсун Влад 





Re: Немного флейма. Транзакции

2007-09-20 Thread Kovalenko Dmitry
> В каком месте оно авторитетное ? Уж не в СУБД точно :)))

Ну ты знаешь, я к RSDN прикипел что называется...

Форум по плюсам, там - я вздрагиваю. В базах данных тоже думал что
вроде ничего. Но за последние два дня - ниже плинтуса.

---
Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-20 Thread Ded


Kovalenko Dmitry wrote:

RSDN 


   Ля, и когда вы всё успеваете, да ещё и работать...

--
Regards. Ded.



Re: Немного флейма. Транзакции

2007-09-20 Thread Kovalenko Dmitry
> Форум по плюсам, там - я вздрагиваю. В базах данных тоже думал что
> вроде ничего. Но за последние два дня - ниже плинтуса.

Я вот смотрю на ответы Ивана. Там в каждом сообщении слова -
напрягаться, сложно, устал, тупо ...

Однако,тяжела работа у программиста MSSQL. Изматывает и отупляет :))

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-20 Thread Vlad Khorsun


"Kovalenko Dmitry" ...

Форум по плюсам, там - я вздрагиваю. В базах данных тоже думал что
вроде ничего. Но за последние два дня - ниже плинтуса.


Я вот смотрю на ответы Ивана. Там в каждом сообщении слова -
напрягаться, сложно, устал, тупо ...


   Он не понимает, что

а) в IB\FB нет implicit тр-ций, т.е. тр-циями управляет _только_ клиент

   в MSSQL это не так и можно увидеть тысячи строк кода как клиентского, так
   и серверного (процедуры) без BEGIN TRAN. В процедурах, кстати, управление
   тр-циями разрешено и обычно там его и делают (если делают)

б) пример с фетчем и апдейтом односится тоже к клиенту, т.е. тр-ция 2 
(апдейтящая)
   не вычитаывет данные из БД, а получает их на клиенте - поэтому ей не нужно 
знать,
   что там меняла 1-я тр-ция (которая ничё не меняла, а только читала).

в) 1-я тр-ция видит изменения 2-ой, т.к. она read-committed, а не по другой 
причине

--
Хорсун Влад 





Re: Немного флейма. Транзакции

2007-09-21 Thread Kovalenko Dmitry
> >> Форум по плюсам, там - я вздрагиваю. В базах данных тоже думал что
> >> вроде ничего. Но за последние два дня - ниже плинтуса.
>
> > Я вот смотрю на ответы Ивана. Там в каждом сообщении слова -
> > напрягаться, сложно, устал, тупо ...
>
> Он не понимает, что

Да ему просто нечем понимать. Я же говорю мышление настолько плоское,
что пытаться ему что-то объяснить - это все равно что разговарить с
камнями Тамерлана.

Барану объясняют - те на кого он там молится давным давно сформировали
спецификацию в которой были недвусмысленно прописаны понятия
версионности и нескольких активных множеств. ЗА ДОЛГО ДО ПОЯВЛЕНИЯ
MSSQL2005, в котором все это наконец появилось. А до тех пор пока она
не появилась - это уже исторические факты - бараны не то что бы не
знали про такие вещи, но и говорили - накуй нужно. Однако MS, как
только вплотную занялась инструментами для разработчиков, вдруг
неожидано решила наоборот.

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

Ой, ADO.NET не позволяет сделать несколько независимых транзакций в
одном подключений - какой кАшмар! Это ведь не спроста, это же, бл#,
самый правильный подход! А если у этих мудил поинтересовать
техническими аспектами (типа реализации микрософтовский пула
подключений или координатора распределенных транзакций) - кроме
мычания и "читайте MSDN" не услышишь. Уверен на все 200% - проверено в
попытках узнать "а что же именно делается в момент старта второй
отдельной транзакции при незавершенной первой". Кроме бе и ме ничего
не добился.

Дима Кузьменко - ну как оно, как горох об стену?

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-21 Thread Alex Cherednichenko

Привет, Kovalenko!
Вы пишешь  21 сентября 2007:

 >> Он не понимает, что

 KD> Да ему просто нечем понимать. Я же говорю мышление настолько плоское,
 KD> что пытаться ему что-то объяснить - это все равно что разговарить с
 KD> камнями Тамерлана.

Моё opinion: да ну его в Ж !
(в хорошем смысле)

-- 
With best regards, Alex Cherednichenko.




Re: Немного флейма. Транзакции

2007-09-23 Thread Alexander A. Venikov


Hello, Ded!
You wrote  on Thu, 20 Sep 2007 18:06:35 +0400:

>> RSDN
D> Ля, и когда вы всё успеваете, да ещё и работать...
"Если пьянка мешает работе - ну её на куй, такую работу!".
--
Удач
Alexander A. Venikov, Tobolsk, Russia 





Re: Немного флейма. Транзакции

2007-09-24 Thread Dmitri Kuzmenko


Hello, Dmitry!

Kovalenko Dmitry wrote:


Дима Кузьменко - ну как оно, как горох об стену?


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

т.е. тут же начинают выдумывать какие-то несусветные
ситуации, и стонать о том как это плохо.

Это в лучшем случае. В худшем случае все
свелось к "тупые ФБ-шники", "это плохо",
"это неправильно" и т.д.

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

Ну а про "вопросы БД не относятся к UI" - я вообще молчу.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Немного флейма. Транзакции

2007-09-24 Thread Dmitri Kuzmenko


Hello, Alex!

Alex Cherednichenko wrote:


 KD> Да ему просто нечем понимать. Я же говорю мышление настолько плоское,
 KD> что пытаться ему что-то объяснить - это все равно что разговарить с
 KD> камнями Тамерлана.

Моё opinion: да ну его в Ж !
(в хорошем смысле)


да, даже позлобствовать от души не получается. все серое и унылое.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Немного флейма. Транзакции

2007-09-24 Thread Kovalenko Dmitry
> Kovalenko Dmitry wrote:
> > Дима Кузьменко - ну как оно, как горох об стену?
>
> Да как обычно. вместо ответа на вопрос начинают
> какую-то херь про "мы же можем исказить ACID
> если будем перебрасывать данные между этими
> транзакциями в приложении!" и прочую муйню.

"Я знаю Java, UNIX, Oracle и много других умных слов !" :super:

Думаешь так оно и есть?

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-25 Thread Kovalenko Dmitry
> Большинство я так понял сидит в двух звеной архитектуре и самой точно
> характеристикой я выбрал бы "У меня на каждой форме своя транзакция"

У меня на формах вообще транзакций нет :)

> Тотже TClientDataSet тоже упоминался в этой ветке, а никто не думал
> зачем его борланд придумал?

Я например не знаю - накуя он его придумал. Догадываюсь, но точно не
знаю, потому что не юзал ниразу.

> А кроме 2-х звеных приложений есть другие архитектуры.
> Раскажите мне применение даной возможности в веб приложении?
> а в трехвеном приложении?

Я кроме лога и фонового опроса (вместо эвентов, к которым я охладел, а
второе дыхание чегото не приходит) придумать не могу.

> Попарившись с БДЕ мы на очень многое заложились.

Я BDE использовал только когда был совсем зеленный. В период
испуганного программирования.

Короче, Макс. Я убил вагон времени объясняя товарищами - сервер не
навязывает вообще ничего. Широкий простор компонент доступа на любой
вкус и цвет - тоже. Навязывают люди типа вот этих вот самих товарищей.
И объясняя, что не надо, бл#, отвечать за всех и обвинять всех тоже -
потому что это реально тупо. Но как об стену горох.

А, тут еще дебильные заявления - зачем что то делать когда есть
"экспрессы". А когда они появились-то, эти экспрессы? А "благодаря"
чему они появились? А какие засады  у этих экспрессов? Это, бл#, типа
к разговору отношения не имеет. И так далее и тому подобное.

Коваленко Дмитрий.


Re: Немного флейма. Транзакции

2007-09-25 Thread Dmitri Kuzmenko


Hello, Max!

Max Rezanov wrote:


Большинство я так понял сидит в двух звеной архитектуре и самой точно
характеристикой я выбрал бы "У меня на каждой форме своя транзакция"
или у меня в программе 2 транзакции одна читающая на всю жизнь и
длиная, а одна(N) коротких пишущих. Вам дали такую возможность и вы ее
на всю используете и тоже не хотите видеть остального.
Тотже TClientDataSet тоже упоминался в этой ветке, а никто не думал
зачем его борланд придумал?


чтобы сделать briefcase-model, или stateless-обработку,
если угодно.


А кроме 2-х звеных приложений есть другие архитектуры.
Раскажите мне применение даной возможности в веб приложении?
а в трехвеном приложении?
Создать синглетон с подключением и забирать с него
транзакции? мне не кажеться это хорошей мыслью :(.


где-то в 1997-1998 году я писал свой пулер коннектов
на дельфях, для IB. В нем было:
1. использование отдельных коннектов для долгоиграющих запросов
2. использование одного коннекта для коротких запросов

в случае 2 как раз использовались одновременные транзакции,
с целью минимизировать рост количества необходимых соединений
при увеличении нагрузки. Реально на производительность
этот вариант не проверялся. Но архитектурно он был логически
здравым.


Да мы сечас сидим на C#, трех звеной архитектуре, ADO.NET и оракле.
Я не чуствую себя ущербныи из-за того что у меня одна транзакция на
соединение и пул подключений на сервере приложений. И кстати вопросы


так никто про ущербность не говорит. в Java вообще все иначе,
там, если не ошибаюсь, можно организовать пул транзакций :-)


Возможно к вам не приходят с предложениями "А у MS откаты больше
сколько времени нада на то чтобы переписать это все на MS?".
Но от таких вопросов я, в принципе, уже не думаю о самоубийстве :))).


не знаю, какие там на MS откаты, если у MS розничных цен как таковых
нет. Есть только оптовые. Соответственно, на рынке к этим ценам
прибавляют 3-5%, и получается розничная цена.
Конечно можно устроить цену в 2-3 раза больше рыночной с целью
отката, но если это не коммерческая контора и если директор
сам ничего с отката не получил, то цены ведь известны, их
в инете навалом. и любая проверка (не милицейская) типа
"а почему вы купили софт именно у этой фирмы" этот откат обнаружит.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34