|
|
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
hi all Когда 500 коннектов дёргают gen_id(some_seq, 1) и используют полученные ID'шники для записи в свои таблицы (с обновлением PK-индексов), то с таблицами и индексами всё понятно: дальше не поедем, пока контроллер диска не скажет "записано". У генераторов значения хранятся не в какой-то там rdb$-таблице, а на отдельной странице Учитывает ли алгоритм careful write, что новое значение генератора также надо записать на диск и дождаться ответа контроллера "записано", как и в случае с данными таблиц / индексов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 20:35:09 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Грязные страницы генераторов пишутся по коммиту любой тр-ции, iirc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 21:20:03 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
hvladГрязные страницы генераторов пишутся по коммиту любой тр-ции, iircДаже если в ней не было ни одного gen_id( someSeq, N), где N > 0 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 21:28:45 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидhvladГрязные страницы генераторов пишутся по коммиту любой тр-ции, iircДаже если в ней не было ни одного gen_id( someSeq, N), где N > 0 ?Да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 21:34:52 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
hvlad, тогда получается, что если в некий временнОй зазор (скажем, 100 мс) коммит выдали 50 транзакций, из которых только 5 меняли счетчики генераторов, то команда на запись страницы генераторов будет выдана и от остальных 45 тоже. Что-то не есть гут, КМК. А транзакция может как-то знать, был ли "из-под неё" хотя бы 1 вызов gen_id() или нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 21:48:38 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Таблоидтогда получается, что если в некий временнОй зазор (скажем, 100 мс) коммит выдали 50 транзакций, из которых только 5 меняли счетчики генераторов, то команда на запись страницы генераторов будет выдана и от остальных 45 тоже.С чего бы это ? Грязная страница запишется один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 21:50:14 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
hvlad, один или пять раз ? Вот есть пять транзакций (из 50), которые выдают commit в течение интервала 100 мс, и "карта" изменений по генераторам, которые эти транзакции делали: gen_headergen_detailgen_contragentgen_partsgen_auxgen_miscgen_sometx-1[ + ][ + ]tx-2[ + ][ + ]tx-3[ + ][ + ][ + ]tx-4[ + ]tx-5[ + ][ + ] Допустим, в рассматриваемом временнОм отрезке самый первый commit получен от tx-4. Вся страница генераторов будет записана на диск (т.е. все 7 счетчиков для данного примера). Никаких изменений генераторов после этого нет и далее, к примеру, начинает обрабатываться commit от tx-2. Будет ли знать движок (или кто там ?), что страница уже записана и ничего на ней переписывать не нужно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 22:02:52 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
hvladГрязная страница запишется один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 22:21:08 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, может, ты имеешь в виду другое? Что при отсутствии общего кэша страница генераторов при изменении конкурирующим коннектом будет записана на диск (иначе как узнать изменения генераторов, сделанных другим коннектом)? В этом случае она и 9 раз будет записана, если каждый коннект будет поочередно какой-либо генератор дергать. В конце, до чьего-либо commit, на странице генераторов останутся только "дергания" какого-то генератора последним коннектом. И при первом же (любом) коммите эта "грязная страница" запишется. Действительно один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 09:40:22 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
kdv, хм... а если коммита не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 09:46:57 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, страницы пишутся либо по коммиту, либо по требованию других коннектов, либо по вытеснению из кеша. Если коммита не было и генераторы нафиг никому больше не нужны, то страницы останутся грязными в кеше либо до их вытеснения либо до морковкиного заговения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 10:03:47 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
dimitrстраницы пишутся либо по коммиту, либо по требованию других коннектов я правильно понял, что когда движок видит, что коннект-2 "хочет" получит содержимое страницы генераторов, изменённой коннектом-1, то сбросит её на диск и затем выдаст коннекту-2 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 13:30:13 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, в CS/SC да. В SS писать ничего не надо, он и так увидит измененную страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 13:32:58 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, ну а как еще? и в фразе "хочет" получит содержимое страницы генераторов, изменённой коннектом-1" слово "генераторов" нужно убрать. То есть, если коннект 2 хочет изменить страницу, измененную коннектом 1, коннект 1 должен ее сохранить на диск, а потом коннект 2 ее прочитает и поменяет. В CS/SS. Между собой они измененные страницы не передают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 13:42:18 |
|
||
|
Careful write: обеспечивает ли он... запись текущих значени генераторов на диск ?
|
|||
|---|---|---|---|
|
#18+
kdvВ CS/SS. Между собой они измененные страницы не передают.Да, я это понял. Но мой вчерашний вопрос был не совсем про это, Влад на него ответил уже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 13:49:26 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=110&tid=1564198]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
103ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 445ms |

| 0 / 0 |
