|
|
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Ну, не считая ужасов про тысячу запросов в минуту. Ну если не считая, тогда конечно :) Складской учет вас ждет, не теряйте времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:57 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Складской учет вас ждет, не теряйте времени Ну а вы можете вернуться к своему героическому труду по эмуляции мускуля на оракуле. Не смею мешать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 13:09 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Ну а вы можете вернуться к своему героическому труду по эмуляции мускуля на оракуле. Не смею мешать. Я что-то пропустил в этой жизни :( Мускуль то откуда взялся ? Я ему не поклоняюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 13:13 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Мускуль то откуда взялся ? Я ему не поклоняюсь Из первого поста. Вы поклоняетесь его манере блокировок на любой чих. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 13:25 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)Мускуль то откуда взялся ? Я ему не поклоняюсь Из первого поста. Вы поклоняетесь его манере блокировок на любой чих. Posted via ActualForum NNTP Server 1.4 Неа, это вы воля ваша сами придумали Просто я не делаю из блокировок ПУГАЛА ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 13:43 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)это вы воля ваша сами придумали Да неужели? У меня все ходы записаны! "Столь лишние телодвижения чтобы избежать банальнейшей коротюсенькой блокировочки на update-е баланса (которая еще и не столь часто происходит)." Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:02 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)это вы воля ваша сами придумали Да неужели? У меня все ходы записаны! "Столь лишние телодвижения чтобы избежать банальнейшей коротюсенькой блокировочки на update-е баланса (которая еще и не столь часто происходит)." Posted via ActualForum NNTP Server 1.4 ичо ??? здоровое отсутствие паранои по поводу вполне регламентной блокировки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:05 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) здоровое отсутствие паранои по поводу вполне регламентной блокировки Нежелание устранять узкое место поскольку "сервер железнеый, справится". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:25 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) здоровое отсутствие паранои по поводу вполне регламентной блокировки Нежелание устранять узкое место поскольку "сервер железнеый, справится". Posted via ActualForum NNTP Server 1.4 Ваше элегантное решение создаст несколько гораздо более узких мест (на Oracle во всяком случае) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:47 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Ваше элегантное решение создаст несколько гораздо более узких мест (на Oracle во всяком случае) Назови главные три. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:05 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
вы тут друг на друга... ребята) будьте вежливы... Я так понял что Gluk (Kazan) против инсертов в биллинге? Он он правда так? А если клиент захочет получить выписку куда, когда , как часто и сколько и по чем отку взять это всё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:06 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Ваше элегантное решение создаст несколько гораздо более узких мест (на Oracle во всяком случае) Назови главные три. Posted via ActualForum NNTP Server 1.4 Как он их назовёт, если он не въехал ни хрена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:08 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)подымать job-ы У меня реализовано без джобов - отложенными вычислениями. Первый, кому понадобилось, тот и суммирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:14 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
gardenmanвы тут друг на друга... ребята) будьте вежливы... Модератор? Нет - постой в сторонке, пожалуйста - дай спокойно пофлеймить. Когда еще попадется такой простой, легкоуправляемый оппонент... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:23 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
О набежали. Я не против insert-ов (у меня они тоже есть). Я против велосипедов в борьбе с мифическими узкими местами. Первые три: 1. insert ... select sum ... Нафиг мне не вперся и если это не узкое место, то я не знаю что такое узкое место. Лучше я сложу статистику в партиционированную табличку ОДИН раз (параллельно обновив баланс) чем буду insert-ить, агрегировать, снова insert-ить и delete-ить 2. индексы на табличке неагрегированных списаний Как минимум на PK 3. FullScan-ы в п.1 Ибо по определению читать надо всю табличку, а кэшировать ее бесполезно в силу ее природы 4. Постоянные sum на запросе баланса Одуреть можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:26 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov легкоуправляемый оппонент... мячты мячты :) я вас уверяю, общение с вами доставляет мне не меньшее удовольствие P.S. Приятно осозначать что есть на свете менее вменяемые люди чем ты сам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:29 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Лучше я сложу статистику в партиционированную табличку ОДИН раз (параллельно обновив баланс) чем буду insert-ить, агрегировать, снова insert-ить и delete-ить Ага, первый приличный аргумент за всю дискуссию... Gluk (Kazan)2. индексы на табличке неагрегированных списаний У оракула какие-то проблемы с индексами? Gluk (Kazan)3. FullScan-ы в п.1 Насколько я знаю, FullScan это единственное в чем оракул немерянно силен. Gluk (Kazan)4. Постоянные sum на запросе баланса Учитывая небольшое количество суммируемых записей, я позволю себе усомниться в заметном замедлении по сравнению с выборкой баланса из одной записи. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:45 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Лучше я сложу статистику в партиционированную табличку ОДИН раз (параллельно обновив баланс) чем буду insert-ить, агрегировать, снова insert-ить и delete-ить Ага, первый приличный аргумент за всю дискуссию... разьве не очевидно, что выполнение НЕНУЖНОЙ работы - узкое место ? Dimitry Sibiryakov Gluk (Kazan)2. индексы на табличке неагрегированных списаний У оракула какие-то проблемы с индексами? У Oracle с этим нет проблем, просто НЕНУЖНЫЕ накладные расходы (последняя соломинка способна сломать спину верблюду) Dimitry Sibiryakov Gluk (Kazan)3. FullScan-ы в п.1 Насколько я знаю, FullScan это единственное в чем оракул немерянно силен. А НАСКОЛЬКО вы знаете Oracle ? Речь не о том, что ОТДЕЛЬНЫЕ личности не в состоянии уразуметь, что FullScan не всегда зло (это другая песня). FullScan-ы зло конкретно в ЭТОМ случае. Поскольку опять же совершенно излишни Dimitry Sibiryakov Gluk (Kazan)4. Постоянные sum на запросе баланса Учитывая небольшое количество суммируемых записей, я позволю себе усомниться в заметном замедлении по сравнению с выборкой баланса из одной записи. А я позволю себе усомниться, что данных по изменениям баланса за время жизни абонента будет МАЛО. А поскольку они заведомо будут плохо кластеризованы, дело опять же может запахнуть ненужными FullScan-ами или излишними изнасилованиями индексов И на другой части весов корооооотенькая блокировка на малююююсеньком апдейте, происходящая довольно редко. По моему вполне достойная альтернатива вашей методе. Впрочем не знаю к чему это приведет в огнептице, врать не буду. Но в Oracle ваше решение выглядит смешно и глупо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:08 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Но в Oracle ваше решение выглядит смешно и глупо Ну если оно выглядит так для оракула, то и магистры с ним. Надеюсь, мы тут сказали достаточно слов чтобы топикстартер так вынес решение. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:14 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)Но в Oracle ваше решение выглядит смешно и глупо Ну если оно выглядит так для оракула, то и магистры с ним. Надеюсь, мы тут сказали достаточно слов чтобы топикстартер так вынес решение. Posted via ActualForum NNTP Server 1.4 на том и порешим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:19 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий пишет: > M> На UPDATE-ах. Два UPDATE-а друг друга будут блокировать, > M> если они работают с одной записью. Читателей - не будут. > > и что же делать? Да ничего не делать. Чего ж тут сделаешь ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:43 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Вообще, схема с частичным суммированием имеет смысл. Проблема в том, что update выполняется несколько дольше, чем insert. Поэтому, для таблиц с активно изменяемыми данными мы использовали такую схему: 1) Текущий баланс живет в кэше сервера приложений, где и обновляется каждую транзакцию. 2) Каждая транзакция - просто insert в соответствующую рабочую таблицу. 3) Если запись в кэше протухла (после рестарта сервера или памяти на все данные не хватает и т.п.), то она рассчитывается как сумма остатка + все изменения по записи, с одновременным обновлением остатка. Так как БД - DB2, то рассчет суммы с удалением данных из рабочей таблицы и update проводится одним оператором и выполняется очень быстро. 4) Что бы в рабочей таблицы на каждый счет не копилось много записей, проводим "профилактические" подчистки, одновременно проверяя корректность кэша (управляется сервером приложений). В сумме дает где-то 2х кратный прирост по скорости работы. К тому же такая схема лучше масштабируется. NB: на наших задачах вероятность попадания в кэш была существенно выше 90%, читатели должны были блокироваться писателями, причем "счет" в нашем случае - не одно поле, а некая не самая простая структура. Ну и сценарий одновременной попытки множественных изменений и чтений одного и того же "счета" - тоже очень вероятен. Через сервер приложений делается достаточно просто, понятное дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 00:00 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34831593&tid=1553234]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 126ms |

| 0 / 0 |
