различные СУБД

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Дмитрий Б.
Сообщения: 56
Зарегистрирован: 05 дек 2007, 18:09

различные СУБД

Сообщение Дмитрий Б. » 13 дек 2011, 14:27

Здраствуйте.

Хотелось бы узнать мнения спецов по поводу различных СУБД или скорее всего серверов баз данных, таких как: Interbase, MS SQL Server, MySQL.

Какие у них есть преимущества и недостатки, возможные интерфейсы доступа к данных (например интересует возможность доступа как "прямой" компоненты/API/ADO так и Web).

В данный момент работаю в связке С++Builder + Interbase.
Хотелось бы расширить свои знания и в других направлениях MS SQL Server и MySQL. Если не затруднит - буду благодарен за ссылку на хорошую литературу.



За время работы с Interbase заметил следующее - при выполнении запроса на выборку данных (select * from Table) очень сильно (90-100%) грузится процессор (CPU Pentium 4 2,4 GHz).

Web интерфейс интересует по причине удаленности магазина и склада где используется моя база данных.
Возникла идея на серверной машине поднять сервер БД MS SQL Server или MySQL - написать админ-программу на С++Builder и с ее помощью производить все изменения в БД прямо на серверной машине, а через Web интерфейс (браузер или клиент-оболочку под браузер) производить запросы на выборку данных (редактирование основных данных не предусматривается).

Буду очень признателен на какие-либо коментарии, ссылки и советы.

С Уважением, Дмитрий.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: различные СУБД

Сообщение kdv » 13 дек 2011, 15:40

у всех СУБД есть свои преимущества и недостатки. В качестве упражнения могу посоветовать почитать раздел Сравнение СУБД на sql.ru
http://www.sql.ru/forum/actualtopics.aspx?bid=10
(select * from Table) очень сильно (90-100%) грузится процессор
это сказки. select * from table просто считывает страницы данных по очереди, с диска, и тупо пересылает результат по сети. Если записей миллионы - будет небольшая нагрузка на диск, и основная нагрузка на сеть, если все это скопом пересылается клиенту. Так что грузит процессор не этот запрос.
Web интерфейс
реализуется с любой СУБД, это область клиентских приложений, так что СУБД тут ни при чем.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: различные СУБД

Сообщение Dimitry Sibiryakov » 13 дек 2011, 15:49

Из того же раздела "Сравнение СУБД": основная последовательность выбора СУБД для проекта

1) Та, что уже есть у заказчика
2) Та, которую знаешь
3) Первая попавшаяся

И это правильная последовательность.

Дмитрий Б.
Сообщения: 56
Зарегистрирован: 05 дек 2007, 18:09

Re: различные СУБД

Сообщение Дмитрий Б. » 14 дек 2011, 15:26

kdv писал(а):у всех СУБД есть свои преимущества и недостатки. В качестве упражнения могу посоветовать почитать раздел Сравнение СУБД на sql.ru
http://www.sql.ru/forum/actualtopics.aspx?bid=10
Спасибо за ссылку - покопаю.
(select * from Table) очень сильно (90-100%) грузится процессор
это сказки. ... Так что грузит процессор не этот запрос.
Ну вот например сейчас запустил програмку и диспетчер задач и сделал три запроса с небольшой паузой между ними
Изображение
Там есть три пика - в этот период когда выполнялись запросы.
В это время процесс ibserver.exe занимал до 90 % процессорного времени.
????
Все это проводилось на машине где поднят сервер БД, кстати при выполнении с сетевых клиентов, этот процесс ведет себя аналогично.
Что Вы можете сказать по этому поводу?

P.S. Используемая версия Interbase 7.0
Web интерфейс
реализуется с любой СУБД, это область клиентских приложений, так что СУБД тут ни при чем.
На sql.ru по этому вопросу есть информация или можете порекомендовать другие источники (получше).

Большое спасибо.
С Уважением, Дмитрий.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: различные СУБД

Сообщение dimitr » 14 дек 2011, 15:42

Дмитрий Б. писал(а):Что Вы можете сказать по этому поводу?
что сервер в основном читает из страничного кеша и в этом случае высокая загрузка ЦПУ - абсолютно нормальное дело. В статистике выполнения запроса это должно быть видно.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: различные СУБД

Сообщение kdv » 15 дек 2011, 00:36

Там есть три пика - в этот период когда выполнялись запросы.
какие мощные пики :) судя по "одноядерности" подозреваю, что это очень древнее.
Что Вы можете сказать по этому поводу?
см. выше. Это сервер? Десктопная машина? Это какая-то дохлая тачка как минимум 5-6 летней давности, с 512мб памяти.
Что за запрос, сколько записей он обрабатывает, есть-ли fetchall? Приведете информацию - воспроизведу на своем нынешнем чахлом трехядерном Phenom X3 720.
где поднят сервер БД,
см. выше. Сервер???
Используемая версия Interbase 7.0
кстати, 7.0 тоже весьма древний, как минимум 2003 года.
или можете порекомендовать другие источники (получше).
лучше - о чем именно?

Дмитрий Б.
Сообщения: 56
Зарегистрирован: 05 дек 2007, 18:09

Re: различные СУБД

Сообщение Дмитрий Б. » 15 дек 2011, 12:30

Там есть три пика - в этот период когда выполнялись запросы.
какие мощные пики :) судя по "одноядерности" подозреваю, что это очень древнее.
Что Вы можете сказать по этому поводу?
см. выше. Это сервер? Десктопная машина? Это какая-то дохлая тачка как минимум 5-6 летней давности, с 512мб памяти.
Что за запрос, сколько записей он обрабатывает, есть-ли fetchall? Приведете информацию - воспроизведу на своем нынешнем чахлом трехядерном Phenom X3 720.
Да машина реально древняя.
Pentium 4 2,4GHz (1 Core), 512Mb DDR1, 80Gb WD
Windows XP Home.
Данная машина является Десктопной (есть другой комп - сервер с выходом в интернет + проксисервер CCProxy + switch --- но он еще похуже будет).
Десктопная машина выполняет также функцию принт-сервера, и на ней поднят сервер БД Interbase, на ней-же я и творю свои программы посредством C++ Builder 6. (Конечно такая работа очень напригает своей туготой + еще Opera откушала ~320 Mb и так не большой памяти, но привык я к ней "ОПЕРЕ"...)
Используемая версия Interbase 7.0
Версия продукта - 7.0.0.206
Версия файла - WI-V7.0.0.206
Внутреннее имя - IBSERVER60

Да и есть ли смысл ставить более новую версию InterBase на такой трактор - думаю производительности от этого не прибавится :-).
или можете порекомендовать другие источники (получше).
лучше - о чем именно?
Прошу прощения за неточную формулировку. Имелось ввиду источники на информацию по организации Web-интерфейса (Interbase, MS SQL Server, ...). на sql.ru на этот вопрос нашлось куча ссылок про вакансии, а по существу скудно. Может есть еще источники, хорошо бы книгу.

С Увважением, Дмитрий.

Ответить