|
|
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Нужна база данных рассчитанная на не один миллион записей. Будет сортировка по целочисленным индексам. Постоянная запись и чтение, примерно равно по количеству запросов, постоянно уникальны(не кэшируемы). Одновременно может идти множество запросов. В Mysql есть myisam и innodb, postgres - пока думал о них. myisam - быстрые селекты, медленнее запись, блокировка всей таблицы, что при большом количестве ее вообще запрет. innodb - запирание записей(стандартно?????, или надо настраивать, если не буду делать транзакционных команд) в postgres - более быстрое изменение, каждой подключение есть больше памяти. что с другими вопросами моей логики? в чем может не прав? что выбрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 00:29 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
MS SQL 2005 Express c включенной Row Versioning ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:59 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
А пользу поих примеров что скажете, или ни одна не потянет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:31 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
bernexили ни одна не потянет? Перечитал еще раз, примеров не нашел. Потянет любая, которую сумеешь выдрессировать. Отсюда проистекает факовый ответ: выбирай ту, которую лучше знаешь. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 11:08 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Ясно, myisam, innodb, postgres? что про эти блокировки в них скажете и т.п. Постоянная запись, чтение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 11:16 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
bernex postgres? что про эти блокировки в них скажете какие блокировки в версионнике? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:03 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov bernex postgres? что про эти блокировки в них скажете какие блокировки в версионнике? самые обычные ;o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:34 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)самые обычные ;o) Не, обычных там немного. Организационные (когда двое лезут редактировать одну запись) - попадаются. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:58 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov пишет: > какие блокировки в версионнике? На UPDATE-ах. Два UPDATE-а друг друга будут блокировать, если они работают с одной записью. Читателей - не будут. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:59 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Привет, MasterZiv! Ты пишешь: MasterZiv Dimitry Sibiryakov>> какие блокировки в версионнике? M> На UPDATE-ах. Два UPDATE-а друг друга будут блокировать, M> если они работают с одной записью. Читателей - не будут.и что же делать? -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 14:07 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
В myisam: если два update то они будут в очередь становиться. В innodb: если кразным записям то сразу выполнятся. Или ошибаюсь? В постгрес? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 14:12 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)самые обычные ;o) Не, обычных там немного. Организационные (когда двое лезут редактировать одну запись) - попадаются. Posted via ActualForum NNTP Server 1.4 гмм и чем это НЕОБЫЧНЫЕ блокировки ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 14:52 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)гмм и чем это НЕОБЫЧНЫЕ блокировки ??? Тем, что обычно они предотвращаются оргметодами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 14:58 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)гмм и чем это НЕОБЫЧНЫЕ блокировки ??? Тем, что обычно они предотвращаются оргметодами. Енто в смысле штраф за попытку одновременного редактирования одних записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:09 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
tru55 Енто в смысле штраф за попытку одновременного редактирования одних записей? Нет, это в смысле разграничение - кому можно редактировать запись, а кому - только вводить. Вопрос персональной ответственности за достоверность данных. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:14 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)гмм и чем это НЕОБЫЧНЫЕ блокировки ??? Тем, что обычно они предотвращаются оргметодами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:23 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Это от изумления :) какими организационнвми методами вы разрулите одновременное списание денег двумя услугами с одного лицевого счета в биллинговой системе ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:25 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) какими организационнвми методами вы разрулите одновременное списание денег двумя услугами с одного лицевого счета в биллинговой системе ??? А за бездумное использование хранимых агрегатов бьют в соседнем форуме. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:40 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov tru55 Енто в смысле штраф за попытку одновременного редактирования одних записей? Нет, это в смысле разграничение - кому можно редактировать запись, а кому - только вводить. Вопрос персональной ответственности за достоверность данных. И что, редактировать данные может только ОДИН человек? Например, в реальной сбытовой системе, редактировать счет-фактуру мог и сотрудник отдела сбыта, и его начальник, и диспетчер. Другое дело, что в системе фиксируется кто, когда и чего (так что с ответственностью все в порядке), но от попытки одновременного изменения это, ясное дело, не спасает. Я уж не говорю о всяких автоматических процессах типа jobs... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:54 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
tru55 Например, в реальной сбытовой системе, редактировать счет-фактуру мог и сотрудник отдела сбыта, и его начальник, и диспетчер. Раз система реальная, скажи: на основании чего они могли полезть ее редактировать одновременно? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:56 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) какими организационнвми методами вы разрулите одновременное списание денег двумя услугами с одного лицевого счета в биллинговой системе ??? А за бездумное использование хранимых агрегатов бьют в соседнем форуме. Posted via ActualForum NNTP Server 1.4 чо ? ссылку дай, а то мне твой русский стал непонятен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:00 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)ссылку дай, а то мне твой русский стал непонятен http://sql.ru/forum/actualtopics.aspx?bid=36 Если такого топика еще нет - начни новый и кто-нибудь да прочтет лекцию как разрулить баланс вообще без UPDATE. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:41 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov tru55 Например, в реальной сбытовой системе, редактировать счет-фактуру мог и сотрудник отдела сбыта, и его начальник, и диспетчер. Раз система реальная, скажи: на основании чего они могли полезть ее редактировать одновременно? Да на любом основании - ошибка, нет такого товара на складе и прочее. Или они должны были предварительно созвониться и выяснить, кто должен вносить изменения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:45 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov http://sql.ru/forum/actualtopics.aspx?bid=36 Ok, СЛИВ засчитан P.S. А баланс без update-ов - это ваши девичьи мечты господин теоретик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:48 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
+ допустим работает какой-то job, который периодически изменяет какие-то поля в документе (например, статус). Про работу с системными таблицами я уж вообще молчу, например, два пользователя одновременно обращаются к одной последовательности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:51 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
tru55 Да на любом основании - ошибка, нет такого товара на складе и прочее. Или они должны были предварительно созвониться и выяснить, кто должен вносить изменения? Нет, но ведь как-то они должны были узнать об отсутствии товара на складе... Им позвонили два кладовщика сразу обоим? Gluk (Kazan) P.S. А баланс без update-ов - это ваши девичьи мечты господин теоретик Если у кое кого-то сервер отказывается считать select sum(...), это не мои девичьи мечты, это ваш персональный ад. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 16:54 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Если у кое кого-то сервер отказывается считать select sum(...), это не мои девичьи мечты, это ваш персональный ад. Posted via ActualForum NNTP Server 1.4 Если у кого-то угребищный сервер (hvlad-а прошу не беспокоится), для которого КАЖДЫЙ раз суммировать проводке ПРОЩЕ чем разрулить update-ы на балансе - это ЕГО персональный ад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 17:06 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)разрулить update-ы на балансе Дай угадаю... Опять намекаешь, что крутые сервера можно деградировать до однопользовательности с помощью serializable? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:03 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)разрулить update-ы на балансе Дай угадаю... Опять намекаешь, что крутые сервера можно деградировать до однопользовательности с помощью serializable? Posted via ActualForum NNTP Server 1.4 Не угадал :) я гамекаю что в средненькой билинговой системе списаний баланса за кол времени до... вобщем достаточно чтобы поставить раком (в данном контексте термин не имеет отношения к кластерам) ЛЮБОЙ крутой сервер, если разработчику придет в дурную бошку каждый раз их суммировать Биллинг это не складской учет, своя специфика, знаете ли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:06 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
а serializable там как правило нужен бывает не особо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:08 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)списаний баланса за кол времени до... Я владею несколькими языками, но ни в одном из них нет единицы времени "кол". Сколько это в минутах? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:11 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)списаний баланса за кол времени до... Я владею несколькими языками, но ни в одном из них нет единицы времени "кол". Сколько это в минутах? Posted via ActualForum NNTP Server 1.4 т.е. аргументы кончились ? допустим кол - минута. Легче стало ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:27 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)допустим кол - минута. Легче стало ??? Намного. Теперь какую часть тела тебе надо прижечь, чтобы ты открыл-таки тайну: сколько списаний баланса происходит за кол? Я не требую точную цифру, достаточно порядка. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:37 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)допустим кол - минута. Легче стало ??? Намного. Теперь какую часть тела тебе надо прижечь, чтобы ты открыл-таки тайну: сколько списаний баланса происходит за кол? Я не требую точную цифру, достаточно порядка. Posted via ActualForum NNTP Server 1.4 Ой, только не бросай меня в терновый куст. Для тепленького биллинга хочется обновлений баланса не реже одного раза в минуту. Теперь помнож на количество одновременных сессий (ну 1000 допустим). Теперь вспомни, что абоненты норовят сидеть в Интернете часами, да и DialUp сессия что то столь привычное и частое, что происходит далеко не единожды за время жизни абонента. Все еще не хочешь хранить баланс, теоретик [censored] ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 09:53 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Ой, только не бросай меня в терновый куст. Для тепленького биллинга хочется обновлений баланса не реже одного раза в минуту. Теперь помнож на количество одновременных сессий (ну 1000 допустим). Вах! Оракул не справляется с тысячью запросов в минуту! Топикстартеру определенно не стоит на него рассчитывать. А теперь слушай сюда, практик цензуры, я тебе чревовещать буду, как девичьи мечты выглядят в железе: 1) Каждое списание добавляет запись в таблицу списаний. 2) запрос баланса суммирует таблицу списаний. 3) каждый кол приходит медвед, то бишь джоб и сгребает списания в кучку путем выполнения Код: plaintext 1. свежевставленную запись - у вас же хваленая cursor stability) В результате чаще всего суммирование баланса идет по одной-двум записям. Ну а теперь скажи, в каком сервере эта схема нарвется на блокировки? Правильно, на мускул топикстартеру можно рассчитывать еще меньше чем на оракула. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 10:21 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov 2) запрос баланса суммирует таблицу списаний. 3) каждый кол приходит медвед, то бишь джоб и сгребает списания в кучку Вах, зачем нам медвед ??? Столь лишние телодвижения чтобы избежать банальнейшей коротюсенькой блокировочки на update-е баланса (которая еще и не столь часто происходит) Насиловать таблички insert-ами/delet-ами, подымать job-ы, тьфу медведы Скажите, а файербердовцы ВСЕ делают через ЖОПУ или только это ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 10:39 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Скажите, а файербердовцы ВСЕ делают через ЖОПУ или только это ??? Ну да, нам же не дают кластера майнфреймов. Слив защитан, креведко. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 10:59 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Скажите, а файербердовцы ВСЕ делают через ЖОПУ или только это ??? Ну да, нам же не дают кластера майнфреймов. Слив защитан, креведко. Posted via ActualForum NNTP Server 1.4 Аааа, ну если цель выбить из заказчика побольше бабла на железо под Интербазу, тада канешна, Зайчег ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:00 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
2 Зайчег Кстати, полиграф ... тьфу, полиглот Вы наш. Код медведа набросайте, посмеемся И так для каждого потенциально конкурирующего апдейта в базе o O Ваш заказчик в курсе, что Вы тяжело больны ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:03 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Код медведа набросайте, посмеемся Т.е. до Вас еще не дошло, что выше я уже привел полный код медведа? Оракул схавал Ваш моск! Gluk (Kazan)Ваш заказчик в курсе, что Вы тяжело больны ??? В курсе, я ему говорил. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:18 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Т.е. до Вас еще не дошло, что выше я уже привел полный код медведа? Выше, как я уже говорил Вы привели девичьи мечты. Ваш медвед по insert ... sum курсором будет бегать накатывая update-ы и огребая все переключения контекстов которые сможет собрать ??? Или Вы все таки заготовили для злых ораклоидов многоетажную однооператорную конструкцию ? P.S. У Вас видимо и хавать нечего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:22 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Ваш медвед по insert ... sum курсором будет бегать накатывая update-ы и огребая все переключения контекстов которые сможет собрать ??? Откуда в инсерте возмутся апдейты? Нет, я слышай что BDE временами делает update как insert+delete, но чтобы оракул делал insert как update... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:45 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Ваш медвед по insert ... sum курсором будет бегать накатывая update-ы и огребая все переключения контекстов которые сможет собрать ??? Откуда в инсерте возмутся апдейты? Нет, я слышай что BDE временами делает update как insert+delete, но чтобы оракул делал insert как update... Posted via ActualForum NNTP Server 1.4 Извини, друк, я думал о тебе слишком хорошо Так ты все таки НЕ ХОЧЕШЬ накатывать изменения на баланс джобом, а просто архивировать А я то думал, ты просто опИсался :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 11:58 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Так ты все таки НЕ ХОЧЕШЬ накатывать изменения на баланс джобом, а просто архивировать Ооооо... Вот полезли материализованные вьюхи из всех щелей... Ты, я вижу пункт 2 тоже не прочитал. Баланс это сумма движения. Как на сумму можно что-то накатить я действительно не понимаю, туповат-с... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:12 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Так ты все таки НЕ ХОЧЕШЬ накатывать изменения на баланс джобом, а просто архивировать Ооооо... Вот полезли материализованные вьюхи из всех щелей... Ты, я вижу пункт 2 тоже не прочитал. Баланс это сумма движения. Как на сумму можно что-то накатить я действительно не понимаю, туповат-с... Posted via ActualForum NNTP Server 1.4 Ой тока не надо про MV плиззззз Если до вас тупо не доходит, что эту сумму можно хранить в скалярном таком себе поле (без всяких матвьюх заметьте), то я не знаю как это лечить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:14 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Если до вас тупо не доходит, что эту сумму можно хранить в скалярном таком себе поле (без всяких матвьюх заметьте), то я не знаю как это лечить Если после двух страниц до вас еще не дошло, что хранить сумму в скалярном поле чревато конфликтами и блокировками, то я тоже умываю руки. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:26 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Если до вас тупо не доходит, что эту сумму можно хранить в скалярном таком себе поле (без всяких матвьюх заметьте), то я не знаю как это лечить Если после двух страниц до вас еще не дошло, что хранить сумму в скалярном поле чревато конфликтами и блокировками, то я тоже умываю руки. Posted via ActualForum NNTP Server 1.4 Если до вас еще не дошло, что ВАШЕ лекарство хуже болезни, то медицина бессильна :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:27 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Если до вас еще не дошло, что ВАШЕ лекарство хуже болезни А как это до меня могло дойти, если все, что я услышал, это невнятные бормотания про конфликты update при insert? Ну, не считая ужасов про тысячу запросов в минуту. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 12:50 |
|
||
|
Выбрать базу данных
|
|||
|---|---|---|---|
|
#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?all=1&fid=35&tid=1553234]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 391ms |

| 0 / 0 |
