|
Программирование >> Реализация целостности данных
ГЛАВА 1 ема базы данных денные данные будут удовлетворять старым критериям проверки, но не новым). Но даже в этом маловероятном случае целостность данных не нарушится, поскольку подобные конфликты разрешаются на уровне механизма базы данных. Тем не менее, меня пугает одна лишь мысль о том, что схема базы данных может изменяться, в то время как система активно используется. Архитектура данных Для разработки приложения мало определить структуру программного кода проектируемой системы, нужно еще выбрать подходящую архитектуру данных. В главе 1 упоминалось, что СУБД состоит из отдельных компонентов: самого приложения, механизма СУБД и непосредственно базы данных (рис (; Основываясь на четырехуровневой модели программных компонентов, мы можем теперь детализировать эту структуру (рис. 10-3). уровень интерфейса Уровень интерфейса внешнего достуга - Приложение Механизм Саз данных База данных Рис. 10-3. СУБД состоит из шест яъных уровней ЧАСТЬ 2 Прве!<т!К5вйний рш1ЯЦион>ш1Х 5 стем,ба;> даннык Определяя архитектуру данных приложения, вы должны решить, где разместить уровни. Теоретически, каждый из них (или даже каждый отдельный компонент) может находиться на своем компьютере, подключенном к сети. Возможна и противоположная ситуация: все компоненты установлены на одном компьютере, не включенном в сеть. В конечном счете, все сводится к нескольким стандартным конфигурациям, которые следует использовать в различных ситуациях. Рассмотрим их подробней. Одноуровневая архитектура Каждое логическое объединение компонентов в архитектуре данных называется слоем. Наиболее простая архитектура - одноуровневая, то есть такая, где все компоненты объединены в один логический уровень. Наипростейший вариант такой архитектуры - система, не подключенная к сети (изолированная система). В изолированной системе все компоненты установлены на одном компьютере и доступны только пользователю тающему с этим компьютером. Даже если компьютер физически подключен к сети или Интернету, СУБД недоступна остальным пользователям. При этом и хранение данных, и все вычисления осуществляются локально, производительность ограничивается лишь физическими параметрами системы - мощностью процессора и объемом физической памяти. Изолированные системы требуют большого размера памяти, и поэтому гораздо менее эффективны, чем другие конфигурации. В большинстве изолированных систем используется низм баз данных Microsoft Jet. Конечно, на отдельном компьютере можно реализовать и систему на основе SQL Server, но строго говоря, такую систему нельзя считать одноуровневой. Исключение составляет Microsoft Data Engine (MSDE), поставляемый вместе с Access 2000. Это своего рода упрошенньн! вариант SQL Server , работающий в одноуровневой архитектуре. Распространенный вариант одноуровневой архитектуры - база данных, к которой есть доступ но сети. В такой модели база данных или ее часть находится на компьютере, подключенном к сети, однако все вычисления выполняются локально. ПРИМЕЧАНИЕ Размещатьнр иложжениепшц диске крайне неразумно. Теоретически это возможно, однако такая конфигурация приведет к существенному возрастанию нагрузки на сеть. Гораздо удобнее разместить приложение на локальном комнью-тере, а для доступа к данным, находящимся на сетевых ресурсах, ис-нользовать связанные таблицы. ГЛАВА 1 foews базы да ых База данных, размещенная на сетевом диске, позволяет работать с данными нескольким пользователям одновременно. (В основном, конечно, это относится к механизму баз данных Microsoft Jet). Теоретически число пользователей, одновременно работающих с такой базой, не може пинать 255. Однако на практике максимальное число пользователей зависит от того, какие действия они выполняют с базой данных, а также от производительности системы. Очевидно, что 20 пользователей, одновременно данные с максимально возможной скоростью, больше загрузят систему, чем 50 человек, проданные о продажах и определяющие маркетинговую стратегию продвижения товара. Снижение нагрузки на сеть непосредственно влияет на схему базы данных. Все вычисления выполняются на локальном компьютере; таким образом, компьютер, на котором размещается база данных, с точки зрения пользователя практически ничем не отличается от удаленного жесткого диска. Различие лишь во времени доступа к данным: для сети оно существенно выше, чем для локального диска. Кроме ич iv существует еще один фактор, ограничивающий производительность системы - это пропускная сети. С ростом числа пользователей этот фактор начинает сказываться все сильнее. Поэтому при использовании сетевого доступа разработчики, как правило, стараются свести к минимуму передаваемый объем данных, Здесь решение в большой степени зависит от внешние товий, и каждый раз приходится искать компромисс, оптимизируя взаимосвязанные параметры. Более подробно варианты одноуровневых систем раскрываются в литературе, перечисленной в библиографическом указателе, а также в материалах на компакт-дис- прилагаемом к книге. На производительность сети влияют и другие параметры схемы базы данных: расположение объектов и использование индексов. Как я уже упоминала, очень важно, чтобы объекты пользовательского интерфейса размещались на локальных компьютерах. Кроме того, можно разместить на пользовательских компьютерах локальные пии данных, которые редко изменяются. Например, список продуктов, которыми торгует компания - к этим данным обращаются достаточно часто. Если таб- лица Products (Продукты) не занимает слишком много места на диске (не более нескольких мегабайт, даже 1 Гб ~ уже слишком много), то копии такой таблицы можно хранить на компьютерах всех пользователей системы. Это часто позволяет уменьшить обмен данными по сети и улучшите осгь Конечно, при таком варианте
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |