Yvision.kz
kk
Разное
Разное
399 773 постов41 подписчиков
Всяко-разно
0
09:37, 18 февраля 2010

Худеем, господа IT-шники. Часть вторая

В прошлом посте я описал тонкий клиент как «железку». Но, почитав комментарии, понял, что этого мало. Сам термин «клиент» подразумевает, что устройство не является самодостаточным и рассматривать его отдельно просто будет неверно. Чтобы понять суть тонкой машины, необходимо взглянуть на систему «сервер-клиент», в которой он участвует.

В этом плане очень показателен комментарий пользователя hackuna: «Хороший сервер обойдётся примерно во столько же, во сколько автономные клиентские машины (при умеренном количестве рабочих мест)».

Blog post imageНу… да. Уверен, можно найти ситуацию, где стоимость будет примерно одинакова. Однако корректно ли само сравнение систем «Сервер-Тонкие клиенты» и «Сервер-ПК»? Нет. Автомобиль куда дороже, чем велосипед. Но разве кто-нибудь сравнивает их прайсы? Да, велосипед доступнее, но автомобиль в разы эффективнее...

Ближе к делу. Представьте себе человека с книгой. Назовем его Сервер Сергей. Он сидит, окруженный телефонами, по которым ему непрерывно звонят 10 человек. У каждого звонящего есть свои, типичные задачи. Например, узнать, сколько раз в книге повторяется слово «нос».

Понятно, что в этой аналогии книга - суть база данных, а поиск носа - определенная выборка из нее.

Так вот, в системе «Сервер-ПК» Сергей будет диктовать книгу каждому позвонившему. От корки до корки, чтобы тот, записав ее, начал искать нужное ему слово самостоятельно.

В системе «Сервер-Клиент» Сергей будет сам просматривать книгу и говорить позвонившему только ответ: «нос» - 154 повторения.

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

Blog post image

Как пример, небольшой наглядный эксперимент, который я провел на днях.


Что имеем: сервер с базой 1С и персональный компьютер, соединенные по сети.

Что делаем: даем запрос данных по продаже одного продукта за год. Запрос пошел на сервер, сервер принял его и начал отдавать данные на ПК. Компьютер загудел и начал обработку.Таблица с результатами появилась через 1 минуту 40 секунд.

Следующий шаг. Заходим на сервер удаленно. Делаем аналогичный запрос и… результат появляется через 9 секунд. Ну, накинем секунду на то, чтобы отослать результат клиенту.

Получается, что второй вариант сработал в 10 раз эффективнее. И это при примитивном запросе. А что, если речь идет о сложной выборке из действительно большой базы?

Показательно то, что на новой, 8-ой версии 1С повторить этот эксперимент вряд ли удастся.

Дело в том, что 8-ка известна тем, что обработка подобных запросов ведется на стороне сервера. Иными словами, 1С сделала шаг в сторону тонких клиентов на программном уровне и это, на мой взгляд, показательно.

P.S. «Наши» программные продукты мирового уровня можно сосчитать на пальцах: 1С, Kaspersky, Dr.Web… (может, есть что-то еще, но и пальцы у меня еще остались) То, что новая 1С победно шагает по Европе, составляя конкуренцию серьезным западным системам автоматизации – дает повод гордиться российскими программистами.

0