На каком компьютере происходит работа с базой данных

Обновлено: 05.07.2024

К настоящему времени разработаны линейки продуктов DB2 и Informix , включающая как собственно СУБД так и средства разработки и анализа данных (DB2 Universal Database ДDB2 Personal Edition , DB2 Enterprise 9 и др., а также Informix Dynamic Server, Informix Dynamic Server Express, Informix Extended Parallel Server и др.

Универсальный сервер баз данных DB2 Universal Database - это масштабируемая, обьектно-реляционная система управления базами данных с интегрированной поддержкой мультимедиа и Web, работающая на системах от персональных компьютеров и серверов на процессорах Intel до Unix, от однопроцессорных систем до симметричных многопроцессорных систем (SMP) и систем с массовым параллелизмом (MPP), на хостах AS/400 и мейнфреймах. DB2 Universal Database объединяет в себе высокую производительность систем обработки транзакций в режиме on-line, объектно-реляционные расширения, усовершенствованные средства оптимизации с возможностями параллельной обработки и поддержкой очень больших баз данных. DB2 Universal Database также имеет новые встроенные средства для облегчения переноса на свою базу приложений, разработанных на других системах управления базами данных, таких как Oracle, Microsoft, Sybase и Informix. Помимо этого, DB2 Universal Database включает в себя дополнительные средства поддержки систем аналитической обработки в реальном времени (OLAP) и систем поддержки принятия решений, множество простых в использовании расширений (DB2 extenders). DB2 Universal Database доступна на абсолютном большинстве ключевых платформ, что дает заказчикам ту гибкость, которая им необходима.

Кроме вышеуказанных зарубежных систем отметим и отечественную разработку – СУБД НИКА, преемницу широко распространенной в Советском Союзе СУБД ИНЕС для ЕС ЭВМ.

Мы привелиВ этой лекции был приведен краткий обзор незначительной части существующих СУБД. При огромном разнообразии СУБД вполне естественны споры (которые возникли с момента появления СУБД и, по-видимому, не утихнут никогда) о том, какая СУБД лучше. Нам представляется, что однозначного ответа на этот вопрос не существует. Каждая СУБД имеет свои границы применимости, у каждой из них существуют свои достоинства и недостатки, свое соотношение цена-качество. На форумах Интернета идут постоянные дискуссии пользователей и администраторов баз данных о том, какая СУБД лучше, которые, естественно, не дают окончательного ответа. Любой читатель может иметь личные пристрастия, которые в его глазах уменьшают недостатки и увеличивают достоинства некоторой конкретной СУБД. Мы считаем, что это нормально. Общие рекомендации о том, какой из СУБД воспользоваться в каком-то конкретном случае, придумать сложно. Выбор, прежде всего, зависит от класса задач, который нужно решать с использованием СУБД, от тех критериев, которые для соответствующего класса задач являются предпочтительными ( стоимость СУБД, простота разработки информационной системы, быстродействие системы при конкретных объемах данных, устойчивость в работе, возможность восстановления, защита от несанкционированного доступа и т.д.). Рекомендация может быть только одна: внимательно изучайте обзоры, читайте пресс-релизы, знакомьтесь с отзывами пользователей, сопоставляйте их наблюдения о плюсах и минусах систем с вашими потребностями и возможностями.

Краткие

итоги. В лекции рассмотрены Рразличные архитектурные решения, используемые при реализации многопользовательских СУБД. Централизованная архитектура. Технология с сетью и файловым сервером (архитектура «файл-сервер»). Архитектура «клиент – сервер» (распределенная модель вычислений). Трехзвенная (многозвенная) архитектура) клиент – сервер. Дан Ообзор современных СУБД (настольные СУБД, серверные СУБД).

Задача 1. Какие технологии работы с базой данных поддерживают многопользовательский режим?

Вариант 1.

Какие технологии работы с базой данных поддерживают многопользовательский режим?

ð+ +технология с централизованной архитектурой базы данных

ð+ +технология с сетью и файловым сервером

ð+ +технология клиент-сервер

ð+ +технология с трехзвенной архитектурой

Вариант 2.

С чем связано развитие многопользовательских технологий работы с базами данных?

+ð+ с развитием СУБД

+ð+ Сс развитием вычислительных сетей

ð Сс развитием технологий программирования

ð Сс ростом квалификации программистов

Вариант 3.

Основные достоинства многопользовательского режима работы с базой данных

ð возможность использования прикладных программ других пользователей

ð сокращение затрат машинного времени

+ð+ возможность работы многих пользователей с базой данных

ð сокращение количества обращений к базе данных

Задача 2. Что такое архитектура файл-сервер?

Вариант 1.

Где расположена база данных в такой архитектуре?

ð на компьютере пользователя

+ð+ на специально выделенном компьютере – сервере

ð на компьютере пользователя и на специально выделенном компьютере – сервере

ð на всех компьютерах пользователей в локальной сети

Вариант 2.

Где расположены программы пользователя и программы СУБД?

+ð+ на компьютере пользователя

ð на специально выделенном компьютере – сервере

ð программа пользователя на компьютере пользователя, СУБДсубд на

специально выделенном компьютере – сервере

+ð+ СУБДсубд расположена на всех компьютерах пользователей в локальной сети

Вариант 3.

На каком компьютере происходит работа с базой данных?

ð+ +Нна компьютере одного пользователя

ð Нна специально выделенном компьютере – сервере

ð пПрикладные программы работают на компьютере пользователя, программы СУБД работают на специально выделенном компьютере – сервере

+ð+ пПрикладные программы и программы СУБД работают на компьютере пользователя.

Задача 3. Как идет обмен информацией между компьютерами в технологии файл-сервер?

Вариант 1.

Что делает компьютер пользователя?

+ð+ вВыполняет прикладную программу

+ð+ Ввыполняет программы СУБД

+ð+ рРеализует запросы пользователя к базе данных

+ð+ Ввыполняет прикладную программу и программы СУБД

Вариант 2.

Что делает файл-сервер?

ð фФормирует ответы на запросы к базе данных

+ð+ Ииспользуется как внешняя память для хранения базы данных

ð вВыполняет программы СУБД

ð вВыполняет прикладные программы и программы СУБД

Вариант 3.

Как идет обмен информацией между компьютерами в технологии файл-сервер?

ð вВ компьютер пользователя считываются все файлы базы данных

ð Вв компьютер пользователя считываются только данные, удовлетворяющие запросу пользователя

+ð+ Вв компьютер пользователя считываются только те файлы базы данных, которые необходимы для выполнения запросов

+ð+ Вв компьютер пользователя считываются файлы базы данных, указанные в прикладной программе .

Задача 4.Что такое архитектура клиент-сервер

Вариант 1.

Где расположена база данных в такой архитектуре?

ð на компьютере пользователя

+ð+ на специально выделенном компьютере – сервере

ð на компьютере пользователя и на специально выделенном компьютере – сервере

ð на всех компьютерах пользователей в локальной сети

Вариант 2.

Где расположены программы пользователя и программы СУБД в архитектуре клиент-сервер?

ð Нна компьютере пользователя

ð нНа специально выделенном компьютере – сервере

+ð+ пПрограмма пользователя на компьютере пользователя, СУБД на

специально выделенном компьютере – сервере

ð СУБД расположена на всех компьютерах пользователей в локальной сети

Вариант 3.

На каком компьютере происходит работа с базой данных в архитектуре клиент-сервер?

ð нНа компьютере одного пользователя

+ð+ нНа специально выделенном компьютере – сервере

+ð+ пПрикладные программы работают на компьютере пользователя, программы СУБД работают на специально выделенном компьютере – сервере

+ð+ Пприкладные программы и программы СУБД работают на компьютере пользователя.

Задача 5. Как идет обмен информацией между компьютерами в технологии клиент-сервер?

Вариант 1.

Что делает компьютер – клиент?

+ð Ввыполняет прикладную программу

ð Ввыполняет программы СУБД

ð рРеализует запросы пользователя к базе данных

ð+ вВыполняет прикладную программу и программы СУБД

Вариант 2.

Что делает сервер?

+ð+ фФормирует ответы на запросы к базе данных

ð иИспользуется как внешняя память для хранения базы данных

+ð+ вВыполняет программы СУБД

ð вВыполняет прикладные программы и программы СУБД

Вариант 3.

Как осуществляется обмен информацией между компьютером-клиентом и сервером?

ð Вв компьютер-клиент считываются все файлы базы данных

+ð+ вВ компьютер-клиент считываются только данные, удовлетворяющие запросу пользователя

ð Вв компьютер-клиент считываются только те файлы базы данных, которые необходимы для выполнения запросов

ð вВ компьютер-клиент считываются файлы базы данных, указанные в прикладной программе .

Задача 6. Что такое трехзвенная (многозвенная) архитектура

Вариант 1. Что отличает трехзвенную архитектуру от архитектуры клиент-сервер?

ð большее количество компьютеров пользователей

ð большее количество серверов баз данных

+ð+ наличие серверов других типов

ð другой способ взаимодействия с сервером баз данных

Вариант 2. Где выполняются программы пользователя в трехзвенной архитектуре?

ð на компьютере пользователя

ð на сервере баз данных

+ð+ на компьютере пользователя и сервере приложений

ð на сервере приложений

Вариант 3. Что делает сервер приложений?

ð выполняет прикладные программы пользователя

+ð+ формирует запросы к базе данных и обрабатывает результаты запросов

ð формирует интерфейс пользователя

ð отображает результаты обработки на компьютере пользователя

Задача 7. Сравнение архитектуры клиент-сервер с файл-серверной архитектурой.

Вариант 1.

Какие черты характерны для компьютеров-клиентов в архитектуре клиент-сервер по сравнению с файл-серверной архитектурой?

ð увеличение объема прикладной программы

+ð уменьшение объема прикладной программы

+ð+ уменьшение объема производимых вычислений

ð+ увеличение объема занимаемой памяти

+ð уменьшение объема занимаемой памяти

Вариант 2.

Как меняется объем данных, передаваемых по локальной сети в архитектуре клиент-сервер по сравнению с файл-серверной архитектурой?

ð немного уменьшается

ð увеличивается

ð остается таким же

ð+ существенно уменьшается

Вариант 3.

За счет чего улучшаются характеристики целостности и безопасности данных?

ð из-за уменьшения объема передаваемых данных

ð за счет более эффективного формирования запросов

ð за счет реализации соответствующих функций СУБД на клиентских компьютерах

ð+ +Зза счет реализации соответствующих функций СУБД на сервере баз данных

Задача 8.Как классифицируются современные СУБД?

Вариант 1.

Какие СУБД относятся к клиент-серверным?

ð ACCESS

+ð+ MS SQL-сервер

+ð+ ORACLE

ð+ +DB2

Вариант 2.

Какие СУБД относятся к файл-серверным?

+ð+ ACCESS

ð MS SQL-сервер

ð ORACLE

+ð+ FoxPro

Вариант 3.

Какие СУБД используются для организации баз данных в крупных организациях (относятся к промышленным)?

ð ACCESS

ð+ +MS SQL-сервер

ð+ +ORACLE

ð FoxPro

Литература

1. Грофф Дж., Вайнберг П. Энциклопедия SQL. 3-е изд. СПб.: Питер, 2003.

2. Шумаков П.В. Delphi 3 и создание приложений баз данных. М.: Изд-во «Нолидж», 1998.

3. Мамаев Е. Microsoft SQL Server 2000 в подлиннике. СПб.: Изд-во BHV, 2001.

Лекция 4. Различные представления о данных в базах данных. Основные этапы проектирования баз данных.

В лекции рассматриваются различные представления о данных в базах данных. Описываются модели данных (внешнее представление, концептуальная модель, структура хранения) и основные этапы проектирования базы данных. Рассматривается жизненный цикл проектирования базы данных.

Ключевые словатермины: концептуальные требования пользователя, концептуальная модель, модель данных СУБД,

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

Цель лекции: Показать существование различных представлений о данных (различных моделей) у разных групп лиц, работающих с данными. Рассмотреть отражение этих представлений в трехуровневой архитектуре базы данных (внешний уровень, концептуальный уровень, внутренний уровень), сформулировать достоинство трехуровней архитектуры. Выделить основные этапы пректирования базы данных как процесса построения вышеуказанных моделей.

4.1. Различные представления о данных в базах данных

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

Обобщение представлений всех пользователей о данных называется концептуальной моделью (схемой) БД. Концептуальная модель представляет информационное описание предметной области с учетом логических взаимосвязей, поэтому её еще называют инфологической (информационно-логической) моделью. В модели отсутствуют какие-либо понятия, связанные с ЭВМ, памятью ЭВМ, способами размещения данных в памяти ЭВМ, и, по сути, это модель только предметной области.

Рис. 4.1. Обобщение представления пользователей о данных

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

Следующий этап разработки базы данных предполагает выбор представления концептуальной модели с помощью модели данных конкретной СУБД. Полученное таким образом представление концептуальной модели называется логической моделью БД. Или другими словами, логическая модель – это концептуальная схема, специфицированная в языке конкретной СУБД. Логическая модель представляет данные и элементы данных вне зависимости от их содержания и среды хранения. Далее разработчик системы средствами СУБД отображает полученную логическую модель БД в память ЭВМ и определяет методы доступа. Полученное представление данных в памяти ЭВМ называется внутренним представлением или структурой хранения. Прикладные программы работают с логической моделью, причем каждому пользователю представляется подмножество этой логической модели (подсхема), отражающее его представление о предметной области. Каждая прикладная программа «видит» и обрабатывает только те данные, которые необходимы именно ей.

Соответствующее «видение» данных прикладными программами (пользователями) представляет собой внешние представления. Взаимосвязь вышеуказанных моделей изображена на рис.4.2.

Рис. 4.2. Различные представления о данных в БД

На данной схеме выделены три различных уровня описания данных (внешний, концептуальный, внутренний). Эти уровни формируют так называемую трехуровневую архитектуру ANSI/SPARC, предложенную в 1975 г. Комитетом планирования стандартов и норм SPARC (Standards Planning and Requirements Committee) Национального института стандартизации США (American National Standards Institute – ANSI). Основная цель этой архитектуры состоит в отделении пользовательского представления о данных в базе данных от их физического представления. Использование таких представлений о данных позволяет обеспечить выполнение основного требования к БД – независимости программ и данных. При изменении прикладных программ может измениться соответствующее внешнее представление, но логическая модель данных не изменяется и, соответственно, не будут изменяться другие прикладные программы. При изменении внутреннего представления (структур хранения) логическая модель не изменяется, соответственно, не изменяются прикладные программы.

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

Соответствующие представления позволяют описать «видение» базы данных разными лицами, работающими с ней:

§· внешнее представление – представление специалиста предметной области (пользователя);

§· внешнее представление и логическая модель – представление прикладного программиста, разрабатывающего конкретное приложение для пользователя;

§· логическая модель и внутреннее представление – представление системного программиста, администрирующего базу данных.

4.2. Основные этапы проектирования базы данных

Проектирование данных (базы данных) представляет собой процесс последовательного отображения исследуемых явлений реального мира в виде данных в памяти ЭВМ (рис. 4.3.).

Сервер баз данных: что нужно знать

Серверами баз данных называют серверные платформы с установленным специализированным ПО, предназначенным для управления и обслуживания структурированных данных. Любой SQL-сервер выполняет I/O-операции при обращении клиентов к базе и поддерживает её в целостности. О том, какие виды серверов БД бывают, какие требования к ним предъявляется и как выбрать конфигурацию, которая будет наилучшим образом подходить под потребности того или иного предприятия, мы и поговорим в этой статье.

  1. Почему для управления базой выделяют отдельный SQL-сервер
  2. Системы управления базами данных
    1. MS SQL
    2. Oracle Database
    3. IBM DB2
    4. MySQL
    5. PostgreSQL
    1. Пропускная способность сети
    2. Дисковая подсистема
    1. Менее 10 подключений.
    2. От 10 до 20 пользователей
    3. От 20 до 50 клиентов
    4. От 50 до 100 подключений
    5. От 100 до 200 пользователей.
    6. От 200 до 500 клиентов.

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

    Почему для управления базой выделяют отдельный SQL-сервер

    Главное назначение выделенного сервера БД состоит в размещении, обработке и хранении информации силами достаточно производительной конфигурации, при этом все это происходит посредством одной из предустановленных СУБД. Непосредственно сама система управления базами предоставляет доступ к ним клиентам и приложениям и обеспечивает оперативную обработку запросов. Описанный формат взаимодействия также называют архитектурой типа «клиент-сервер».

    Любое обращение к реляционной БД происходит в большинстве случаев на самом распространенном языке запросов SQL. В свою очередь платформа, на которой запущена СУБД, «понимающая» этот язык, и называется SQL-сервером.

    При небольших нагрузках допустимо (а иногда и оправданно) разместить базу данных на основной вычислительной машине. Более крупные проекты, где число ежедневных запросов к базе превышает 500, разумнее реализовывать уже на отдельном SQL-сервере. Это позволяет оборудованию не распыляться на сторонние задачи, а сосредоточиться на выполнении типовых процессов, под которые заранее рассчитаны ресурсы и мощность оборудования.

    Системы управления базами данных

    На базе SQL создан и поддерживается целый ряд программных продуктов: одна часть из них требует приобретения лицензии, другая свободно распространяется и развивается сообществом разработчиков.

    MS SQL

    Производительная и отказоустойчивая реляционная СУБД от Microsoft для многопользовательского использования в среде операционной системы Windows. Обладает возможностью удаленного подключения и поддерживает создание триггеров, оперирует всеми распространенными типами данных. Кроме того, для настройки системы реализованы функциональные и простые в использовании плагины.

    Oracle Database

    Программное решение от компании Oracle, созданное для объединения и управления базами данных в облаке. Позволяет проводить интерактивную аналитическую обработку, автоматизировать рутинные бизнес-операции, работать с файлами разметки XML, а также управлять как локальными, так и разделенными данными.

    IBM DB2

    Это заслуженная СУБД, разработанная корпорацией IBM, по праву известная своей производительностью. Она демонстрирует конкурентные технические показатели среди реляционных БД. SQL-серверы семейства Db2 отличаются кроссплатформенностью, широкими возможностями для масштабирования, поддержкой снапшотов и моментальным восстановлением баз, онлайн-управлением таблицами, внедрением пользовательских типов информации.

    MySQL

    Еще одна распространенная реляционная система управления, развиваемая компанией Oracle, применяется для удаленного либо локального взаимодействия с информацией и таблицами различных типов, поддерживающих механизм полнотекстового поиска. MySQL - опенсорсный проект, распространяемый по лицензии GNU.

    PostgreSQL

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

    Требования к конфигурации сервера баз данных

    Взаимодействие с СУБД имеет ряд технических особенностей, что сказывается на особых требованиях к серверному «железу». В частности, чтобы обеспечить бесперебойную и эффективную работу, в сборке желательно предусмотреть:

    • скоростное хранилище, позволяющее проводить существенное количество небольших операций за как можно меньшее количество времени, выражающееся в показателе IOPS;
    • производительный процессор, способный выделить достаточно вычислительных мощностей на обработку запросов;
    • большой объем RAM. В оперативной памяти должен помещаться кэш для быстрой работы с часто используемыми участками БД.

    Немаловажное влияние на итоговую производительность сервера оказывает ожидаемая пиковая нагрузка и количество единовременных подключений. Одновременно с этим значение имеют ресурсоемкость установленных программных пакетов и характер задач: объем запрашиваемой информации, специфика наиболее частых запросов - просмотр, редактирование, удаление и запись, либо комбинированные запросы.

    Пропускная способность сети

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

    Если взять, к примеру, сервер БД, с которым в моменте работает около 200 пользователей, то пропускная способность должна находиться в пределах: минимум - 200 Мбит в секунду; Оптимальная ширина канала - 2 Гбит/с.

    При изменении числа подключений в N раз значения минимальной и рекомендуемой пропускной способности также изменяются в N раз.

    Дисковая подсистема

    Грамотное построение архитектуры хранилища для транзакционных операций - не менее важный шаг при развертывании сервера БД. Как правило, дисковая подсистема включает RAID-массив из жестких дисков, для создания которого необходим производительный RAID-контроллер. В массиве из нескольких накопителей IO-операции проходят одномоментно на нескольких дисках, поэтому показатель производительности IOPS должен линейно расти при добавлении новых накопителей в массив.

    Значительно ускорить дисковую систему можно одним из способов:

    • включением в массив скоростных SSD-накопителей,
    • путем размещения дискретного IO-ускорителя в слот расширения PCIe,
    • при использовании накопителей спецификации NVMe.

    Такие устройства способны существенно ускорить обмен пакетами ценой ограниченного ресурса по сравнению с классическими винчестерами и высокой стоимости.

    Сбалансированным по цене и производительности претендентом на установку в RAID массив является стандартный жесткий диск с интерфейсом SAS и скоростью вращения от 10 тысяч оборотов в минуту. Предпочтение также стоит отдавать современным накопителям малого форм-фактора 2.5 дюйма - такие диски способны выдерживать более высокие нагрузки в сравнении с привычными SATA. Более того, SAS-накопители оптимизированы для эксплуатации в RAID-массивах и демонстрируют заметный прирост в производительности.

    Примеры сборок в зависимости от числа пользователей

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

    Для примера используем актуальные сборки одного из лучших производителей серверного оборудования Hewlett Packard Enterprise. По ним легко проследить эволюцию оборудования в зависимости от повышения требований.

    Менее 10 подключений.

    С такой нагрузкой справится система в минимальной комплектации, снабженная по меньшей мере двухъядерным чипом, с частотой более 2.2 ГГц, памятью DDR4 объемом 4 Гб, тремя средними накопителями SAS/SATA.

    Под такие требования подходит хорошо знакомый многим MicroServer Gen10 Plus - (P18584-421). Недорогая, но хорошо продуманная сборка с процессором Intel Xeon E-2224 на четыре ядра с частотой 3.4GHz, и поддерживающая четыре LFF диска.

    От 10 до 20 пользователей

    Чтобы обеспечить стабильную работу в таких условиях требуется минимальная сборка из четырехъядерного процессора, работающего на частоте 2.3 ГГц, нескольких планок RAM типа DDR4 объемом от 8 Гб, и минимум трех SAS/SATA дисков со скоростью вращения шпинделя 7200 оборотов в минуту.

    В качестве платформы для такого решения можно было бы подобрать, например, башенный ProLiant ML30 Gen10 - (P16929-421), в чью комплектацию входят четырех-ядерный Intel Xeon E-2234 на 3.6GHz и планка16GB ОЗУ, число которых можно увеличить до 4-х. Корзины на 4LFF должно хватить для размещения базы небольшой компании с лихвой.

    От 20 до 50 клиентов

    В этом случае для стабильной работы хватит восьмиядерного процессора с 16 Гб оперативной памяти и по меньшей мере шести накопителей интерфейса SAS/SATA со скоростью 7200 RPM. В качестве примера такой сборки может послужить башенный ML110 Gen10 - (P21440-421), с предустановленным IIntel® Xeon Silver 4208 на 8 ядер, c входящей в комплект планкой памяти на 16Gb и корзиной на 8SFF дисков, количество которых при необходимости можно довести до 16.

    От 50 до 100 подключений

    Чтобы обрабатывать запросы от такого количества клиентов, требуется сборка уже с 2 восьмиядерными чипами, работающими на тактовой частоте от 2.8 ГГц и выше, памятью DDR4 от 32 Gb (а лучше больше) и 10 SAS дисками с повышенной скоростью вращения. Для примера возьмем двухсокетный стоечный DL360 Gen10 - (P19774-B21) с уже упоминавшемся выше Intel® Xeon Silver 4208 и корзиной 8/10+1 SFF. Благодаря двум сокетам, количество CPU можно довести до двух и выйти на требуемую производительность по ядрам. 24 слота DIMM DDR с лихвой покроют любую потребность в ОЗУ.

    От 100 до 200 пользователей.

    Подобная нагрузка под силу вычислительной машине с двумя сокетами, занятыми 16-юядерными процессорами с частотой от 2.8 ГГц, ОЗУ DDR4 объемом 64 Гб и 16-ю SAS-накопителями со скоростью 10 000 RPM. Примером такой сборки может стать мощный двухсокетный DL380 Gen10 - (P20245-B21), укомплектованный процессором Intel® Xeon® Gold 6242 на 16 ядер и корзиной на 8/24+6 SFF 2.5" HP. Под ОЗУ выделено 24 слота форм-фактора DIMM DDR4, что опять же более чем достаточно.

    От 200 до 500 клиентов.

    Для наиболее требовательных проектов предназначена предельная конфигурация: четыре 16-ядерных чипа с частотой от 3 ГГц, объем RAM свыше 128 Гб, а также 20 и более SAS-накопителей с частотой вращения шпинделя 10 000 оборотов в минуту.
    Подобная требовательная сборка может быть представлена великолепным четрехсокетным DL580 Gen10 - (P21273-B21) с Intel® Xeon® Gold 5220 на 18 ядер и огромной корзиной, где число накопителей может доходить до 48. Плюс 48 слотов под линейки 64 Гбайт, что говорит само за себя.
    Защитить ценные сведения и организовать бесперебойный доступ к ним можно при помощи кластера таких серверов, при этом важно учитывать специфику выбранной СУБД.

    Индивидуальные проекты

    Мы готовы предложить большой выбор платформ: от моделей начального уровня для СУБД небольшого проекта, рассчитанного на 10-15 пользователей, до высокопроизводительных и отказоустойчивых кластеров многопроцессорных сборок корпоративного класса, выдерживающих пиковые нагрузки от тысячи одновременных подключений.

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

    Базы данных на ПК развивались по направлению от настольных (desktop), или локальных приложений, когда реально с БД могло работать одно приложение, до систем коллективного доступа к БД.
    Локальное приложение устанавливалось на единичном ПК; там же располагалась и база данных (БД), с которой работало данное приложение. Однако необходимость коллективной работы с одной и той же БД повлекло за собой перенос БД на сервер. Приложение, работающее с БД, располагалось также на сервере.

    Менее характерным был другой способ, заключавшийся в хранении приложения, обращавшегося к БД, на конкретном компьютере пользователей ("клиентов"). Были выпущены новые версии локальных СУБД, которые позволяли создавать приложения, одновременно работающие с одной БД на файловом сервере. Основной проблемой была явная или неявная обработка транзакций и неизбежно встающая при коллективном доступе проблема обеспечения смысловой и ссылочной целостности БД при одновременном изменении одних и тех же данных.

    Местоположение БД определяет так называемую архитектуру базы данных. Имеются четыре разновидности архитектур баз данных:

    -локальные базы данных;

    Использование той или иной архитектуры накладывает сильный отпечаток на общую идеологию работы приложения и на программный код приложения.
    При работе с локальными базами данных сами базы данных расположены на том же компьютере, что и приложения, осуществляющие доступ к ним. Работа с базой данных происходит в однопользовательском режиме. Приложение ответственно за поддержание целостности базы и за выполнение запросов к базе данных.
    При работе в архитектуре "файл-сервер" база данных и приложение расположены на файловом сервере сети. Возможна многопользовательская работа с одной и той же базе данных, когда каждый пользователь со своего компьютера запускает приложение, расположенное на сетевом сервере. Тогда на компьютере пользователя запускается копия приложения. По каждому запросу к базе данных из приложения данные из таблиц базы данных перегоняются на компьютер пользователя, независимо от того, сколько реально нужно данных для выполнения запроса. После этого выполняется запрос.

    Каждый пользователь имеет на своем компьютере локальную копию данных, время от времени обновляемых из реальной базы данных, расположенной на сетевом сервере. При этом изменения, которые каждый пользователь вносит в базу данных, могут быть до определенного момента неизвестны другим пользователям, что делает актуальной задачу систематического обновления данных на компьютере пользователя из реальной базы данных. Другой актуальной задачей является блокирование записей, которые изменяются одним из пользователей; это необходимо для того, чтобы в это время другой пользователь не внес изменений в те же данные.

    В архитектуре "файл-сервер" вся тяжесть выполнения запросов к базе данных и управления целостностью базы данных ложится на приложение пользователя. База данных на сервере является пассивным источником данных.
    Кардинальных различий с точки зрения архитектуры между однопользовательской архитектурой и архитектурой "файл-сервер" нет. И в том, и в ином случае в качестве СУБД применяются так называемые "персональные" (или "настольные", "локальные") СУБД, такие как paradox, dbase и пр. Сама база данных в этом случае представляет собой набор таблиц, индексных файлов, файлов полей комментариев (memo-полей) и пр., хранящихся в одном каталоге на диске в виде отдельных файлов.

    В ходе эксплуатации были выявлены общие недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
    Вся тяжесть вычислительной нагрузки при доступе к базе данных ложится на приложение клиента, что является следствием принципа обработки информации в системах "файл-сервер": при выдаче запроса на выборку информации из таблицы вся таблица базы данных копируется на клиентское место, и выборка осуществляется на клиентском месте. Локальные СУБД используют так называемый "навигационный подход", ориентированный на работу с отдельными записями.

    Не оптимально расходуются ресурсы клиентского компьютера и сети; например, если в результате запроса мы должны получить 2 записи из таблицы объемом 10000 записей, все 10000 записей будут скопированы с файл-сервера на клиентский компьютер; в результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера.
    В базе данных на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты database desktop фирмы borland для файлов paradox или dbase); подобная возможность облегчается тем обстоятельством, что, фактически, у локальных СУБД база данных – понятие более логическое, чем физическое, поскольку под базой данных понимается набор отдельных таблиц, сосуществующих в едином каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.

    Поскольку настольные СУБД не содержат специальных приложений и сервисов, управляющих данными, а используются для этой цели файловые сервисы операционной системы, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении, и любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. Поэтому при выполнении запросов данные, на основании которых выполняется такой запрос (это может быть одна или несколько таблиц целиком либо, если повезет, один или несколько индексов и выбранные с их помощью части таблиц), должны быть доставлены в то же самое адресное пространство клиентского приложения. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром до сих пор популярны утилиты для "ремонта" испорченных файлов настольных СУБД.
    Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД. Характерной особенностью архитектуры "клиент-сервер" является перенос вычислительной нагрузки на сервер базы данных (sql-сервер) и максимальная разгрузка приложения клиента от вычислительной работы, а также существенное укрепление безопасности данных – как от злонамеренных, так и просто ошибочных изменений.
    БД в этом случае помещается на сетевом сервере, как и в архитектуре "файл-сервер", однако прямого доступа к базе данных (БД) из приложений не происходит. Функция прямого обращения к БД осуществляет специальная управляющая программа – сервер БД (sql-сервер), поставляемый разработчиком СУБД.

    Архитектура "клиент-сервер" разделяет функции приложения пользователя (называемого клиентом) и сервера.
    Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов sql, являющимся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его sql-серверу БД. sql-сервер – это специальная программа, управляющая удаленной базой данных. sql-сервер обеспечивают интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю.

    Так как клиентскому приложению посылается результат выполнения запроса, по сети "путешествуют" только те данные, которые необходимы клиенту. В итоге снижается нагрузка на сеть. Поскольку выполнение запроса происходит там же, где хранятся данные (на сервере), нет необходимости в пересылке больших пакетов данных. Кроме того, sql-сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен в минимальное время с наименьшими накладными расходами. Всё это повышает быстродействие системы и снижает время ожидания результата запроса.

    При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются в базе данных на сервере и являются едиными для всех приложений, использующих эту БД. Таким образом, исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый sql-серверами, позволяет исключить одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно.

    Функциями приложения-клиента являются:

    -Посылка к серверу запросов;

    -Интерпретация результатов запросов, полученных от сервера, и представление их пользователю в требуемой форме;

    -Реализация интерфейса пользователя.

    sql-сервер должен быть загружен на момент принятия запроса клиента. Функциями сервера БД являются:

    -Прием запросов от приложений-клиентов, интерпретация запросов, выполнение запросов в БД, отправка результата выполнения запроса приложению-клиенту;

    -Управление целостностью БД, обеспечение системы безопасности, блокировка неверных действий приложений-клиентов;

    -Хранение бизнес-правил, часто используемых запросов в уже интерпретированном виде;

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

    В архитектуре "клиент-сервер" используются так называемые "удаленные" (или "промышленные") СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей.
    К разряду промышленных СУБД принадлежат oracle, informix, sybase, ms sql server, db2, interbase и ряд других.

    Как правило, sql-сервер управляется отдельным сотрудником или группой сотрудников (администраторы sql-сервера). Они управляют физическими характеристиками баз данных, производят оптимизацию, настройку и переопределение различных компонентов БД, создают новые БД, изменяют существующие и т.д., а также выдают привилегии различным пользователям.
    Кроме этого, существует отдельная категория сотрудников, называемых администраторами баз данных. Как правило, это администраторы сервера, разработчики БД или пользователи, имеющие привилегии на создание, изменение, настройку оптимальных параметров отдельных серверных БД. Администраторы БД также отвечают за предоставление прав на разноуровневый доступ к сопровождаемым ими БД для других пользователей.

    Механизмы доступа

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

    Существует несколько способов доступа к данным из средств разработки и клиентских приложений.
    Подавляющее большинство СУБД содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (application programming interface, api) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных (БД), а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие api для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.

    В последнее время windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности microsoft sql server, oracle, informix, содержат также СОМ-серверы, предоставляющие объекты для доступа к данным и метаданным.
    Использование клиентского api (или клиентских СОМ-объектов) является наиболее очевидным способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую повлечет за собой переписывание значительной части кода клиентского приложения – клиентские api и объектные модели не подчиняются никаким стандартам и различны для различных СУБД.

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

    Отметим, что достоинством универсальных механизмов является возможность применения одного и того же абстрактного api, а во многих случаях – СОМ-серверов, компонентов, классов для доступа к различным типам СУБД. Поэтому приложения, использующие универсальные механизмы доступа к данным, легко модифицировать, если необходима смена СУБД.
    Наиболее популярными среди универсальных механизмов доступа к данным можно назвать следующие:

    Универсальные механизмы odbc, ole db и ado фирмы microsoft представляют собой по существу промышленные стандарты. Что касается механизма доступа к данным bde фирмы borland, то он так и не стал промышленным стандартом, однако до недавнего времени применялся довольно широко, поскольку до выхода delphi 5 был практически единственным универмальным механизмом доступа к данным, поддерживаемым средствами разработки borland на уровне компонентов и классов

    Что такое sql?

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

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

    При разработке баз данных принято выделять определённые этапы.

    Первый этап — постановка задачи. На этом этапе происходит следующее:

    • определяется цель, для которой создаётся база данных;

    • уточняется предметная область, при этом привлекаются специалисты этой предметной области для получения более качественного результата разработки;

    • определяются предполагаемые виды работ: это может быть выборка данных, изменение данных, печать отчёта и др.;

    • определяются потенциальные пользователи базы данных.

    На втором этапе происходит проектирование базы данных. Этот этап включает в себя определение самих информационных объектов, из которых будет формироваться база данных, а также перечня атрибутов, характеризующих каждый информационный объект.

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

    1. Формируется общий список полей для описания атрибутов таблиц БД.

    2. Все поля распределяются по базовым таблицам.

    3. Свойства каждого поля определяются в соответствии со свойствами данных.

    4. Ключевые поля определяются для каждой таблицы.

    5. Определяются связи между таблицами.

    Третий этап — это собственно создание базы данных.

    Возможны два варианта:

    1. Если нужна уникальная база данных, то она пишется на одном из языков программирования, и в этом случае требуются высококвалифицированные программисты.

    2. Существует и второй вариант, для которого достаточно базовых пользовательских навыков и понимания принципов работы базы данных (БД) — это использование специального программного обеспечения — систем управления баз данных (СУБД). В дальнейшем мы будем рассматривать только этот способ.

    При создании БД происходит следующее:

    — запуск СУБД и создание нового файла БД;

    — создание таблиц и связей между ними;

    — тестирование БД и коррекция;

    — разработка требуемых элементов управления данными: это формы, запросы и отчёты;

    — заполнение таблиц данными (это может выполнить пользователь БД).

    Четвёртый этап — это эксплуатация БД, которая состоит из сортировки, фильтрации и поиска записей, отбора данных по соответствующим критериям, обработку данных и подготовку отчётов.

    В общем виде этапы разработки базы данных представлены на схеме.

    Программное обеспечение для создания БД, хранения и поиска в них необходимой информации называется СУБД (системой управления базами данных).

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

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

    Если все составляющие СУБД размещаются на одном компьютере, то она считается локальной. Когда данные могут храниться и обрабатываться на разных компьютерах локальной или глобальной сети, то речь идет о распределённых СУБД.

    В файл-серверных СУБД файлы с данными размещаются на сервере и доступ с клиентского компьютера к данным осуществляется через локальную сеть. Частным случаем таких СУБД являются размещение как самих данных, так и СУБД на одном клиентском компьютере. Примерами являются Microsoft Access, OpenOffice Base, LibreOffice Base.

    Встраиваемые входят в состав таких программных продуктов, как словари, поисковые системы, электронные энциклопедии и др. Примером может служить компактная встраиваемая СУБД SQLite.

    Наиболее популярными являются клиент-серверные СУБД. В этом случае на сервере устанавливается полная версия СУБД и БД, где происходят все операции с данными. На клиентском компьютере устанавливается небольшая по объему клиентская версия СУБД для осуществления запросов и вывода результатов обработки, полученных от сервера. Известными клиент-серверными СУБД являются Oracle, MySQL, PostgreSQL.

    Рассмотрим начало работы в программной среде СУБД на примере LibreOffice Base.

    Для этого нужно открыть приложение.

    Далее мастер БД предложит создать новую базу данных и нажать на кнопку «Дальше».

    Следующее диалоговое окно предлагает зарегистрировать БД и открыть её для редактирования.

    Оставляем предложенный выбор и нажимаем кнопку «Готово».

    Далее в диалоговом окне указываем место сохранения БД и указываем имя.

    После этого открывается для редактирования окно базы данных.

    Одним из главных элементов интерфейса СУБД является окно базы данных.

    В нём отражаются все объекты базы данных: таблицы, запросы, формы, отчёты.

    Активный объект выделяется курсором. В нашем случае выделены таблицы.

    Вся база данных состоит из таблиц и связей между ними.

    Теперь перед заполнением необходимых таблиц нужно определиться с их количеством и структурой, типами связей при использовании нескольких таблиц, а также видами и количеством форм, запросов и отчётов.

    Структура таблицы определяется набором и свойствами полей.

    Вы уже знаете, что записью является строка таблицы, в ней содержится набор данных об одном объекте. А столбец — это поле, в нём содержатся однородные данные, относящиеся ко всем объектам. Основными свойствами полей являются:

    1. Имя поля — оно уникально в рамках таблицы, определяет, как нужно обращаться к данным этого поля.
    2. Тип поля — определяет тип допустимых данных поля.
    3. Размер поля — определяет допустимую длину данных поля.
    4. Формат поля — определяет способ форматирования данных.
    5. Подпись — определяет заголовок столбца таблицы данного поля, при его отсутствии указывается Имя поля.
    6. Значение по умолчанию — вводится автоматически при формировании очередной записи таблицы.
    7. Условие на значение — проверка правильности ввода данных.

    После создания таблиц нужно установить связи между ними.

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

    Редактирование таблиц допустимо на любом этапе, т. е. возможны следующие действия:

    • изменение типов и свойств полей;

    При работе с таблицами пользователь видит все поля и записи в ней. Это не всегда удобно. Более комфортным для пользователя является работа с данными, представленными в формах.

    Формы — это вспомогательные объекты БД, обеспечивающие удобный для пользователя интерфейс при вводе, просмотре или редактировании данных в БД.

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

    В LibreOffice Base возможен вариант создания формы по шагам с помощью мастера или создания формы в режиме дизайна. В этом случае открывается окно с инструментами рисования, в котором создаётся форма.

    Над данными, хранящимися в БД, можно выполнять различные действия, среди которых:

    • обновление, удаление и добавление данных;

    Действия, выполняемые над данными, хранящимися в БД, называются манипулированием данных.

    Для этого существуют инструменты сортировки, фильтров и запросов.

    Возможна сортировка по возрастанию или убыванию значений выбранного поля. Для осуществления сортировки в LibreOffice Base достаточно выделить значение одного из полей записи и нажать на кнопку сортировка по возрастанию или сортировка по убыванию. Всегда можно отказаться от сортировки, нажав на соответствующую кнопку.

    Поиск данных происходит стандартным образом. Вызвать диалоговое окно поиска данных можно через пиктограмму меню или с помощью комбинации клавиш Ctrl + F.

    Если нужно произвести отбор данных, соответствующих определённым условиям, то в этом случае удобно использовать фильтрацию данных.

    Фильтр — это условие, по которому производится поиск и отбор записей.

    В СУБД LibreOffice Base можно выбрать быстрый фильтр, с помощью которого можно выбрать все записи, у которых значение поля полностью совпадает с выделенным. Если таких записей нет, то фильтр отбирает только текущую запись. Когда необходимо более сложное условие для отбора записей, то можно использовать стандартный фильтр. В этом случае в диалоговом окне нужно указать условия для различных полей и выбрать необходимые логические операторы И, ИЛИ.

    Одним из основных инструментов обработки данных являются запросы. Запросы, как и фильтры, осуществляют поиск записей в БД, но запрос — это самостоятельный объект БД, а фильтр привязан к конкретной таблице. Возможны различные способы создания запросов. Для LibreOffice Base — это самостоятельно в режиме дизайна, с помощью мастера или непосредственно указав инструкции в SQL.

    Для красивого вывода на печать результатов обработки данных используют отчеты. В отчётах предусмотрены возможности оформления, используемые при печати документов. Кроме того, отчёты позволяют обобщать, сортировать, группировать данные и т. п.

    В примере с базой данных «Процессоры» при формировании отчета данные сгруппированы по количеству ядер, расположенных по убыванию, а внутри групп произведена сортировка по цене.

    Читайте также: