Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Народ, какие есть в принципе концептуальные решения для каше для построения консистентных отчетов. Идеальано получать отчету по snap-shot'у данных, однако при условии активного изменения данных пользователями (1000+ CU), генерация отчета происходит по изменяющемуся во времени extent'у. Соответственно вне зависимости от скорости работы генератора отчета существует вероятность изменения данных подлежащих включению в отчет, в итоге генерация отчета по состоянию "на сегодня" дает неверный результат при любом раскладе. Варианты решений которые видятся навскидку 1) Выполнять отчеты в ночное время - не подходит т.к. отчеты могут выполняться дольше ночного времени, к тому же ночью происходят другие регламентные задачи включая full backup. К тому же теоретически ночью пользователи могут работать. 2) Лочить данные на запись и выполнять очередь отчетов - также неприемлем, ввиду длительного подвешивания системы на локе 3) Делать что-то похожее на snap-shot путем организации shadow - тоже малопрактичен, т.к. для каждой операции построения отчета необходимо отключать апдейты с источника на весь период выполнения отчетов. Соответственно частота обновления данных определяется временем требуемым на выполнение всей очереди отчетов. К тому же требует доп. сервера для shadow 4) Выполнять отчеты по состоянию на "вчера" - для этого требуется организация историчности данных на уровне приложения, что не всегда возможно сделать если система не проектируется с нуля. Кроме того, в прикладной системе может быть не запрещен ввод данных задними числами, и тогда попадаем опять под неконсистентность отчета. Вопрос как вы выходите из ситуации в своих системах? Есть ли решения на системном уровне для других СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2011, 22:47 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000, я конечно не знаю размера ваших таблиц из личного опыта основные таб1 -150тысяч,30полей таб2 -60тыс,10 полей стыковка М-М справочники(около 10 на 100т всего) принцип работы -каждое утро запоминались как-есть таблицей-моментальный снимок таблиц задачи -при необходимости(запросу начальства) -в течении дня -дополнительно -для отчетов высвечивался список доступных архивов -с выбранного(хоть на начало квартала) --отчеты, в шапке дата архива -отчеты с живых таблиц не делались, архивы не корректировались -для сравнения начала квартала и текущего --отчет с двух-трех-четырех архивов этим обеспечивалась идентичность исходной базы по связанным отчетам на заданную дату -укрупненные отчеты-для начальства -деталировка по разным критериям -просмотр динамики изменения по запросу позиции номенклатуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2011, 23:26 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000, Из представленных рассуждений (не очень понятно с количеством баз и объемами), проще всего было бы во время регламентного бэкапа ночью одновременно переносить данные в отдельную область для отчетов (на том же сервере, копия оперативных БД). Это можно сделать либо физическим копированием (размонтированных оперативных БД), либо восстановлением ночного бэкапа. Эта область для отчетов будет содержать все данные, актуальные на время бэкапа. В области должны исполняться только отчеты и должна быть запрещена корректировка данных. Тогда вы сможете спокойно получать согласованные отчеты, актуальные на ночное время, при любой длительности их выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 06:48 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, вопрос решать нужно было на этапе проектирования. Т.е. изменения каждого для должны храниться отдельно и индексироваться, тогда не было бы проблем с отчетом на определенный день. Ну или делать отчеты(или предварительное агрегирование данных для отчетов) ночью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 07:13 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
На мой взгляд проблема фактически мало зависит от размера БД - она концептуальная. Если это прояснит выбор решения то, размер БД самого большого хоста порядка 100Гб с тенденцией роста на 20-30Gb+ ежегодно. Количество пользователей 1000+. ser_shu, Мысль с бэкапом понятна, и перекликается с п.3 моего поста. Единственное неудобство в этом варианте - медленный бэкап/рестор (полуручной) и нужен постоянный контроль все ли завершено без ошибок. Свежесть данных получится с задержкой на день. Shadow в этом смысле может дать более актуальные данные, правда shadow api еще тот инструмент. Блок А.Н., Вы пишете про п.4 моего поста. Это понятно, что на стадии проектирования можно было бы подумать об историчности данных, однако в проекте вы не всегда можете стоять у истоков архитектуры. Кроме того исторические данные влекут распухание БД, т.к. приходится хранить версии всех апдейтов. Вдобавок этот вариант не панацея, т.к. я написал в своем сообщении что приложения позволяет вводить документы задними числами - т.е. Вы все равно не избегаете неконсистентности отчета. Основной мой вопрос - а как эта проблема решается в других СУБД? Это же наверняка проработанный шаблон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 13:09 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА-каждое утро запоминались как-есть таблицей-моментальный снимок таблиц задачи что значит запоминалось? время требуемое на выполнение snap-shot должно быть близко к нулю чтобы никто не успел изменить данные которые вы включаете в snap-shot. Не думаю что Вам удалось достичь такой беспрецедентной скорости. Кроме того, то что работает на малых икстентах уже с оговорками работает на больших - десятки миллионов записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 13:14 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000ПЕНСИОНЕРКА-каждое утро запоминались как-есть таблицей-моментальный снимок таблиц задачи что значит запоминалось? время требуемое на выполнение snap-shot должно быть близко к нулю чтобы никто не успел изменить данные которые вы включаете в snap-shot. Не думаю что Вам удалось достичь такой беспрецедентной скорости. Кроме того, то что работает на малых икстентах уже с оговорками работает на больших - десятки миллионов записей. вы не оговаривали в постановке размеры таблиц вряд ли вы корректируете прошлогодний снег в последнюю ночь месяца -архив за прошедший месяц 24гб/12=2гб и архив текущего месяца --менее 2 гигов --вряд ли это проблема остальное остается в силе(отчеты с выбранного архива) можно накопить типичные итоги (без вышестоящих) для типичных запросов начальства -клиент,период(год,месяц),суммаЗакуп,суммаОплат -клиент,продукт,период(текущийМесяц),колич,суммаЗакуп,суммаОплат -клиент,продукт,период(прошлыйМесяц),колич,суммаЗакуп,суммаОплат и форму для произвольной сортировки и группировки фолуфабрикатов --подобие 1с-регистров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 13:38 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000, Документы задними числами вводите, индексировать и хранится должна фактическая дата проводок. Про то, что вам это сейчас сложно сделать - понятно. Распухания особого нет, если вы не тащите историю как дублирование, а делаете ее встроенной в данные. Остается вариант - делать ночью какое-то агрегирование данных для отчетов и отчеты делать это этим данным, а не по живым. Как защиту от пользователей - лочить систему (если уж они у вас такие упорные). Если отчеты делаются дольше ночи - решать проблему производительности сервера либо организации данных. Скажите хоть, о каких объемах идет речь? Просто постановка задачи противоречивая - не можем изменить данных, не можем залочить систему (даже на ночь), но хотим видеть мнгновенный срез. Мне кажется, так не бывает :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 15:53 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
кстати, у вас бухгалтерский период как-то реализован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 16:03 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Rus000, Остается вариант - делать ночью какое-то агрегирование данных для отчетов и отчеты делать это этим данным, а не по живым. Как защиту от пользователей - лочить систему (если уж они у вас такие упорные). этот вариант понятен и он изначально озвучен. какие еще принципиально новые подходы есть? Блок А.Н.Скажите хоть, о каких объемах идет речь? выше я давал кратко - 100Gb БД, 1000+ пользователей, классов (таблиц) около 50, размер базовых икстентов порядка 1-4 млн, с приростом 0,5-1 млн в квартал. Блок А.Н.Просто постановка задачи противоречивая - не можем изменить данных, не можем залочить систему (даже на ночь), но хотим видеть мнгновенный срез. Мне кажется, так не бывает :-) таковы условия Однако еще раз повторю свой вопрос, который даже не в плоскости кашовой реализации КАК В ПРИНЦИПЕ СЧИТАТЬ НЕПРОТИВОРЕЧИВЫЕ ОТЧЕТЫ В АБСТРАКТНОЙ СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 21:07 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАвы не оговаривали в постановке размеры таблиц вряд ли вы корректируете прошлогодний снег хорошо размеры я оговорил. да они в принципе не имеют значения т.к. вы не сделаете снапшот за мгновение. А раз не сделаете, значит вероятность что отчет будет противоречив остается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 21:10 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000Соответственно вне зависимости от скорости работы генератора отчета существует вероятность изменения данных подежащих включению в отчет, в итоге генерация отчета по состоянию "на сегодня" дает неверный результат при любом раскладе. ... КАК В ПРИНЦИПЕ СЧИТАТЬ НЕПРОТИВОРЕЧИВЫЕ ОТЧЕТЫ В АБСТРАКТНОЙ СУБД? Определите, что Вы считаете непротиворечивым отчетом. У Вас ни "на вчера" ни "на сегодня" не будет одинаковых отчетов по одинаковым параметрам, если Вы не закрываете периоды и разрешаете корректировку. В абстрактной субд тоже. Если у Вас что то происходит с выборкой во время формирования отчета, то это решается фиксацией выборки во временную таблицу. И делайте потом отчет по этой временной таблице, никаких противоречий не будет при любой продолжительности отчета. Укажите конкретно, какие противоречия и какие неверные результаты Вы получаете в своем отчете, и какие желали бы получать непротиворечивые результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 05:09 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
ser_shuЕсли у Вас что то происходит с выборкой во время формирования отчета, то это решается фиксацией выборки во временную таблицу. И делайте потом отчет по этой временной таблице, никаких противоречий не будет при любой продолжительности отчета. помещение во временную таблицу - попытка сделать снапшот со временем существенно отличным от нуля. За время которое потребуется на копирование во временную таблицу (t) возможно произойдут изменения в данных (в ранее скопированных которые СТАЛИ удовлетворять условию отбора, но не были включены и/или в тех которые были отобраны для копирования и ПЕРЕСТАЛИ удовлетворять условию отбора) и объекты будут учены во временной таблице не на время запуска отчета (t0), и даже не на время окончания генерации отчета (или копирования во временную структуру), а на временные точки лежащие МЕЖДУ t0 и t0+t. Время t может занимать часы, соответственно, запустив генерацию отчета в 8.00 утра Вы получите результат не по состоянию БД на 8.00 утра, а по плавающему состоянию БД между 8 утра и временем окончания генерации, например 22.00. В этом и противоречивость. В то время как если бы мы могли делать снапшоты с временем создания слепка стремящимся к нулю (ну или как вариант путем создания резервной копии, или shadow с отключенным коннектом) мы всегда будем формировать правильный и непротиворечивый отчет по состоянию на время запуска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 08:06 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000помещение во временную таблицу - попытка сделать снапшот со временем существенно отличным от нуля. ... Время t может занимать часы, соответственно, запустив генерацию отчета в 8.00 утра Вы получите результат не по состоянию БД на 8.00 утра, а по плавающему состоянию БД между 8 утра и временем окончания генерации, например 22.00. В этом и противоречивость. В то время как если бы мы могли делать снапшоты с временем создания слепка стремящимся к нулю (ну или как вариант путем создания резервной копии, или shadow с отключенным коннектом) мы всегда будем формировать правильный и непротиворечивый отчет по состоянию на время запуска. Теперь понятнее с противоречивостью. Если мы не можем сделать непротиворечивую выборку в работающей базе, то остается только работа с копией, пополняемой (заменяемой) во время прекращения работы отчетов. В случае с shadow с отключаемым коннектом отчет тоже будет не на момент запуска, а на момент отключения коннекта предыдущими запущенными, но незавершенными, отчетами. С shadow лучше только тем, что все транзакции будут завершены. С копиями завершение транзакций не гарантировано, нужно это обеспечивать дополнительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 08:55 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
КАК В ПРИНЦИПЕ СЧИТАТЬ НЕПРОТИВОРЕЧИВЫЕ ОТЧЕТЫ В АБСТРАКТНОЙ СУБД? СУБД разделяются на "блокировочники"(MSSQL, Cache) и "версионники"(Oracle). В блокировочниках, чтобы взять непротиворечивый отчет, устанавливается блокировка на изменение данных на время форирования отчета. В версионниках в отчет выбираются версии данных, сохраненные до момента запуска отчета. Для Вашего случая, как вариант, можно предложить "витрину данных" или DataWarehouse, оптимизированную под быстрое выполнение отчетов, а не просто копию базы. Тогда отчеты будут работать быстрее, и обновлять витрину Вы сможете чаще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:37 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, 1000+ пользователей - это внешние пользователи через веб? Которых вы не не можете ограничить и которые не подчиняются регламенту вашей организации. Тогда понятно, почему нельзя залочить базу. Тем не менее 50 таблиц это не так уж много, обычно большая часть из них справочная, рабочих таблиц с данными будет штук 10 максимум. Есть смысл подумать о доработке системы. Вот навскидку(хотя заочно сложно оценить их применимость): 1. историчность данных (да, я понял, как вы к этому относитесь ;-)) 2. делать снапшот ид таблиц и делать отчеты исходя из него, выкидывать все более поздние ид. Не работает, если правятся уже введенные ранее документы. 3. переводить систему в состояние "все изменения ненастоящие, пока делаем отчет", т.е. все изменения вносить в отдельные таблицы или в основные таблицы с особым флагом, а после окончания отчета сливать их с основными данными. Тут плохо то, что работы больше, чем с внедрением историчности. 4. постоянно держать актуальной статистику, при этом каждое изменение данных меняет статистический отчет. Тут надо очень аккуратно кодить, иначе есть риск, что статистика поплывет, а вы этого не заметите. Плюс еще надо думать как не попасть в блокировки от 1000 одновременно работающих пользователей. 5. каждое изменение документа в особую таблицу добавляет "дельту", плюс еще есть стабильная статистика. Позволит обойти взаимоблокировки, кодинга больше чем в (4), но чувствительность к ошибкам немного меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:53 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
DirksDRКАК В ПРИНЦИПЕ СЧИТАТЬ НЕПРОТИВОРЕЧИВЫЕ ОТЧЕТЫ В АБСТРАКТНОЙ СУБД? СУБД разделяются на "блокировочники"(MSSQL, Cache) и "версионники"(Oracle). В блокировочниках, чтобы взять непротиворечивый отчет, устанавливается блокировка на изменение данных на время форирования отчета. правильно я понял что при запуске отчета на блокировочнике СУБД лочит все таблицы включенные в запрос и пока отчет не посчитается? Однако в этом случае пользователи должны висеть и транзакции не должны коммитится, так? Можете дать линк на документацию того же MSSQL где про это написано. DirksDRВ версионниках в отчет выбираются версии данных, сохраненные до момента запуска отчета. эта фича поддерживается на уровне СУБД? Можете детальнее пояснить механизм при условии что отчет сложный и требуется выполнить несколько sql-запросов к БД и между ними сделать аналитические вычисления. Если sql-запрос один логично что версионник может отдавать версии закоммиченных данных по состоянию на дату запуска запроса. Но КАК версионник контролирует процедуру прикладного отчета в котором разные селекты вызываются в разные времена в пределах процедуры формирования отчета? DirksDRДля Вашего случая, как вариант, можно предложить "витрину данных" или DataWarehouse, оптимизированную под быстрое выполнение отчетов, а не просто копию базы. Тогда отчеты будут работать быстрее, и обновлять витрину Вы сможете чаще. мой случай здесь не причем. У вас в приложении отчеты также неконсистентны если вы не придумали механизма который бы ее обеспечил. Либо условия эксплуатации Вашего приложения позволяют иметь технологические окна в которые вы вставляете обновления витрин. В это случае Вы работаете лишь по ограниченной модели, а я хотел бы понять теоретический механизм и лучшие практики в каше и других СУБД в максимально общем случае, который не подразумевает технологических окон, для пущей важности считайте что система 24x7 - что предложите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2011, 20:59 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Вот навскидку(хотя заочно сложно оценить их применимость): 1. историчность данных (да, я понял, как вы к этому относитесь ;-)) вполне позитивно, но это сильно утяжеляет как само приложение и систему отчетов для него. кроме того, если это изначально не было спроектировано переписывать смерти подобно. Блок А.Н.2. делать снапшот ид таблиц и делать отчеты исходя из него, выкидывать все более поздние ид. Не работает, если правятся уже введенные ранее документы. именно Блок А.Н.3. переводить систему в состояние "все изменения ненастоящие, пока делаем отчет", т.е. все изменения вносить в отдельные таблицы или в основные таблицы с особым флагом, а после окончания отчета сливать их с основными данными. Тут плохо то, что работы больше, чем с внедрением историчности. согласен - реализация слишком сложна Блок А.Н.4. постоянно держать актуальной статистику, при этом каждое изменение данных меняет статистический отчет. Тут надо очень аккуратно кодить, иначе есть риск, что статистика поплывет, а вы этого не заметите. Плюс еще надо думать как не попасть в блокировки от 1000 одновременно работающих пользователей. не вариант, иначе статистику придется актуализировать ДЛЯ ВСЕХ полей которые в принципе могут быть включены в какой-нибудь отчет. Это накладные расходы по записи, жесткая регламентация на перечень полей включаемых в отчет. По сути такая статистика никак не отличается от индексов и самое главное не решает вопрос противоречивости, потому как "статистика" будет также меняться в промежутке [t0;t0+t] где t0-время запуска отчета, а t- его длительность Блок А.Н.5. каждое изменение документа в особую таблицу добавляет "дельту", плюс еще есть стабильная статистика. Позволит обойти взаимоблокировки, кодинга больше чем в (4), но чувствительность к ошибкам немного меньше. не решает, ибо ограничено периодами докатки дельт на основную "статистику", а именно в это время может быть запущен отчет который пройдется по плавающей "статистике" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2011, 21:09 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
ser_shuЕсли мы не можем сделать непротиворечивую выборку в работающей базе, то остается только работа с копией, пополняемой (заменяемой) во время прекращения работы отчетов. В случае с shadow с отключаемым коннектом отчет тоже будет не на момент запуска, а на момент отключения коннекта предыдущими запущенными, но незавершенными, отчетами. С shadow лучше только тем, что все транзакции будут завершены. С копиями завершение транзакций не гарантировано, нужно это обеспечивать дополнительно. думается для каше это единственный путь достижения консистентности отчета, который тем не менее имеет минусы типа дискретности процедуры дежорналинга. В принципе с этим можно смириться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2011, 21:15 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Rus000правильно я понял что при запуске отчета на блокировочнике СУБД лочит все таблицы включенные в запрос и пока отчет не посчитается? Однако в этом случае пользователи должны висеть и транзакции не должны коммитится, так? Можете дать линк на документацию того же MSSQL где про это написано. http://articles.excelion.ru/science/info/57255758.html Rus000 Но КАК версионник контролирует процедуру прикладного отчета в котором разные селекты вызываются в разные времена в пределах процедуры формирования отчета? Затрудняюсь, возможно, если несколько селектов объединить в одну транзакцию, они будут брать версии данных на начало транзакции. Rus000мой случай здесь не причем. У вас в приложении отчеты также неконсистентны если вы не придумали механизма который бы ее обеспечил. Либо условия эксплуатации Вашего приложения позволяют иметь технологические окна в которые вы вставляете обновления витрин. В это случае Вы работаете лишь по ограниченной модели, а я хотел бы понять теоретический механизм и лучшие практики в каше и других СУБД в максимально общем случае, который не подразумевает технологических окон, для пущей важности считайте что система 24x7 - что предложите? У нас сейчас используется Оракл, долгоиграющих отчетов нет, тем не менее, каждую ночь обновляется витрина данных. Она полезна с многих точек зрения. У нас целью было не давать всем пользователям доступ к боевой БД (безопасность) и перенести часть нагрузки на сервер витрины. По-моему, Вы уже пришли к выводу, что нужна вторая база. Наверное, это и будет "лучшей практикой". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 11:51 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
DirksDRА вот как работает Оракл... хм ... с ораклом тоже не все красиво насколько я понял - в рамках одно транзакции нужные версии данных берутся из сегментов отката, однако размер их имеет ограничение и эти сегменты при активных апдейтах могут быть перезаписаны новыми данными. Во вторых, я не понял каким образом обеспечить непротиворечивое чтения для ВСЕГО ОТЧЕТА при условии что данные выбираются более чем одной транзакцией чтения. Приведен пример где в двух сессия коммитят данные на уровне READ_COMMITED и данные закоммиченные второй сессией попадают в первую. в ссылке по MSSQL вообще не нашел при непротиворечивое чтение за исключением уровня одной транзакции что и так понятно - это и в каше есть, только не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 20:38 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
А по этой ссылке можно прочесть что в оракле версии 8 проблема консистентности отчетов все еще была. Интересно есть ли изменения на системном уровне в более поздних версиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 20:46 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Вот описание подхода по созданию снапшотов у железячников. Пока 3:0 в пользу кашового shadow с возможностью программного отключения дежорналинга по свистку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 20:59 |
|
||
|
О построении отчетов на OLTP
|
|||
|---|---|---|---|
|
#18+
Ну и наконец википедия - snapshot . Замените создание резервной копии создание отчета на меняющейся БД получим один в один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 21:05 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37212901&tid=1557677]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 362ms |

| 0 / 0 |
