Почему sql»тормозит»?

Из-за чего SQLтормозит?

љ

Мелкий словарик

  • љ Сервер либо сервер сети — компьютер.
  • љ Клиент-сервер либо SQL-сервер
    1. Неспециализированный термин, определяющий метод построения сетевой совокупности обработки данных.
    2. ПО, реализующее клиент-серверную идеологию и трудящееся на сервере сети (серверная часть) и на рабочих станциях (клиентская часть). MS SQL Server 6.5 — это SQL сервер.
    3. љ SQL-совокупность — аппаратно-программная совокупность (в большинстве случаев сетевая), реализующая клиент-серверную идеологию.
    4. љ SQL
      1. Язык программирования клиент-серверных совокупностей.
      2. То же, что и клиент-сервер либо SQL-сервер (неправильное потребление).

        Сейчас в коференции fido.ru.1csoft начали появляться вопросы по клиент-серверным предположениям (SQL) программ компании 1С. Подобные вопросы поступают к нам и по email и по телефону от клиентов отечественной компании (Альтер Лого).

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

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

        Итак, первое, что нужно осознать и запомнить: SQL-совокупности не предназначены для печати выполнения отчётов и ускорения выборок. Если Вы ожидаете, что установив 1C-Торговлю для SQL Вы ускорите работу собственной совокупности, то Вы глубоко заблуждаетесь.

        Не будет она трудиться стремительнее. Исходя из этого всякие беседы о том, что :SQL-Торговля — это тормоз: полностью не имеют смысла. Пара лет назад издание PC Magazine проводил сравнительный анализ (среди них и по быстродействию) совокупностей управления базами данных, выстроенных на базе простых файл серверов и с применением клиент-серверных (SQL) совокупностей.

        Конечно, условия опробований по возможности были нивелированы, т.е. использовались однообразные количества баз данных, однообразные их структуры, одинаковый компьютер в качестве сервера, однообразное количество рабочих станций и т.д. В случае если мне не изменяет память, из клиент-серверных совокупностей были испытаны Oracle, Interbase, Informix, Gupta и самый недорогой в то время Watcom SQL Server.

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

        В частности для тестов употреблялись базы данных количеством 1.5-2Гб. Так как если бы исследователи взялись проводить опробования, применяя базы данных на порядок большего размера, то им просто не с чем было бы сравнивать SQL-варианты, потому, что простая файл-серверная совокупность на таких количествах информации бы.

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

        взглянуть на простой сетевой вариант [advert=103]1С[/advert]-Торговли. Она реализована на файл-серверном принципе, т.е. обработка данных ведется рабочей станцией, а сервер помогает легко как дополнительное, дешёвое всем пользователям дисковое устройство.

        Это указывает, что при исполнении задачи (к примеру при сборке отчета) ВСЯ база данных (либо большая ее часть) прокачивается по сети на рабочую станцию и в том месте обрабатывается процессором рабочей станции. Быстродействие таковой совокупности зависит от быстродействия диска сервера, скорости передачи данных по сети, мощности процессора рабочей станции, количества ее ОЗУ и некоторых вторых факторов.

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

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

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

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

        Тормозит 1С?!?!? Ускоряем работы с 1С за 5 мин. без приобретения сервера!


        Похожие заметки:

        Понравилась статья? Поделиться с друзьями: