Будут ли в бэкэнде MS Access для клиент-серверных приложений проблемы со скоростью передачи? - PullRequest
2 голосов
/ 16 июля 2010

Если я использую MS Access в бэкэнде программного обеспечения типа клиент-сервер и файл базы данных отправляется от клиента к серверу, это создаст какие-либо проблемы при дальнейшей обработке базы данных, скорости передачи или производительности по сравнению с SQL Server

Ответы [ 4 ]

7 голосов
/ 17 июля 2010

По моему опыту, существует 4 основных различия между файлами MS Access MDB и производительностью SQL Server в среде с небольшой локальной сетью (где малые средства означают 20 пользователей или менее при не более 10 одновременных пользовательских сеансах)

  1. Security.Использование файла MDB для доступа требует, чтобы клиент имел прямой доступ к файлу MDB.Эта архитектура не может быть действительно безопасной, если вам нужно ограничить доступ к данным для некоторых пользователей.Доступ на уровне безопасности пользователя может быть взломан.Вы можете использовать уровень безопасности файлов или уровень общего файлового ресурса в ОС, если это удовлетворяет вашим требованиям безопасности.
  2. Файлы MDB подвержены повреждению в результате сетевых ошибок.Единственный раз, когда я видел повреждение базы данных SQL Server, происходило из-за аппаратного сбоя на сервере.
  3. Верхний предел для файла MDB составляет около 25 пользователей, и Access чувствителен к большим объемам транзакций.для вставок, обновлений и удалений.
  4. В большинстве случаев при работе с Access вам потребуется, чтобы все пользователи вышли из базы данных, чтобы внести какие-либо изменения в структуру таблиц.Это гораздо менее удобно, чем использование сценариев DDL в SQL Server.Если вы решите использовать Access, я бы порекомендовал получить копию LDBView , чтобы вы могли указать, кого вам придется исключать из базы данных каждый раз, когда вы вносите обычные изменения в структуру данных.

В случае внутреннего файла MDB необходимо предусмотреть возможность, если пользовательская аудитория мала и простота развертывания привлекательна для организации-клиента.Но если вы начинаете новый проект, преимущества бэкэнда SQL Server должны быть тщательно рассмотрены.Если у вас большая пользовательская аудитория, настоятельно рекомендуется использовать SQL Server.

Маловероятно, что у вас возникнут проблемы со скоростью передачи при использовании файла MDB с актуальной версией MS Access инастроенная локальная сеть.

5 голосов
/ 16 июля 2010

Если вы используете MS Access в качестве внутренней базы данных, это не клиент-серверное решение.Базы данных Jet (создаваемые MS Access) основаны на файлах, а не клиент-сервер.

Если пропускная способность между клиентом и БД высока (как у другого сервера в той же сети), то она не должна создаватьсялюбые серьезные проблемы с производительностью, связанные со скоростью передачи.Однако, если вы подключаетесь по медленной WAN-ссылке к БД от клиента, это определенно может создать узкое место в производительности.

2 голосов
/ 17 июля 2010

У меня есть статья об использовании доступа по сети, и особенно по глобальной сети, здесь:

http://www.kallal.ca/Wan/Wans.html

0 голосов
/ 31 июля 2010

Здесь уже есть несколько хороших ответов. Но часто упускают из виду то, что существуют сценарии, в которых использование облегченного mdb дает вам гораздо большую производительность, чем тяжелый SQL-сервер. Например, если многопользовательский доступ не так важен, но вам необходимо выполнить многократную пакетную обработку ваших данных, использование файлов MDB может быть намного быстрее. С другой стороны, если у вас много классической обработки OLTP со многими пользователями, вы можете воспользоваться реальной базой данных клиент / сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...