В простейшем случае база данных и СУБД находятся на одном компьютере. Такая информационная система называется локальной, с ней работает один пользователь. В современных браузерах (Google Chrome, Safari, Mozilla Firefox) есть встроенные средства, позволяющие создавать и использовать локальные ИС.
Преимущество локальных ИС — автономность, т. е. независимость от работы локальных и глобальных сетей. Их недостатки проявляются тогда, когда с БД должны работать несколько пользователей:
• базу данных нужно обновлять на каждом компьютере;
• невозможно «стыковать» изменения, вносимые пользователями.
В локальных ИС разработчики иногда применяют свои собственные форматы хранения данных, однако в этом случае теряется переносимость — возможность использования базы данных в других информационных системах.
Как правило, в современных информационных системах используют удалённые базы данных, расположенные на серверах (специально выделенных компьютерах) локальной или глобальной сети. В этом случае несколько пользователей могут одновременно работать с базой и вносить в неё изменения.
Основы администрирования СУБД MySQL
СУБД, работающие с удалёнными базами данных, можно разделить на два типа по способу работы с файлами:
• файл-серверные СУБД;
• клиент-серверные СУБД.
Файл-серверные СУБД (например, Microsoft Access) работают на компьютерах пользователей (они называются рабочими станциями) (рис. 3.2). Это значит, что сервер только хранит файлы, но не участвует в обработке данных. Когда пользователь вносит изменения в базу, СУБД с его рабочей станции блокирует файлы на сервере, чтобы их не могли изменить другие пользователи.
Рис. 3.2
При большом количестве пользователей проявляются недостатки файл-серверных ИС:
• обработку данных выполняют СУБД на рабочих станциях, поэтому компьютеры пользователей должны быть достаточно мощными;
• при поиске данных вся БД копируется по сети на компьютер пользователя, это создает значительную лишнюю нагрузку на сеть;
• слабая защита от неправомерного доступа к данным (защита устанавливается на рабочих станциях, а не в едином центре);
• ненадёжность при большом количестве пользователей, особенно если они вносят изменения в базу данных.
Чтобы избавиться от этих недостатков, нужно переместить СУБД на сервер.
Клиент-серверная СУБД (рис. 3.3) расположена на том же компьютере, где находится база данных. Она полностью берёт на себя всю работу с данными, т. е. читать и изменять данные в базе можно только с помощью этой СУБД.
Рис. 3.3
На компьютере пользователя работает прикладная программа- клиент, которая по сети обращается к СУБД для выполнения операций с данными.
Задачи клиента:
• отправить серверу команду (запрос) на специальном языке;
Типовые архитектуры СУБД
• получив ответ сервера, вывести результат на экран пользователя или на печать.
В современных клиент-серверных СУБД для управления данными чаще всего используют язык SQL (англ. Structured Query Language — язык структурных запросов). Он содержит все команды, необходимые работы с данными, включая получение нужной информации, создание и изменение базы данных.
• ожидать запросы клиентов по сети;
• при поступлении запроса поставить его в очередь на выполнение;
• выполнить запрос;
• передать результаты клиенту.
Отметим, что серверная и клиентская части могут быть установлены на одном компьютере.
Самые известные среди коммерческих клиент-серверных СУБД — Microsoft SQL Server и Oracle. Существуют бесплатные клиент-серверные СУБД: Firebird (www.firebirdsql.org), PostgreSQL (www.postgresql.org), XMySQL (www.mysql.com). Свободная СУБД MySQL часто используется для управления базами данных на небольших веб-сайтах.
Достоинства клиент-серверных СУБД:
• основная обработка данных выполняется на сервере, поэтому рабочие станции могут быть маломощными;
• проще модернизация (достаточно увеличить мощность сервера);
• надёжная защита данных (устанавливается на сервере);
• снижается нагрузка на сеть, так как передаются только нужные данные (запросы и результаты выполнения запросов);
• надёжная работа при большом количестве пользователей (запросы ставятся в очередь).
Их недостатки — повышенные требования к мощности сервера и высокая стоимость коммерческих СУБД (Microsoft SQL Server и Oracle).
Многие современные информационные системы (например, поисковые системы в Интернете) работают с огромными объёмами данных, которые невозможно разместить на одном компьютере. Поэтому появились распределённые базы данных, расположенные на множестве компьютеров, и соответствующие СУБД для управления ими. Пользователь работает с распределённой базой данных точно так же, как и с обычной (нераспределённой). Главная проблема в этой области — обеспечение целостности и непротиворечивости данных, особенно при разрыве связи между компьютерами.
Следующая страница Транзакции
Cкачать материалы урока
Источник: xn—-7sbbfb7a7aej.xn--p1ai
Сервер баз данных: каким должен быть и для чего нужен
Сервера баз данных – это серверные платформы с предустановленным программным обеспечением, необходимым для управления структурированными данными. Благодаря такой системе обеспечивается сохранность информации, возможны операции ввода-вывода при подключенном пользователе. Главная идея механизма заключается в том, что серверы размещены на мощных машинах, а приложения, работающие с компонентами СУБД, позволяют получить доступ к ним с более слабых машин-клиентов через внешние интерфейсы.
Необходимость отдельного SQL-сервера для корректной работы базы данных
Сервер БД – это специальное оборудование, на котором работает программное обеспечение базы данных. Благодаря ПО пользователи могут хранить, корректировать, извлекать и изменять файлы или другие формы цифровых данных. Сервер базы данных состоит из пары элементов:
- внутренние функции;
- клиентские службы.
В бэкэнде системы хранится цифровая информация. Клиентские службы позволяют конкретным людям или компаниям, использующим БД, легко получать доступ к данным, которые хранятся на сервере.
Многие компании хранят значительные объемы информации в сети или на компьютерах. Это могут быть данные о клиентах, внутренних процессах, финансовые отчеты, бухгалтерия. Хранение цифровых файлов на сервере БД позволяет организации:
- Обеспечить доступ к корпоративной системе с нескольких устройств. Сервер предоставляет пользователям простой интерфейс обработки цифровой информации с нескольких устройств в рамках одной сети. К примеру, если сотрудники компании пользуются компьютерами, можно предоставить им общий доступ в режиме реального времени к файлам. Они смогут корректировать их, изменять или скачивать себе на носители для удобного взаимодействия.
- Разрешать конкретным пользователям изучать файлы в режиме просмотра или редактирования. При помощи интерфейса можно предоставлять сотрудникам выборочные права доступа. Например, организовать возможность работников изучать файлы клиентов, но ограничить финансовые отчеты и важные договоры.
- Минимизировать угрозу потери информации. Сервер меняет подход к системе безопасности бизнеса. В такой системе снижается риск неожиданной угрозы: наводнения, стихийного бедствия или кибератаки, способной нанести вред важным файлам.
Серверы БД содержат хранилища, пространство памяти и систему управления (СУБД) – приложение, позволяющее клиентам получать доступ к конкретным файлам. Сначала пользователь отправляет команду через СУБД, затем система занимается вычислением поставленной задачи. Пользовательские запросы могут заключаться в изменении прав доступа, сохранении новых файлов, считывании, изменении или хранении имеющейся информации.
В роли главного связующего между клиентской и серверной машиной выступает язык баз данных SQL. По факту это используемый стандарт интерфейса СУБД в открытых системах. Общий термин «SQL-server» можно отнести ко всем серверам, построенным на SQL. Серверы БД, механизм которых полностью основан на этом языке, обладают как рядом преимуществ, так и недостатками. Среди плюсов можно выделить стандартизированный интерфейс: в идеальном варианте, хотя это не совсем так, пользовательские машины с любой СУБД могут работать с каким угодно SQL-сервером, независимо от его производителя.
В привычной на сегодня ситуации со стороны клиента системы управления работает только такое ПО, которое не имеет прямого доступа к базе данных, а направляет для этого запрос на сервер. Команда передается с использованием языка SQL.
Если компания обратилась за услугами к поставщику базы данных, то подключение клиентов к системе производится через интернет-соединение. Если внутри организации установлены собственные серверы, то пользователи могут получить доступ к информации напрямую через внутреннюю сеть.
Разновидности СУБД
Набор данных обычно следует ряду правил. К примеру, если администратор удалит из БД пользователя, то исчезнет не только его имя, но и характеристики учетной записи: электронный адрес, личная информация, номер телефона. В такой методике функционируют реляционные БД.
База данных может служить, например, для упорядоченной обработки файлов онлайн-ресурса. В любом из вариантов обращение к файлам производится через API (программный интерфейс) – он принимает запросы клиента и отправляет их к СУБД. Существует множество систем управления, отличающихся друг от друга объемом функций. Кроме реляционных СУБД встречаются и другие типы в зависимости от формата БД:
- иерархические;
- объектные;
- объектно-реляционные.
Системы управления бывают локальными (когда все компоненты находятся на одном устройстве) или распределенными (элементы системы распределены на нескольких машинах).
На основе SQL разработаны и функционируют целый ряд СУБД. Некоторые из них работают по лицензии, другие распространяются бесплатно.
MS SQL
Система управления от Microsoft для многофункционального клиентского доступа в среде ОС Windows. СУБД позволяет подключаться удаленно, формировать триггеры, управлять всеми популярными типами данных. Для настройки ПО доступны простые, но эффективные плагины.
Oracle Database
Продукт компании Oracle, разработанный для облачного управления БД. Позволяет аналитически обрабатывать информацию, автоматизировать бизнес-процессы, работать с XML-разметкой. СУБД поддерживает как локальное, так и разделенное управление информацией.
IBM DB2
Производительная система от компании IBM. Это достаточно эффективное решение для реляционных баз данных. Серверы этого типа отличаются поддержкой разных платформ, пригодностью для наращивания мощности, функцией быстрого восстановления, снапшотами, удаленным управлением таблицами и интеграцией пользовательских типов файлов.
MySQL
СУБД для работы с реляционными БД. Подходит для удаленного и локального управления данными, таблицами. Позволяет производить поиск по тексту и распространяется в открытом доступе по лицензии GNU.
PostgreSQL
Еще одна система, распространяемая по свободной лицензии. Способна работать с большими базами в условиях безопасности информации. Благодаря легкой масштабируемости СУБД поддерживает обширный спектр данных.
Необходимые характеристики сервера базы данных
СУБД требует ресурсов для свободного действия, что отражается в необходимости обеспечить определенные характеристики серверных мощностей. Например, для эффективной работы без перебоев стоит позаботиться о «железе»:
- Хранилище с высокой пропускной способностью, способное проводить значительное число операций за короткий промежуток времени (измеряется в параметре IOPS).
- Мощный центральный процессор, способный выделить достаточно производительности для обработки пользовательских команд.
- Достаточный объем оперативной памяти. В RAMхранится кэш для ускорения обработки команд путем сохранения часто используемых участков базы данных.
Расчет производительности сервера производится с учетом максимальной нагрузки и числа планируемых разовых подключений. Также важным параметром является ресурсоемкость используемого ПО и тип задач: объем команд, специфика основных процессов: просмотр, изменение, удаление.
Ширина канала связи
При выборе серверного «железа» нужно учитывать пропускную способность канала связи. Это особенно актуально для крупных баз данных с большим количеством клиентов, подключаемых в одно время.
Например, если рассмотреть сервер, с которым в моменте взаимодействует 200 человек, то от него потребуется ширина шины от 200 Мбит/сек и до 2 Гбит/сек (оптимальный вариант). При изменении числа клиентов рекомендуется прямо пропорционально расширить и пропускную способность.
Пространство для хранения данных
Правильное обустройство архитектуры дисковой подсистемы – также важный элемент при установке сервера БД. Обычно в хранилище входит RAID-массив из жестких дисков, для формирования которого требуется эффективный RAID-контроллер. В системе из нескольких дисковых накопителей операции с данными могут происходит одновременно на нескольких хранилищах, что повышает производительность сервера.
Ускорить работу механизма можно несколькими методами:
- использование скоростных SSD-накопителей;
- установка дискретного IO-ускорителя в слот расширения PCIe;
- применением устройств с интерфейсом NVMe.
Подобные устройства могут сильно ускорить обмен данными при ограниченном ресурсе, если сравнивать с привычными жесткими дисками. Однако такой подход подразумевает более высокую стоимость сборки.
Балансом в формате цены и эффективности можно считать жесткий диск с SAS интерфейсом и скоростью работы от 10 000 об/мин. Выбирать лучше современные модели небольшого форм-фактора – 2.5 дюйма. Они могут переносить значительные нагрузки, в отличие от устарелого SATA. Также SAS-хранилища оптимизированы под серверы и позволяют добиться явного скачка в производительности.
Примеры сборок в зависимости от числа пользователей
Рассчитать предположительную нагрузку на север базы данных легче, учитывая количество одновременно подключаемых клиентов. Однако стоит учесть и возможность развития, заложив дополнительный ресурс мощности.
В качестве примера можно использовать современные сборки компании Dell PowerEdge. Они позволяют увидеть развитие оборудования с учетом роста числа пользователей.
До 10 клиентов
С подобной задачей справится маломощная сборка сервера. Обычно она состоит из двухъядерного процессора с частотой от 2,2 ГГц. Внутри установлена RAM-память класса DDR4 объемом в 4 Гб. Информация хранится на накопителях типа SAS/SATA.
Для поставленной задачи можно установить популярный DELL PowerEdge R640 – это производительная и дешевая сборка.
Более 10, но менее 20 человек
Для производительности в подобных условиях понадобится более мощный процессор – с четырьмя ядрами и частотой от 2,3 ГГц. Объем оперативной памяти увеличится до 8 Гб. В системе понадобится установить три SAS/SATA накопителя с мощностью от 7200 об/мин.
Ограничено 50 клиентами
Сервер с такой нагрузкой должен включать восьмиядерный чип. Для работы понадобится 16 Гб RAM-памяти и как минимум 6 накопителей типа SAS/SATA с такой же скоростью вращения – от 7200 об/мин.
Поддерживает до 100 пользователей
Для среднего числа пользователей понадобится сервер с двумя процессорами по 8 ядер. Минимальная тактовая частота каждого чипа – от 2,8 ГГц. Понадобится от 32 Гб оперативной памяти (лучше 64 Гб) и 10 накопителей с более высокой скоростью вращения – около 10 000 об/мин.
До 200 человек
Чтобы справиться с нагрузкой, сборке понадобится два серверных 16-ядерных процессора с тактовой частотой выше 2,8 ГГц. RAM-память класса DDR4 от 64 Гб. Для хранения информации потребуется 16 SAS-накопителей с мощностью от 10 000 об/мин.
Обрабатывает до 500 одномоментных клиентов
Если на сервер приходится значительная нагрузка, то придется позаботиться о мощной сборке. Внутрь рекомендуется установить 4 процессора по 16 ядер. Минимальная тактовая частота – от 3 ГГц. Для стабильной работы понадобится много оперативной памяти – около 128 Гб. Информация будет храниться на 20 накопителях с частотой оборота свыше 10 000 об/мин.
Индивидуальные решения
IT-инженеры ittelo.ru разбираются в вопросе серверного оборудования и могут подобрать сборку под ваши задачи, исходя из запланированного бюджета. Мы готовы предложить модели начального уровня, рассчитанные на 5–15 клиентов, а также высокоэффективные системы корпоративного класса (способны выдержать более тысячи пользователей в моменте).
Специалисты компании проконсультируют вас по любому вопросу, оценят сложность задачи и произведут расчет необходимой мощности.
Источник: www.ittelo.ru
Сервер базы данных (SQL-сервер)
СЕРВЕР БАЗЫ ДАННЫХ (англ. database server), также SQL-сервер — сервер, обеспечивающий хранение, обработку и управление структурированными данными (база данных), а также обеспечивающий операции ввода-вывода при доступе клиентов к хранящейся информации. Сервер базы данных занимается обслуживанием базы данных и отвечает за целостность и сохранность хранимых данных. Технически, сервер базы данных представляет собой очень мощный сервер, либо кластер серверов или «ферму серверов», с установленным специальным программным обеспечением, осуществляющим систему управления базами данных (СУБД). Клиенты, которым необходимо прочитать или записать информацию в СУБД, осуществляют доступ к серверу базы данных по сети.
Функционирование сервера базы данных
Основная идея сервера базы данных состоит в том, чтобы размещать, хранить и обрабатывать данные на сервере с мощными вычислительными ресурсами, а с помощью установленной на нем системы управления базами данных (СУБД) предоставить приложениям, использующим специальные запросы к СУБД, быструю обработку этих запросов и высокоскоростной доступ. Для организации работы такой системы применяется архитектура клиент-сервер.
Для управления современными базами данных как правило используется язык структурированных запросов SQL (англ. structured query language). Сервер, работающий под управлением СУБД, использующей язык SQL, называется SQL-сервер. В настоящее время наиболее распространены следующие программные продукты (SQL-серверы), реализующие систему управления базами данных (СУБД):
Microsoft SQL Server
Oracle Database Server
MySQL, PostgreSQL и т.д.
Специфика работы сервера базы данных заключается в том, что данные, как правило, обрабатываются транзакционно, т.е. СУБД запрашивает данные порциями небольшого объема, проводит над ними операцию и затем сохраняет. Такая специфика работы накладывает определенные требования к серверному оборудованию, а именно:
большой объем оперативной памяти для кэширования наиболее интенсивно используемых участков базы данных;
высокопроизводительная дисковая подсистема, характеризующаяся в первую очередь способностью обрабатывать большое количество небольших запросов в единицу времени (IOPS — input/output per second);
высокая вычислительная мощность для обработки запросов и операций над данными.
В следующих разделах более подробно описана реализация вышеперечисленных требований к серверному оборудованию, удовлетворяющих специфике функционирования сервера базы данных.
Оперативная память сервера базы данных
Серверу баз данных необходим как можно больший объем оперативной памяти, в идеале такой, чтобы закэшировать всю базу данных целиком в оперативной памяти. Работа с данными в оперативной памяти происходит на порядки быстрее, чем при работе с жесткими дисками и даже высокоскоростными твердотельными накопителями.
Фактически, чем больше объем оперативной памяти установлен в сервере баз данных, тем лучше. Конечно, при условии, что установленная операционная система и само приложение сервера СУБД способны адресовать такое количество памяти и работать с ним. Однако, современные серверные операционные системы и приложения фактически не имеют подобных ограничений, т.к. способны адресовать до 4 ТБ и более. Современные двухпроцессорные серверы способны оснащаться 3 ТБ оперативной памяти, четырехпроцессорные серверы — 6 ТБ и восьмипроцессорные серверы — 12 ТБ.
Дисковая подсистема сервера базы данных
Для получения максимальной производительности дисковой подсистемы на транзакционных задачах ее строят следующим образом: несколько жестких дисков объединяются в RAID-массив под управлением высокоскоростного RAID-контроллера. В RAID-массиве операции чтения-записи происходят одновременно на нескольких жестких дисках и рост производительности (количества операций ввода-вывода в секунду, IOPS) растет пропорционально количеству жестких дисков в массиве, при грамотной настройке серверного оборудования.
Максимальную производительность дисковой подсистемы сервера баз данных возможно получить при подключении к RAID-массиву твердотельных накопителей SSD (Solid State Drive), либо при установке в слот PCI Express специального ускорителя системы ввода-вывода (IO Accelerator) или при использовании NVMe (NVM Express) накопителей. Эти устройства обладают максимальной скоростью обмена данными и высокой стоимостью, но, к сожалению, имеют ограниченный ресурс на запись данных (что технологически свойственно всем устройствам на основе flash-памяти). В качестве жестких дисков в составе RAID-групп рекомендуется использовать диски SAS (Serial Attached SCSI) на 10000 об/мин или 15000 об/мин, при этом предпочтительнее использовать жесткие диски современного форм-фактора 2,5″ SFF HDD. Такие жесткие диски оптимизированы для работы на транзакционных нагрузках и по показателю IOPS имеют в несколько раз более высокую производительность, чем обычные диски SATA. Кроме того, диски SAS изначально проектируются для работы в составе RAID-массивов и показывают практически линейный рост производительности массива в зависимости от увеличения в нем количества дисков.
Вычислительная мощность сервера базы данных
Современные процессоры становятся всё более производительнее, в основном это происходит благодаря внедрению технологии многоядерности. Сейчас даже самый дешевый сервер оснащается процессором с 4-мя ядрами, что, фактически, для системы представляет собой 4 физических процессора. Благодаря этой технологии появилась возможность запускать параллельно несколько задач и обрабатывать более существенные объемы информации на недорогом стандартном серверном оборудовании. Для «тяжелых» серверных систем постепенно отпадает необходимость в приобретении дорогостоящих многопроцессорных RISC-систем, имеющих цену при равной производительности на порядок больше. В настоящий момент существуют четырехпроцессорные и восьмипроцессорные серверы стандартной архитектуры x86 с поддержкой 18-ядерных процессоров, что позволяет иметь в одной серверной системе количество ядер, исчисляемое сотнями, при этом без использования кластерных технологий.
Подбор по параметрам, конфигурирование, расчет цены и покупка сервера базы данных
Компания STSS предлагает нашим закачикам широкий спектр серверов для СУБД самого различного уровня. Начиная от сервера небольшой базы данных на 10-20 пользователей и заканчивая многопроцессорными серверами корпоративного уровня с числом подключений, превышающим тысячи пользователей.
В целях создания мощной компактной серверной системы нашими специалистами было разработано уникальное решение для центра обработки данных — сервер STSS Flagman QX859T4.2 — восьмипроцессорный сервер с 16-ю жесткими дисками с поддержкой горячей замены. Уникальное сочетание высокой вычислительной мощности и высокопроизводительной дисковой подсистемы в одном конструктиве позволяет сэкономить до 50% стоимости по сравнению с традиционным решением — сервер + система хранения данных (СХД).
Все модели серверов баз данных на нашем сайте имеют конфигураторы серверов с автоматическим расчетом цены сервера. С помощью наших уникальных конфигураторов серверов, находящихся в разделе нашего сайта «Продукты. Серверы STSS», возможно самостоятельно подобрать конфигурацию сервера по параметрам и купить сервер STSS Flagman с необходимыми для сервера баз данных функциональными характеристиками.
Найти самостоятельно на нашем сайте модели серверов баз данных возможно самостоятельно, набрав в строке поиска соответствующий запрос, например » сервер ‘баз данных’ STSS Flagman ‘.4’ «.
Источник: stss.su