Файл сервер и клиент сервер чем отличаются
Отличие архитектуры «клиент-сервер» от архитектуры «файл-сервер»
Такое приложение от сетевого многопользовательского приложения, которое рассматривалось в предыдущей главе, отличается только тем, где конкретно ведется обработка данных.
Сетевое многопользовательское приложение строится по принципу файл-серверной архитектуры. Данные в виде одного или нескольких файлов размещаются на файловом сервере. Файловый сервер принимает запросы, поступающие по сети от компьютеров-клиентов, и передает им требуемые данные. Однако обработка этих данных выполняется на компьютерах-клиентах. На каждом из компьютеров запускается полная копия процессора обработки данных Jet Engine. Любая копия Jet независимо управляет файлами MDB, содержащими данные. Единственная связь между этими независимыми действиями — файл блокировок (файл, который имеет имя, совпадающее с именем файла приложения, но с расширением Idb), который обязательно создается для каждого файла базы данных с расширением mdb. При этом каждая копия Jet выполняет изменения индексов, работу с системными таблицами и другие функции, входящие в компетенцию СУБД.
В архитектуре «клиент-сервер» сервер базы данных не только обеспечивает доступ к общим данным, но и берет на себя всю обработку этих данных. Клиент посылает на сервер запросы на чтение или изменение данных, которые формулируются на языке SQL. Сервер сам выполняет все необходимые изменения или выборки, контролируя при этом целостность и согласованность данных, и результаты в виде набора записей или кода возврата посылает на компьютер клиента.
Недостатки архитектуры с файловым сервером очевидны и вытекают главным образом из того, что данные хранятся в одном месте, а обрабатываются в другом. Это означает, что их нужно передавать по сети, что приводит к очень высоким нагрузкам на сеть и, вследствие этого, резкому снижению производительности приложения при увеличении числа одновременно работающих клиентов. Вторым важным недостатком такой архитектуры является децентрализованное решение проблем целостности и согласованности данных и одновременного доступа к данным. Такое решение снижает надежность приложения.
Архитектура «клиент-сервер» позволяет устранить все указанные недостатки. Кроме того, она позволяет оптимальным образом распределить вычислительную нагрузку между клиентом и сервером, что также влияет на многие характеристики системы: стоимость, производительность, поддержку.
Иллюстрированный самоучитель по Microsoft Access 2002
Основные понятия. Отличие архитектуры «клиент-сервер» от архитектуры «файл-сервер».
В данном разделе мы рассмотрим основные понятия модели «клиент-сервер».
Независимо от того, как определяется понятие архитектуры «клиент-сервер» (а таких определений в литературе много), в основе этого понятия лежит распределенная модель вычислений. В самом общем случае под клиентом и сервером понимаются два взаимодействующих процесса, из которых один является поставщиком некоторого сервиса для другого.
Здесь и далее в книге речь будет идти о частном случае архитектуры «клиент-сервер», а именно о приложениях баз данных, в которых сервером является мощная реляционная СУБД, такая как Microsoft SQL Server (back-end), а клиентом – приложение, созданное в среде Access 2000, которое использует данные с сервера (front-end).
Отличие архитектуры «клиент-сервер» от архитектуры «файл-сервер»
Такое приложение от сетевого многопользовательского приложения, которое рассматривалось в предыдущей главе, отличается только тем, где конкретно ведется обработка данных.
В архитектуре «клиент-сервер» сервер базы данных не только обеспечивает доступ к общим данным, но и берет на себя всю обработку этих данных. Клиент посылает на сервер запросы на чтение или изменение данных, которые формулируются на языке SQL. Сервер сам выполняет все необходимые изменения или выборки, контролируя при этом целостность и согласованность данных, и результаты в виде набора записей или кода возврата посылает на компьютер клиента.
Недостатки архитектуры с файловым сервером очевидны и вытекают главным образом из того, что данные хранятся в одном месте, а обрабатываются в другом. Это означает, что их нужно передавать по сети, что приводит к очень высоким нагрузкам на сеть и, вследствие этого, резкому снижению производительности приложения при увеличении числа одновременно работающих клиентов. Вторым важным недостатком такой архитектуры является децентрализованное решение проблем целостности и согласованности данных и одновременного доступа к данным. Такое решение снижает надежность приложения.
Архитектура «клиент-сервер» позволяет устранить все указанные недостатки. Кроме того, она позволяет оптимальным образом распределить вычислительную нагрузку между клиентом и сервером, что также влияет на многие характеристики системы: стоимость, производительность, поддержку.
МИГКУ ИТ-51вс
Метки
Добавить страницу
Централизованная система
Все данные на одном ПК. Таких приложений вагон и маленькая тележка — от всяких наколенных поделок на M$ Access до Mozilla Firefox (он использует файловую СУБД SQLite для хранения некоторых данных)
Архитектура «файл-сервер»
Наиболее простой случай распределённой обработки данных, на сервере располагаются только файлы БД, а клиентское приложение оперирует собственной копией СУБД, самостоятельно работает с данными, получаемыми от сервера.
Использование файл-серверов предполагает, что вся обработка данных выполняется на рабочей станции, а фал-сервер лишь выполняет функции накопителя данных и средств доступа.
Двухуровневая архитектура «клиент-сервер»
Основана на использовании только сервера баз данных, когда клиентская часть содержит уровень представления данных, а на сервере находится база данных вместе с СУБД и прикладными программами.
Сервер баз данных отличается от файл-сервера тем, что в его оперативной памяти, помимо операционной системы, функционирует централизованная СУБД, обеспечивающая совместное использование рабочими станциями базы данных, размещённой во внещней памяти этого сервера.
Сервер баз данных даёт возможность отказаться от пересылки по сети файлов данных и передавать только ту выборку из базы данных, которая удовлетворяет запросу пользователя.
Трёхуровневая архитектура «клиент-сервер»
Позволяет помещать прикладные программы на отдельные серверы приложений, с которыми через API-интерфейс устанавливается связь клиентских рабочих станций (как Deathmatch в Quake). Работа клиентской части приложения сводится к вызову необходимых функций сервера приложения, которые называются «сервисами». Прикладные прогаммы в свою очередь обращаются к серверу баз данных с помощью SQL-запросов.
Плюсы:
Многоуровневая архитектура «клиент-сервер»
Вариант для территориально-распределённых предприятий. Наиболее удачным примером будет предприятие с легионом филиалов со своими копиями БД, адаптированными под региональные и функциональные обстоятельства, и центральным офисом с интегрированной (полной) базой данных для централизованного ведения и администрирования (и анализа, Холмс!) общих данных для всех филиалов.
Возможны следующие режимы репликации данных:
синхронный тиражируемые данные обновляются по мере возникновения необходимости одновременно на серверах баз данных и во всех копиях. Требуемое быстродействие может исчисляться в единицах Мбит по-сравнению с единицами Кбит при асинхронном режиме асинхронный тиражирование происходит в строго определённые моменты времени, например каждый час работы информационной системы.
равноправное в обоих направлениях (да, это невероятно звучит) сверху-вниз («ведущий-ведомый») когда на серверах филиалов содержатся только некоторые подмножества данных центральной базы данных. снизу-вверх при обновлении данных в филиалах в определённые моменты времени обновляется центральная база данных.
Одной из базовых функций информационной системы организации любого масштаба является обеспечение обмена информацией как внутри организации, так и за ее пределами. Однако в этом процессе имеются проблемы, связанные со скоростью обмена информацией и работой с информацией в режиме коллективного доступа. Решают эти проблемы программные продукты, организующие обработку информации по определенным технологиям. В настоящее время наибольшее распространение получили следующие технологии:
Файл-серверная технология – это работа в сетевом пространстве с доступом к файлам СУБД, хранящимся на сервере.
Обработка запроса одного пользователя:
· Обращение к БД (запрос)
· Перекачка данных с блокировкой доступа других пользователей
· Обработка данных на компьютере пользователя
В файл-серверной организации клиент работает с удаленными файлами, что вызывает существенную перегрузку трафика (поскольку СУБД-ФС работает на стороне клиента, то для выборки полезных данных в общем случае необходимо просмотреть на стороне клиента весь соответствующий файл целиком).
В целом, в файл-серверной архитектуре мы имеем «толстого» клиента и очень «тонкий» сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.
Недостатки файл-серверной системы очевидны:
· Очень большая нагрузка на сеть, повышенные требования к пропускной способности. На практике это делает практически невозможной одновременную работу большого числа пользователей с большими объемами данных.
· Обработка данных осуществляется на компьютере пользователей. Это влечет повышенные требования к аппаратному обеспечению каждого пользователя. Чем больше пользователей, тем больше денег придется потратить на оснащение их компьютеров.
· Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.
· Безопасность. Для обеспечения возможности работы с такой системой Вам будет необходимо дать каждому пользователю полный доступ к целому файлу, в котором его может интересовать только одно поле.
Заметим, что интерфейс между клиентской частью приложения и клиентской частью сервера баз данных, как правило, основан на использовании языка SQL. Поэтому такие функции, как, например, предварительная обработка форм, предназначенных для запросов к базе данных, или формирование результирующих отчетов выполняются в коде приложения, а все обращения к серверу баз данных сводятся к передаче текста операторов языка SQL.
Поскольку вся работа с БД (выборка, добавление, выполнение триггеров и процедур) происходит на стороне сервера, то в клиент-серверной организации клиенты могут являться достаточно «тонкими», а сервер должен быть «толстым» настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов.
Таким образом, все вышеперечисленные недостатки файл-серверной схемы устраняются в архитектуре клиент-сервер:
Обучение программированию на 1С
Режимы работы 1С: файловый вариант, клиент-сервер
Как известно, при добавлении новой базы 1С необходимо выбрать её местоположение: либо указать папку на компьютере, либо путь к базе данных (БД). Чем отличаются оба варианта?
Информационная база (ИБ) 1С может работать в 2 режимах, это:
Это принципиально разные варианты работы.
Файл-серверный вариант предполагает хранение файла с базой на жёстком диске компьютера. Работа с этим файлом осуществляется клиентским приложением 1С.
Клиент-серверный вариант работы отличается от файлового тем, что между файлом базы данных и программой 1С есть ещё 2 прослойки: сервер 1С и СУБД. Сервер 1С отвечает за трансляцию и передачу команд серверу СУБД, а также обеспечивает права доступа к объектной модели системы. СУБД обеспечивает все операции чтения/записи над данными.
Таким образом, элементами клиент-серверной архитектуры последовательно являются:
Цепочка взаимодействия при таком варианте следующая:
Стоит понимать, что файловый вариант работы с базой – это базовый вариант её использования. База 1С должна быть достаточно небольшой (до 2 Гб), чтобы в ней можно было совершать регламентные операции. Плюсы у клиент-серверного варианта работы следующие:
Теперь более подробно рассмотрим клиентское приложение 1С. Клиент 1С бывает нескольких видов:
Любое клиентское приложение 1С передаёт данные, действия пользователя через сервер 1С. Затем эстафета передаётся СУБД. Стоит также сказать что 1С:Предприятие поддерживает работу не со всеми СУБД, а только с определёнными:
Таким образом, при выборе режима работы с ИБ 1С и выборе подходящего вида клиента 1С нужно учитывать вышесказанное.