powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Спорный вопрос по Sybase
21 сообщений из 21, страница 1 из 1
Спорный вопрос по Sybase
    #32151990
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Вопрос такой. Ускоряет ли transaction log работу с базой или нет.

У меня знакомые разработчики с пеной у рта убеждают, что этот самый лог
чуть ли не в несколько раз ускоряет работу базы.

Хотя, по логике вещей, дополнительные операции записи-чтения никогда не улучшали быстродействие.

Так ли это ?
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32152110
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите, а как же Вы без него работать собрались?
Как же Вы будете поддерживать транзакционную целостность?

Правда ASA может работать без этого лога, но ТОЛЬКО в однопользовательском режиме, и без каких либо откатов транзакций. Т.к. все изменения СРАЗУ ЖЕ записываются в базу.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32152134
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь работаю же, и транзакции откатываются.
Правда, работаю я на Sybase Anywhere 5.5.05,
там, чтобы лог сам усекался, нужно опцию -m задать.

Файл лога сейчас около 64 Кбайт, и не пухнет совсем.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32152327
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо так пугать (путать) людей.

Вопрос должен звучать так:

Ускоряет ли "Truncate the transaction log when a checkpoint is done." работу с базой или нет ( параметр в строке запуска -m)?


PS. Тщательнее надо формулировать свои мысли.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32284478
Alex Romanovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не ускоряет, а замедляет(лог то надо обрезать)
а вообще без разницы
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Спорный вопрос по Sybase
    #32780386
Mastiff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И всё же вопрос знатокам ASA.

Предположим, стоит база без репликаций.
С ней работают 3...20 юзеров.

Обычная система финансового характера - заводятся клиенты, счета, выполняются операции, раскладываются на проводки.
Формируются отчеты - как простенькие типа выписки по счету, так и (иногда) тяжелые - типа оборотов по всем счетам за месяц с разного рода групповыми извращениями.

То есть ничего особенного, все как у всех.

Так вот - нужен ли такой базе transaction log?
Ускорит он работу или замедлит?
Чем еще может быть полезен?
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780452
_Dog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по хелпу - с логом быстрее.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780460
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MastiffОбычная система финансового характера - заводятся клиенты, счета, выполняются операции, раскладываются на проводки.
Формируются отчеты - как простенькие типа выписки по счету, так и (иногда) тяжелые - типа оборотов по всем счетам за месяц с разного рода групповыми извращениями.

То есть ничего особенного, все как у всех.

Так вот - нужен ли такой базе transaction log?
Да, нужен. Она же не Readonly.

Ускорит он работу или замедлит?
Да, ускорит.

Чем еще может быть полезен?
Повышением надёжности.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780517
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Спелицин
Правда ASA может работать без этого лога, но ТОЛЬКО в однопользовательском режиме, и без каких либо откатов транзакций.

Не верю (с) Станиславский
Читайте доки.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780531
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, он не ускоряет и не замедляет. Он делает работу с базой данных ВООБЩЕ ВОЗМОЖНОЙ . Без лога - это не база данных.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780532
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изивините, немного запоздал с ответом.
Прочитал-подумал - а как же он ускоряет -то ? Давайте подробнее, раз уж раскололись .
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780602
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я фигею, дорогая редакция!
Сколько людей - столько мнений:

1. Замедляет
2. Ускоряет
3. Без него только однопользовательская работа
4. Без него невозможен коммит
5. Без него работать вообще невозможно и это не база данных
6. Без него база read only

Что еще будет?
Можно просто почитать доки, либо поэкспериментировать либо самому
догадаться:

5. Monitoring and Improving Performance
Top performance tips

Always use a transaction log

You might think that Adaptive Server Anywhere would run faster without a transaction log because it would have to maintain less information on disk. Yet, the opposite is actually true. Not only does a transaction log provide a large amount of protection, it can dramatically improve performance.

Operating without a transaction log, Adaptive Server Anywhere must perform a checkpoint at the end of every transaction. Writing these changes consumes considerable resources.

With a transaction log, however, Adaptive Server Anywhere need only write notes detailing the changes as they occur. It can choose to write the new database pages all at once, at the most efficient time. Checkpoints make sure information enters the database file, and that it is consistent and up to date.

------- Конец цитаты -------------

Переводить, надеюсь, не надо?
В двух словах, без лога:

а) Делает чекпоинты на каждый commit, что отъедает ресурсы и,
соответсвенно, тормозит работу.
б) Отсутствует информация для репликации или инкрементального бэкапа (накатывания) или же просто для разбора полетов.
в) Значительно уменьшается устойчивость к сбоям

Для пользователя же фунциональных отличий в работе нет. Есть и многопользовательская работа и транзакционная целостность.

P.S. объяснять, что такое чекпоинт, бэкап и сбои или не надо?

)

--
http://talk.ru/forum/talk.ru.accounting.development
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32780613
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только сейчас заметил - тему то подняли полутаролетней давности : 30 апр 03

P.S. И погоняло у автора особенно приятное...

P.P.S. И на сайте у них в портфолио гордо светится "Специализированный SQL сервер для систем с повышенными требованиями к быстродействию, надежности и защищенности"
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32781262
Mastiff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё оно, конечно, так, и доки процитированные зачитаны до дыр в мониторе.

Проблема вот в чем - база в течение месяца справляется "одной левой", с трёхкратным запасом по скорости.

Но процедура закрытия месяца отрабатывает около 3-4 часов.
Практически вся логика процедуры сидит на сервере в хранимках.
Почти все тормоза - из-за чтения/записи больших объёмов информации.

(я не прошу сейчас помочь с оптимизацией структуры базы или алгоритмов, это была бы другая тема)

А вот к чему я все это рассказывал:
Если ОТКЛЮЧИТЬ transaction log перед выполнением этой мега-процедуры, она отрабатывает БЫСТРЕЕ. Процента на 3...10 в разных тестах, но стабильно БЫСТРЕЕ, зараза!
Как она могла так с нами поступить? ;-))

Правда, лог лежит на том же диске, что и база.
Но всё равно же и в этом варианте "должно быть" быстрее, или нет?
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32781280
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MastiffВсё оно, конечно, так, и доки процитированные зачитаны до дыр в мониторе.

Проблема вот в чем - база в течение месяца справляется "одной левой", с трёхкратным запасом по скорости.

Но процедура закрытия месяца отрабатывает около 3-4 часов.
Практически вся логика процедуры сидит на сервере в хранимках.
Почти все тормоза - из-за чтения/записи больших объёмов информации.

(я не прошу сейчас помочь с оптимизацией структуры базы или алгоритмов, это была бы другая тема)

А вот к чему я все это рассказывал:
Если ОТКЛЮЧИТЬ transaction log перед выполнением этой мега-процедуры, она отрабатывает БЫСТРЕЕ. Процента на 3...10 в разных тестах, но стабильно БЫСТРЕЕ, зараза!
Как она могла так с нами поступить? ;-))

Правда, лог лежит на том же диске, что и база.
Но всё равно же и в этом варианте "должно быть" быстрее, или нет?
В лог идет физическая запись на жесткие диски. Вывод - естественно он замедляет работу. Однако лог - это надежность и дополнительные функциональные возможности (инкрементный бакуп, репликация, накат лога и т.д.). Вывод - ради надежности и таких возможностней вполне обоснованно можно чуть пожертвовать скоростью. Смешно из за 3-10% ускорения так серьезно задаваться выбором между скоростью и надежностью. Конечно можно просто в RAM создать виртуальный диск и крутить БД на нем или включить кэширование IO операционной системой - производительность вырастет на глазах. Однако наверное будет правильнее задуматься вот об этом:
автор(я не прошу сейчас помочь с оптимизацией структуры базы или алгоритмов, это была бы другая тема)
и не валить свои проблемы со скоростью на архитектуру СУБД.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32784546
Mastiff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм. А разве я говорил, что хочу отрезать лог навсегда?
Я хочу увеличить скорость, ИСПОЛЬЗУЯ лог - как это написано в доке, которую процитировал уважаемый Александр Голдун.

Быть может, кто-то сумел так заколдовать лог, чтобы он скорость работы базы увеличил?
Или же такой уровень магии только техническим писателям Sybase,Inc. доступен? ;-))
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32784685
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MastiffХм. А разве я говорил, что хочу отрезать лог навсегда?
Я хочу увеличить скорость, ИСПОЛЬЗУЯ лог - как это написано в доке, которую процитировал уважаемый Александр Голдун.

Быть может, кто-то сумел так заколдовать лог, чтобы он скорость работы базы увеличил?
Или же такой уровень магии только техническим писателям Sybase,Inc. доступен? ;-))
По моему из приведенной ссылки Александром видно, что без лога работа СУБД замедлится, где за норматив скорости берется работа БД с логом. Как Вы из этого вывели, что с помощью лога можно увеличивать скорость работы СУБД ума не приложу. Насчет колдовства над БД и логом запросто - увеличьте доступную под кэш память, поставьте более скоростные процессоры и винты, разнесите DBSpace, лог и temporary files на разные устройства, оптимизируйте нагрузки, запросы и структуру БД - эти меры гарантированно приведут к увеличению скорости работы. А чтобы из за некой "волшебной" опции вдруг все стало работать быстрее - такого не бывает. Другой способ - если Вам не особо важны надежность и поддержка транзакционной модели, то увеличить скорость можно просто перейдя на MySql.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32805309
double_axe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цетирую дословно из ASA SQL User's Guide
Глава "Советы по достижению наивысшей производительности".

Может возникнуть впечатление, что без журнала транзакций быстродействие ASA повыситься из-за необходимости поддерживать меньше кол-во информации на диске. На самом деле журнал транзакций не только в значительной степени обеспечивает защиту, но и реально повышает производительность. При работе без жернала ASA приходиться устанавливать контрольные точки по завершению каждой транзакции. Запись этих изменений требуе значительных ресурсов.
При наличии журнала ASA записывает только примечания , подробно описывающие изменения по мере их возникновения.
И т.д. и т.п.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32805618
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
20.1 Журнал контрольной точки

Файл базы данных WATCOM SQL составлен из страниц. Прежде, чем
страница модифицируется (сделается грязной), всегда делается ко-
пия оригинала. Скопированные страницы - журнал контрольной точки.

Грязные страницы не записываются немедленно на диск. Для повыше-
ния эффективности, они кэшируются в памяти и записываются на
диск, когда кэш полон или сервер не имеет никаких ожидающих зап-
росов. Контрольная точка - отметка, в которой все грязные страни-
цы записываются на диск. Если все грязные страницы записываются
на диск, журнал контрольной точки удаляется.

Контрольная точка может происходить по нескольким причинам:

1. Транзакция выводит команду CHECKPOINT.

2. Сервер очень долго не активизировался, чтобы записывать все
грязные страницы.

3. Процессор базы данных работает без журнала транзакций и
транзакция фиксируется.

4. Процессор базы данных завершил работу.

5. В DOS, однопользовательская программа ждет ввод с клавиату-
ры, и процессор базы данных имеет достаточное количество
времени, чтобы записать все грязные страницы и выполнить
CHECKPOINT.

6. Количество времени с последней контрольной точки превысила
опцию базу данных CHECKPOINT_TIME.

7. Вычисляемое время, чтобы сделать операцию восстановления,
превышает опцию базы данных RECOVERY_TIME.

Приоритет записи грязной страницы на диск будет увеличиваться
пропорционально времени и количеству работы, возрастающим с пос-
ледней контрольной точки. Это будет важно, когда процессор базы
данных не имеет достаточное количество времени простоя, чтобы за-
писать грязные страницы. Две опции базы данных, упомянутые выше,
позволяют вам управлять частотой контрольных точек.
CHECKPOINT_TIME будет управлять желательным максимумом времени
между контрольными точками, и RECOVERY_TIME будет управлять жела-
тельным максимумом временем для восстановления в случае отказа
системы. Оба времени определяются в минутах (см."SET OPTION"
стр.344).

20.2 Журнал отката

Поскольку изменения делаются с содержимым таблиц, журнал отката
хранится с целью отмены изменений. Он используется для обработки
запросов ROLLBACK и для восстановления при отказе системы. Имеет-
ся свой журнал отката для каждой транзакции. Когда транзакция
закончена, журнал отката удаляется.

20.3 Журнал транзакций

Все действия процессора базы данных сохраняются в журнале тран-
закций в порядке их выполнения. Вставки, модификации, удаления,
фиксирование, откаты и изменения структуры базы данных - все ре-
гистрируется. На журнал транзакций часто ссылаются как на файл
журнала.

Журнал транзакций необязателен. Когда вы выполняете WATCOM SQL
без журнала транзакций, контрольная точка будет выполнена всякий
раз, когда любая транзакция фиксируется (commit). Контрольная точка необ-
ходима, чтобы гарантировать, что все зафиксированные транзакции
записываются на диск. Запись грязных страницы может потреблять
время, так что вы должны работать с журналом транзакций для повы-
шения эффективности, а также защиты против отказа носителя и раз-
рушения базы данных.

Журнал транзакций не хранится в главном файле базы данных. Имя
файла журнала транзакций может устанавливаться, когда база дан-
ных инициализируется (с DBINIT), или в любой другой раз (с
DBLOG), когда процессор базы данных не запущен. Чтобы защититься
против отказа носителя, журнал транзакций не должен записываться
на одно устройство с файлом базы данных. Некоторые машины с дву-
мя или более жесткими дисками имеют только один физический дис-
ковод с несколькими логическими дисками или разделами. Если вы
требуете защиту против отказа носителя, удостоверьтесь, что вы
имеете машину с двумя запоминающими устройствами или используете
запоминающее устройство на сетевом файл-сервере. Обратите внима-
ние, что по умолчанию, журнал транзакций помещается на то же са-
мое устройство и в тот же самый каталог, что и база данных, а это
не защищает от отказа носителя.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32808783
banshee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы судя по всему документацию цитируете. Глаз за одну несуразицу зацепился:
old_joyЕсли вы требуете защиту против отказа носителя, удостоверьтесь, что вы имеете машину с двумя запоминающими устройствами или используете запоминающее устройство на сетевом файл-сервере.
Хранить лог на сетевом диске это имхо извращение.
...
Рейтинг: 0 / 0
Спорный вопрос по Sybase
    #32808837
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это дока на Watcom SQL версия 3.2, кажется 1994 год. За 10 лет многое изменилось, а вот страничная организация баз даных и ведение журналов остались.
Про файловый сервер ничего не скажу - не пользовался.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Спорный вопрос по Sybase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]