Убедить ИТ-менеджера разрешить использование SQL Server вместо Access - PullRequest
4 голосов
/ 13 февраля 2009

ИТ-менеджер не разрешает использовать SQL Server при разработке веб-сайта ASP.NET. Текущей заменяемой установкой является php-сайт, подключающийся к базе данных Microsoft Access. У меня есть несколько собственных причин относительно того, почему следует использовать SQL, но я хотел бы получить как можно больше веских аргументов (студент против ИТ-персонала) У кого-нибудь есть веские аргументы о том, почему следует использовать SQL? В частности, в отношении ИТ-менеджера, который заявил, что «это то, как мы это делали, и [это] работало».

Заранее спасибо!

UPDATE

В интересах «разгрузки» этого вопроса ... Если бы вы порекомендовали сохранить Access, когда и почему?

Ответы [ 12 ]

7 голосов
/ 13 февраля 2009

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

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

Вот некоторые инструменты стресса веб-сервера Microsoft

Для справки, можно отправлять в базу данных в основном команды SQL и не держать активное соединение открытым, тем самым позволяя гораздо больше, чем 6 или 7 подключений одновременно, но дело в том, что доступ не предназначен сделай это. Таким образом, пункт «все работает отлично» - все равно что сказать, что можно чистить пол липкой лентой: он работает, но не подходит для этой работы.

ОБНОВЛЕНО ОТВЕТ НА ОБНОВЛЕННЫЙ ВОПРОС:

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

Доступ МОЖЕТ использоваться на любопытных сайтах с большим трафиком. С помощью только операторов SQL я смог создать сайт электронной коммерции, который продавал пару миллионов долларов в год и посещал 60 тысяч человек в месяц. Это возможно, но, возможно, не идеально. Это не большие цифры, но они самые большие для любого сайта, частью которого я являюсь.

Оставьте доступ, если IT Manager слишком занят для обслуживания другого сервера или не хочет тратить время на его настройку. В конечном счете, гадание ничего не дает, а тестирование говорит вам все, что вам нужно знать. Тестируйте и принимайте решения по результатам.

6 голосов
/ 13 февраля 2009

Вот документ от Microsoft, который может помочь:

Доступ по сравнению с Sql Server

Другая статья .

Мои личные мысли: Доступ не имеет места в среде, которая могла бы выходить за рамки двух или трех одновременных соединений. Будете ли вы использовать Excel в качестве серверной части?

4 голосов
/ 13 февраля 2009

Ваш менеджер указал причину, по которой он хочет использовать Access. Вы несете ответственность за разработку альтернативы? Есть ли у вас основания полагать, что вам будет полезно доказать, что ваш менеджер ошибается? Каковы ваши личные преимущества в этом разговоре? Вы уверены, что Access не будет «достаточно хорошим»? Будет ли перепроектированный сайт иметь большую или другую нагрузку (то есть больше пользователей или менее эффективный дизайн)? Я не уверен, что вы хотите спорить с вашим менеджером, что вы не можете реализовать то, что делает так же хорошо, как старый дизайн.

Будет гораздо проще позволить проекту провалиться (если вы ожидаете, что это будет результат) и спасти его с помощью SQL Server, чем заставить своего менеджера признать, что вы понимаете ситуацию лучше, чем он

3 голосов
/ 13 февраля 2009

Не забывайте, что для таких небольших компьютеров, как большинство баз данных Access, вы можете использовать бесплатную бесплатную версию SQL Server Express Edition.

2 голосов
/ 13 февраля 2009

Не спорьте, отметьте это. Реальные данные должны превзойти риторику (в рациональном мире, по крайней мере!; -)

Установите текстовое поле с двумя вариантами и запустите их. (Если вы представляете веб-сервисы, вы можете использовать инструмент, такой как SoapUI , для автоматического стресс-тестирования. В этом пространстве есть много других инструментов.) Соберите статистику и проанализируйте ее, чтобы определить компромисс. 1005 *

2 голосов
/ 13 февраля 2009

Я также нашел эту хорошую цитату:

Не рекомендуется использовать Access база данных в производственной сети приложение. Для производственных целей, рассмотрите возможность подключения к Microsoft ™ База данных SQL Server с использованием SqlDataSource или ObjectDataSource управление.

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/accessdatasource.aspx

1 голос
/ 13 февраля 2009

Просто возьмите тестовый набор (или просто бросьте его вместе):

  1. Сравните время, необходимое для создания БД с 1000 000 энтериатов.
  2. поиск записи в БД.
  3. Vaccum the db
  4. Удалить БД
  5. Сделайте пару операций, которые, как вы думаете, будут выполняться больше на БД пару раз.

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

1 голос
/ 13 февраля 2009

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

Также рассмотрите sqlite, может быть лучше, чем доступ

1 голос
/ 13 февраля 2009

Доступ не справляется с несколькими пользователями очень хорошо (вообще?). Это означает, что если у вас есть несколько человек, пытающихся получить доступ или особенно обновить ваш сайт, он, скорее всего, умрет или в лучшем случае будет очень медленным.

Существует гораздо лучший инструментарий для SQL Server (linq to sql или структура сущностей или любое количество ORM).

SQL Express - намного лучший выбор, чем доступ к бэкенду веб-сайта, и он бесплатный.

1 голос
/ 13 февраля 2009

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

Не говоря уже о проблемах масштабируемости и надежности. SQL Server ios предназначен для использования и администрирования в среде 24/7. Доступ не имеет.

SQL может масштабироваться до миллиардов одновременных подключений, а Access не может.

SQL может выполнять резервное копирование во время работы, Access не может.

SQL спроектирован как высоконадежное хранилище данных, Access не спроектирован с учетом тех же требований.

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