Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
193
Добавлен:
17.04.2018
Размер:
1.39 Mб
Скачать

Интернет-программирование

МИЭТ, 2017

Лекция 15

Базы Данных

ИП. Базы данных. Реляционная модель

МИЭТ, 2017

База данных (БД, DB от Data Dase )

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

К 1970-м годам была получена достаточно универсальная модель описания БД,

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

Согласно этой модели данные размещались в двумерных таблицах, которые

позволяли получить путем манипуляции с ними все необходимое многообразие

представлений данных.

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

СУБД ( Система Управления Базой Данных )

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

ИП. Базы данных. Узкие места реляционной модели

МИЭТ, 2017

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

значительных ресурсов. Различие представления данных и их хранения называется —

потерей соответствия.

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

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

В 2008 году появился термин Большие Данные (BigData)

ИП. Базы данных. Рост объема данных в мире

МИЭТ, 2017

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

Прогнозы роста данных в Интернет

Матт Макаи (автор книг по Python) http://www.mattmakai.com

ИП. Базы данных. Пути решения проблемы Больших Данных

МИЭТ, 2017

Для того, чтобы обрабатывать много данных — можно идти многими путями:

1.Наращивать мощь одного вычислительного узла (процессора, компьютера)

2.Использовать много узлов (процессоров, компьютеров)

3.Улучшить архитектуру процессора (инструкции, стадии)

4.Оптимизировать принципы построения БД

ИП. БД. Пути решения проблемы BD. Скорость вычислений

МИЭТ, 2017

Путь 1. Повышение скорости работы единичного ВУ

(ВУ - вычислительного устройства)

В 2005 году пропорциональность между плотностью и скоростью — нарушилась. Частота процессоров перестала расти пропорционально плотности транзисторов на кристалле и производительность стали наращивать путем увеличения количества ядер процессоров и быстрой кеш- памяти. В 2007 Мур заявил, что закон вскоре перестанет работать из-за достижения предельных размеров P-N перехода, сравнимых с размерами атомов.

ИП. БД. Пути решения проблемы BD. Скорость вычислений

МИЭТ, 2017

Путь 1. Повышение скорости работы единичного вычислительного устройства

Размер атома кремния — 132 пн = 0,132 Нм.

Значит, минимальная толщина p-n перехода = 2 слоя атомов = 0,26 нм.

Сейчас уверенно реализован 14-нм процесс.

С 2011 года в Аризоне строится завод под 7 нм. Планировалось запустить в 2013, но так и не запущен. Планируется, что 7-нм процесс пойдет в серию в 2018 году.

К 2020 году планируется запустить 5-нм процесс. Единичный транзистор по 5- нм технологии был получен компанией NEC еще в 2003 году.

В 2016 г. Лаборатория Беркли заявила о реализации 1-нм транзистора на базе дисульфида молибдена MoS2. Для кремния это бы означало, что p-слой и n-слой p-n перехода содержат всего по 4 атома кремния. Итого весь p-n переход = 8 атомов

Если в 2020 году 5-нм процесс состоится, то по закону Мура 1-нм должен быть достигнут к 2025 году. Это поможет сделать более емкие диски, но не так сильно поможет увеличить скорость работы одного чипа.

ИП. БД. Пути решения проблемы BD. Распределение вычислений МИЭТ, 2017

Путь 2. Распределение вычислений

Реляционные СУБД по архитектуре не слишком хорошо подходят для такой работы т.к. должны соблюдать требования ACID: атомарность (atomicity), согласованность (consistency), изолированность (isolation), надёжность (durability).

Тогда как теорема САР говорит о том, что в распределенных вычислениях можно обеспечить только два из трёх свойств:

согласованность данных,

доступность (производительность)

устойчивость к разделению (горизонтальная масштабируемость)

Забегая вперед можно сказать, что NoSQL базы жертвуют

согласованностью для достижения производительности и горизонтальной масштабируемости.

ИП. БД. Пути решения проблемы BD. Архитектура вычислителя

МИЭТ, 2017

Путь 3. Улучшить архитектуру процессора

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

ИП. БД. Пути решения проблемы BD. Модель «хранителя»

МИЭТ, 2017

Путь 4. Изменить модель БД

Например, не «распихивать» корзину заказа пользователя по реляционным таблицам в соответствии с третьей нормальной формой, а хранить ее единым документом.

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

Соседние файлы в папке Интернет технологии