Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
23.11.2024
Размер:
5.5 Mб
Скачать

Блок №5. Базы данных (реляционные и нереляционные)

1)Базы данных. Транзакции.

База данных — это упорядоченный набор структурированной информации или данных

Базы данных бывают: https://tproger.ru/translations/types-of-nosql-db/

Транзакция — минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью.

Реляциобазыданныхные

Реляциобазаданныхная

– этонаборданныхсп едопрсвязямиеделеннымижду

 

ними.Этданныеорганизова

нныввиденаборатабл,состоящихстолбцовзстрок

.

Резибазыденныхтные

базаданных,размещаемаявоперпамяти. тивной

Шиприменяютсяокодля

приложен,гдевремяотклимиейкаетшающеезначение,вчастности,в

 

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

 

реальномвремени

.

 

Key-value базы данных

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

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

Колоночные БД

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

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

Time-Series БД

ременной ряд – это статистика серии наблюдений за одним и тем же явлением, параметром какого-либо процесса, на протяжении некоторого времени.

Базы данных временных рядов (time series database) позволяют пользователям создавать, считать, обновлять и удалять

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

Документоориентированные БД

MongoDB

-значение,сжимаютсякак

 

Данные,представленныепарамиключ

 

хранилищедокументовсхожимхранилищемключ«

-значение»

 

образом,стойлишьразницей,чтохра имыеачениядокументы( )

 

 

имеютопределённуюструктуикоданныхи. XML,овкуи JSON

 

.

BSON — некоторые изстандартныхраспркостранённыхдировок

Графовые БД

ЛюбойрейтингРекомендов« вам»,кот увидетьрыйжноано

 

разныхсайтах,зачасостисхуюавляетсяизо,какдгоругие

 

пользователиоценилипродукт.Графовыебазыданныхотлично

.

подтакогоходятляслучая

Дедуктивные БД

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

2)SQL-инъекции

https://habr.com/ru/post/148151/ https://pvs-studio.com/ru/blog/terms/6507/

SQL-инъекцияминазываютатаки,позволяющиезлоумышленнику

 

 

производитьраз

личныенесанкциондействиянад рованные

 

базойдан.Омогутнзатрыхиксамикданныегивать,так

 

 

структурубазы.Дляэтоговкачествевходдапнныхредаются

 

 

специальныестр,содекивреджащиеко.мандносные

 

 

Приложение,уязвимокSQL

-инъекциям,прои

зводитвставкуэтих

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

 

 

результатеформизап,выполняющийосуетсядействия,

 

 

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

 

 

корректсточкизренияс нтаксисаымSQL.

 

 

Рекомендуемымс

посбосрьбыбомSQL

-инъекциямисчитаются

параметзап.Сутьрихиспользосызованныесосттом,чтоитвания

 

 

подстановкавнешнихданныхшаблонзапронеизводитсяса

 

 

напрямую,черспециализированноеAPIСформированный. таким

 

 

образомзапросбудетбе

зоп,ткаквскнданныеешниеымпер

 

 

фактическойподстановкойбудутпреобразованы

 

.

3)Виды NoSQL СУБД

https://aws.amazon.com/ru/nosql/

4)Key–value базы данных. Преимущества. Примеры.

https://tproger.ru/translations/types-of-nosql-db/

Key-value базы данных

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

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

выполнениинесколькихтранзакций.Такиевозмдолжныжности

.

предоставлятьсясамприложением

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

Примеры:

Корзинаинтернет -магазина

5)Memcached. Способ хранения данных. Масштабирование.

6)Redis. Особенности хранилища. Масштабирование.

https://aws.amazon.com/ru/redis/

Производительность

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

Кэширование Чат,обменсообщиочерединиями Игровыетаблицылидеров Хранилсессийще

ВRedisприменяархитузловведущий« тсяктура

 

-подчиненный»

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

 

 

копироватьсянанесколькоподчиненныхсерверов.Этообеспечиваеткак

 

 

улучшенныехарактеристикичтения

(таккакзапросымогутбыть

распределены

междусерверами),такускоренноевосстановлениеслучаесбояосновного

 

 

сервера.ДляобеспеченияпостояхраRedisподдерживаетенияногоснимки

 

 

состнамомврянияентмени

(копированнаборовданRedisдых)иеск

.

Ведущий — ведомый» (англ. master/slave[1]) — модель взаимодействия в вычислительных комплексах, телекоммуникационных и информационных системах, в которой одно главное устройство (ведущее устройство) или процесс осуществляет однонаправленное управление подчинённым (ведомое устройство) устройством или процессом или их группой. В некоторых системах ведущий (мастер) выбирается из группы подходящих для этого устройств, остальные устройства в группе продолжают работать в режиме ведомых[2][3][4]. Например, при репликации баз данных ведущий узел базы данных (мастерреплика) устанавливается в качестве авторитетного источника данных, а дополнительные, ведомые реплики синхронизируются с ним.

7)Колоночные БД. Принцип работы и хранения данных. Примеры.

https://tproger.ru/translations/types-of-nosql-db/

8)Time-Series БД. Примеры.

https://www.influxdata.com/time-series-database/

9)Документоориентированные БД. Особенности. Примеры.

10)Графовые БД. Примеры

Блок №6. ElasticSearch + контейнеризация приложений

1)Что такое ElasticSearch

https://ru.wikipedia.org/wiki/Elasticsearch https://www.bigdataschool.ru/wiki/elasticsearch

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

Elasticsearch как NoSQL

● CRUD операции

● Сложные JSON документы

● Быстрый поиск

● Агрегации

Агрегировасуммируетвашиданвидениеые

показ,статистикиилителейдругойан

алитики.

Агрегпомогутвамответитьциинатакиевопросы,как:

 

● Полнотекстовый поиск

Соседние файлы в папке ПИУС (PHP)