|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm, проблемы я изложил выше, простого решения, например, путем изменения SET настроек для решения этих проблем я не знаю. Вероятно, и Вы не знаете простого решения, иначе бы вопросы не задавали. Возможно, Вы игнорировали часть ответов, считая эти проблемы несущественными, повторяться нет желания при таком диалоге. Может для Вас падение производительности в 3-5 раз несущественно, мне это неизвестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 19:30 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Владислав Колосов, Не нужно перекладывать с больной головы на здоровую. Вам были заданы конкретные вопросы. В ответ была только демагогия. ЗЫ: Если применение RCSI дает постоянную просадку производительности в N раз, то это говорит не о проблемах RCSI, а о кривом дизайне и БД и работы с ней. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 20:18 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm Вам были заданы конкретные вопросы. В ответ была только демагогия. ну видно же, что человеку нечего сказать кроме "сами знаете, сами понимаете" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 20:57 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm, о том же я и писал - требуется доработка и реконфигурация. Не взлетит само собой. Если RC "терпело", то при включении RSCI все недостатки могут всплыть. Для того, чтобы RCSI работало с требуемой производительностью, требуется изначально учитывать его особенности, о чем я также писал выше. Не панацея - включили версионирование и залетало на любой базе. И не должно летать. Для этого требуется учесть особенности, не строить какие попало таблицы и писать какие попало, манагерские, запросы. Надо настраивать tempdb и выделять ресурсы с заведомо повышенной производительностью. И это надо делать изначально, а не тогда, когда в базе несколько тысяч таблиц и около того процедур и все это 24/7. Отсюда простой вывод - затраты на его внедрение никто не будет оплачивать, т.е. для большого ряда потребителей эта возможность просто бесполезна. Вы можете не понимать этих проблем, только если не сталкивались в реальными производственными процессами в условиях ограниченных ресурсов. Гладко было на бумаге, да забыли про овраги. Поэтому "цирк". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 21:07 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
komrad invm Вам были заданы конкретные вопросы. В ответ была только демагогия. ну видно же, что человеку нечего сказать кроме "сами знаете, сами понимаете" Я не хочу идти на поводу у человека, который знает ответы, но задает вопросы "с подковыркой" типа "проверяет". Это отвратительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 21:08 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Владислав Колосов о том же я и писал - требуется доработка и реконфигурация. Не взлетит само собой. Если RC "терпело", то при включении RSCI все недостатки могут всплыть. Для того, чтобы RCSI работало с требуемой производительностью, требуется изначально учитывать его особенности, о чем я также писал выше. Не панацея - включили версионирование и залетало на любой базе. И не должно летать. Для этого требуется учесть особенности, не строить какие попало таблицы и писать какие попало, манагерские, запросы. Надо настраивать tempdb и выделять ресурсы с заведомо повышенной производительностью. И это надо делать изначально, а не тогда, когда в базе несколько тысяч таблиц и около того процедур и все это 24/7. Отсюда простой вывод - затраты на его внедрение никто не будет оплачивать, т.е. для большого ряда потребителей эта возможность просто бесполезна. Вы можете не понимать этих проблем, только если не сталкивались в реальными производственными процессами в условиях ограниченных ресурсов. Гладко было на бумаге, да забыли про овраги. Поэтому "цирк". Оказывается Вы даже не в курсе зачем вообще был введен RCSI. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 09:35 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm, просветите меня. С какой целью - мне действительно неизвестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 11:38 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Владислав Колосов, RCSI предназначен только для устранения проблем производительности, связанных с конфликтами читатель-писатель и только на RC, не меняя при этом сути RC. Все. Следовательно, для его включения не требуется никаких доработок архитектуры БД, за исключением моментов когда конфликт читатель-писатель используется сознательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 12:00 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm, Понятно. Допустим, я наблюдаю большое число ожиданий в некоторых таблицах, связанных с выборкой и обновлением и принимаю решение включить в базе настройку RCSI. При этом каждая операция обновления начинает выполнять записи в tempdb, тратить вычислительные ресурсы, оперативную память и дисковое пространство. Итог такого включения, который Вы назвали "демагогией", был описан выше. База выигрывает в производительности относительно нескольких таблиц и теряет производительность в целом, причем, не на проценты, а на сотни процентов. Как решить эту задачу без замены аппаратных средств и реконструкции схему хранения данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 12:13 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Раз уж начался офтоп, пользуясь случаем хочу, спросить.:) Как то читал статью про издержки Numa а также про физические ограничения на количество узлов и длину шины. Чего то не могу найти. Может кто помнит, ссылку киньте пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 12:46 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Владислав Колосов При этом каждая операция обновления начинает выполнять записи в tempdb, тратить вычислительные ресурсы, оперативную память и дисковое пространство А не хотите подумать почему, например, в Azure RCSI включен по дефолту, если все так плохо? Постоянного падения производительности у писателей в разы на RCSI не получите. Зато обязательно получите временное, сразу после включения оного. Причем может именно в разы. Связано это с необходимостью выделять для каждой строки дополнительно 14 байт для нужд версионирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 14:09 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm А каждый читающий запрос с worktables и workfiles не тратит, причем может гораздо больше? тратит, но при этих тратах не лазит в tempdb. invm А не хотите подумать почему, например, в Azure RCSI включен по дефолту, если все так плохо? потому что блокировочная модель в принципе не масштабируется, а у азура есть возможность потратить время и ресурсы на приседания вокруг tempdb и сгладить недостатки реализации версионности в мсскл. Владислав же объяснил. invm Постоянного падения производительности у писателей в разы на RCSI не получите. представь один единственный файл tempdb на обычном HDD, там и так уже сортировки, временные таблицы, временные переменные, а ты еще и каждую транзакцию туда читать писать старые строки отправил. плюс вакум. без определенных приседаний просадку получишь гарантированно. посмотри на что приходится идти майкрософт с темпдб в тесте tpc-e, ради того что бы получить достойный результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:05 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 тратит, но при этих тратах не лазит в tempdb. Нам остальное даже отвечать не хочется... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 16:02 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm А куда лазит-то? Нам остальное даже отвечать не хочется... и не надо злится, надо просто потратить 15 минут на выяснение, что хранит версионный механизм в tempdb и зачем RCSI полезет в tempdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 19:55 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 надо просто потратить 15 минут на выяснение, что хранит версионный механизм в tempdb и зачем RCSI полезет в tempdb. Заодно потратьте еще чуть-чуть времени и выясните где создаются worktables и workfiles. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 20:16 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm, эти 14 байт работают очень жестко, по всей видимости, происходит расщепление страниц и так далее. Через три часа терпение у людей лопнуло и пришлось всё отключить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 20:33 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 invm А куда лазит-то? Нам остальное даже отвечать не хочется... и не надо злится, надо просто потратить 15 минут на выяснение, что хранит версионный механизм в tempdb и зачем RCSI полезет в tempdb. Разницу в разы для писателей лучше показать на тестах, а не на слове tempdb. H5N1 у азура есть возможность потратить время и ресурсы на приседания вокруг tempdb и сгладить недостатки реализации версионности в мсскл Да, нужно потратить ресурсы на tempdb, и что такого? Просто некое перераспределение, некая специальная настройка железа, в случае включения RCSI. Админ настроит, для блокировчного OLTP так, для DWH сяк, для RCSI эдак. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 20:51 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Владислав Колосов invm, эти 14 байт работают очень жестко, по всей видимости, происходит расщепление страниц и так далее. Через три часа терпение у людей лопнуло и пришлось всё отключить. Если эффективный менеджер приказывает корячить галочку в настройках, а потом через 3 часа корячит обратно, "не шмогла"(с), то цирк не в RCSI, цирк в организации. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 20:53 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
alexeyvg Вы с Владислав Колосов зря так концентрируетесь на слове tempdb Разницу в разы для писателей лучше показать на тестах, а не на слове tempdb. не, так это не работает. тесты производитель должен показывать, т.к. те кто вечерком нарисуют тесты побыстрому всегда могут чего-то не знать или не учесть. alexeyvg А, получается, версионность в MSSQL всё таки сделали не зря, оно повышает производительность, причём не нужно, вопреки мнению Владислав Колосов, для нанимать программирования специальных программистов, для постановки задач специальных менеджеров, и подстраивать под версионность бизнес-процессы? ну конечно не зря, оракл плохого не проектирует. версионность позволяет существенно увеличить конкурентный доступ, пусть и не совершенно бесплатно. а логику адаптировать нужно. он совершенно прав. подавляющее большинство логики спроектированной на блокировочном режиме, начнет хрень выдавать на версионном. вы меня пугаете, неужели такие вещи все еще кому то надо разжевывать? alexeyvg Да, нужно потратить ресурсы на tempdb, и что такого? Просто некое перераспределение, некая специальная настройка железа, в случае включения RCSI. Админ настроит, для блокировчного OLTP так, для DWH сяк, для RCSI эдак. в tpc-e тестах данные лежат на raid-5, а темпдб на raid-10 и дисков на tempdb тратят больше, чем на данные. т.е. Владислав совершенно по делу написал возможных сложностях. вот так взять и выдать tempdb iops больше, чем под данные не каждый сможет. тем более речь про мир майкрософт, где tempdb такая боль, что у немалой части и так уже вынесен на рамдиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 21:53 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 а логику адаптировать нужно. он совершенно прав. подавляющее большинство логики спроектированной на блокировочном режиме, начнет хрень выдавать на версионном. вы меня пугаете, неужели такие вещи все еще кому то надо разжевывать? H5N1 речь про мир майкрософт, где tempdb такая боль, что у немалой части и так уже вынесен на рамдиск. Если так хочется чего-нибудь от tempdb непременно разместить на рамдиске, то класть туда нужно ЖТ - хоть какая-то польза будет. А полностью размещать tempdb на рамдиске имеет смысл, когда памяти завались, а сиквел не может всю ее утилизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 10:31 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
invm Вы, прежде чем писать про "адаптацию", осознайте разницу между SI и RCSI. А после осознания приведите пример, когда именно на RCSI без адаптации будет "хрень". Модератор: обсуждаем sql server, а не друг друга блокировочник. два типа транзакций: первая делает апдейт на мастер таблицу, потом делает апдейты в детаил таблицах. вторая: читает мастер, после чего инсертит в детаил. у блокировочника первый тип транзакций заблокирует второй тип, пока первая не снимет блокировку, вторая не прочтет мастер таблицу. если бездумно эту логику перенести на версионный IL, не важно SI или RCSI, получится хрень, т.к. второй тип транзакции в версионном режиме будет инсертить независимо от того, что делает первый тип транзакций. если тебе нужно разжевывать такие простые вещи, ты явно занялся не своим делом. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 11:27 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
Коллеги а в чем спор? Наверняка можно сравнить запрос на тестовой бд с включенным режимом версионирования и без. (Ну разумеется с открытыми транзакциями увеличивающие кол. версий) а затем сравнить reads. Уверен такие примеры уже существуют.tpc-e хорошо, но можно же и попроще метрики сравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 11:27 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 первая делает апдейт на мастер таблицу, потом делает апдейты в детаил таблицах. вторая: читает мастер, после чего инсертит в детаил. Достаточно один раз читающей мастер транзакции добраться до мастер таблици первой, и в блркировочном режиме мы получим все теже проблемы. Если требуется синхронизировать чтение из мастера и запись в детейл, нужно повышать читающую мастер транзакцию до RR ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 11:58 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
H5N1 представь. блокировочник. два типа транзакций: первая делает апдейт на мастер таблицу, потом делает апдейты в детаил таблицах. вторая: читает мастер, после чего инсертит в детаил. у блокировочника первый тип транзакций заблокирует второй тип, пока первая не снимет блокировку, вторая не прочтет мастер таблицу. если бездумно эту логику перенести на версионный IL, не важно SI или RCSI, получится хрень И на RC разруливание такого конфликта должно быть реализовано явно, если это вообще считается конфликтом по БЛ. А если код писал рукожоп и этого не сделал, то он ССЗБ. И об этом я уже упоминал - 22172207 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 11:58 |
|
Размещение БД в оперативной памяти с асинхронной записью на диск(без потери данных)
|
|||
---|---|---|---|
#18+
alexeyvg Владислав Колосов invm, эти 14 байт работают очень жестко, по всей видимости, происходит расщепление страниц и так далее. Через три часа терпение у людей лопнуло и пришлось всё отключить. Если эффективный менеджер приказывает корячить галочку в настройках, а потом через 3 часа корячит обратно, "не шмогла"(с), то цирк не в RCSI, цирк в организации. Не думаю, что это верный подход к определению, на производстве сферические кони никого не интересуют и в боевой обстановке меткость оружия снижается на порядок и больше. Технология классная, только внедрить ее нельзя без плясок с бубном и неожиданными последствиями. Вы же покупаете автомобиль с уверенностью, что он заведется и поедет. не так ли? Это коммерческий продукт и работать он должен соответственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2020, 12:44 |
|
|
start [/forum/topic.php?fid=46&msg=39983036&tid=1685836]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 438ms |
0 / 0 |