Чтение онлайн

на главную - закладки

Жанры

Внутреннее устройство Linux
Шрифт:

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

17.2. Базы данных

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

превосходную скорость доступа.

Базы данных облегчают приложениям проверку и изменение данных, в особенности если сравнить их с анализом и изменением текстовых файлов. К примеру, могут возникнуть сложности при управлении файлами /etc/passwd и /etc/shadow в Linux в сети компьютеров. Вместо них можно настроить базу данных, которая предоставляет протокол LDAP (Lightweight Directory Access Protocol, облегченный протокол доступа к (сетевым) каталогам), чтобы снабдить необходимой информацией систему аутентификации Linux. Конфигурация на стороне клиента Linux простая; все, что потребуется сделать, — это отредактировать файл /etc/nsswitch.conf и добавить дополнительную конфигурацию.

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

Типы баз данных. Базы данных бывают двух основных типов: реляционные и нереляционные. Реляционные базы данных (также называемые реляционными системами управления базами данных, РСУБД; Relational Database Management Systems, RDBMS), такие как MySQL, PostgreSQL, Oracle и MariaDB, являются базами данных общего назначения, которые отличаются способностью объединять различные наборы данных. Допустим, у вас есть два набора данных: один с почтовыми индексами и именами, а другой — с почтовыми индексами и соответствующими населенными пунктами. Реляционная база данных позволила бы вам очень быстро извлечь список имен людей, проживающих в одном населенном пункте. Обычно с реляционными базами данных «разговаривают» с помощью языка программирования SQL (Structured Query Language, язык структурированных запросов).

Нереляционные базы данных, иногда называемые базами данных NoSQL, призваны решать частные задачи, с которыми нелегко справляются реляционные базы данных. Например, базы данных для хранения документов, такие как MongoDB, стремятся облегчить хранение и индексацию документа в целом. Базы данных «ключ — значение», например redis, делают акцент на производительности. Для доступа к базам данных NoSQL нет общего языка запросов, подобного SQL. Вместо этого с ними работают с помощью различных интерфейсов и команд.

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

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

17.3. Виртуализация

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

Для Linux есть много систем виртуализации, например KVM (виртуальная машина ядра) и Xen. Виртуальные машины особенно удобны для веб-серверов и серверов баз данных. Хотя возможно настроить единственный сервер Apache для обслуживания нескольких сайтов, за это придется поплатиться гибкостью и управляемостью. Если такие сайты поддерживаются различными пользователями, то вам придется управлять как серверами, так и пользователями сразу. Вместо этого обычно предпочтительнее настроить виртуальные машины на одном физическом сервере, каждую из которых поддерживает свой пользователь, чтобы они не препятствовали друг другу, а вы могли бы изменять и перемещать их по желанию.

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

17.4. Распределенные вычисления и вычисления по запросу

Чтобы облегчить управление локальными ресурсами, можно поместить замысловатые инструменты управления поверх технологии виртуальной машины. Термин «облачные вычисления» настолько всеобъемлющ, что часто используется для обозначения этой сферы. Более точно, инфраструктурой в качестве службы (IaaS, Infrastructure as a Service), называют системы, которые позволяют вам обеспечивать и контролировать основные вычислительные ресурсы, такие как процессор, память, хранилище данных и сеть, на удаленном сервере. Проект OpenStack является одним из таких интерфейсов прикладного программирования и платформой, которая содержит си­стему IaaS.

Переместившись за «сырую» инфраструктуру, можно также выполнить обеспечение платформы ресурсами, такими как операционная система, серверы баз данных и веб-серверы. Систему, которая предоставляет ресурсы на таком уровне, часто называют платформой в качестве службы (PaaS, Platform as a Service).

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

Поделиться:
Популярные книги

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Кодекс Крови. Книга ХVIII

Борзых М.
18. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVIII

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Неудержимый. Книга XXIV

Боярский Андрей
24. Неудержимый
Фантастика:
попаданцы
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIV

Идеальный мир для Лекаря 26

Сапфир Олег
26. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 26

Сами мы не местные

Жукова Юлия Борисовна
2. Замуж с осложнениями
Фантастика:
юмористическая фантастика
космическая фантастика
9.35
рейтинг книги
Сами мы не местные

Невеста

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
8.54
рейтинг книги
Невеста

Трактир «Разбитые надежды»

Свержин Владимир Игоревич
1. Трактир "Разбитые надежды"
Фантастика:
боевая фантастика
7.69
рейтинг книги
Трактир «Разбитые надежды»

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

Изгой Проклятого Клана. Том 2

Пламенев Владимир
2. Изгой
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 2

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Восхитительная ведьма

Джейн Анна
1. Восхитительная ведьма
Любовные романы:
современные любовные романы
4.67
рейтинг книги
Восхитительная ведьма