Слайд 1Хранение данных - основы
Булатов Александр
Слайд 2Основные термины
Определяй правильно!
БД
База данных
СУБД
Система управления базами данных
Слайд 3Основные термины
Хранилище данных
Витрина данных
Слайд 4Архитектура
Web Dev, frontend
Web Dev,
backend
Админ БД/
Разраб БД
Слайд 5Профессии
Администратор баз данных
Знание работы сетей, SQL, конкретная СУБД, Linux-администрирование
Разработчик баз
данных
SQL, ЯП, алгоритмы и структуры данных, принципы проектирования БД, аналитический
склад ума, PL/SQL
Инженер-программист
ЯП, аналитический склад ума, SQL, PL/SQL, ORM
Аналитик данных
SQL, аналитический склад ума, знания в оптимизации запросов, UML, принципы проектирования БД
Инженер данных
SQL, NoSQL, ЯП (преимущественно Java, Python),
Слайд 6Набор знаний
Дискретная математика
Булева алгебра
Теория графов
Теория множеств
Реляционная алгебра
Основные операции
Нормальные формы
Аналитическое и
инженерное мышление
(Позже) Навыки Python и других ЯП
Слайд 7Теорема CAP
Consistency - согласованность
Availability - доступность
Partition tolerance - устойчивость
Слайд 8Инструменты
PostgreSQL - основная СУБД на направлении
MongoDB - NoSQL база
данных
Python/C/C++/C#/Java - языки разработки ПО для связи "интерфейса с данными"
DBeaver,
DataGrip - инструменты для разработки и проектирования БД
ClickHouse - NoSQL колоночная база данных от Яндекса (эксперименты)
Tarantool - экспериментальая СУБД на направлении, NewSQL от Mail.ru
Слайд 9Виды СУБД
SQL - Структурированный язык запросов, основан на реляционной модели
данных.
CREATE TABLE `table1` (`user_id` INT(5) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50),
PRIMARY KEY(`user_id`), INDEX(`username`));
SELECT phone_id, user_id FROM table2 WHERE phone_number=200
SELECT phone_id, user_id FROM table2 WHERE phone_number=200 LIMIT 1, 3;
DELETE FROM table1 WHERE user_id = 1;
Больше - в постах и воркшопе
Слайд 11Диалекты
SQL имеет помимо стандартов разные диалекты, которые определяют разработчики СУБД.
Oracle
SQL
MySQL
PostgreSQL
Microsoft SQL Server
SQLite
Слайд 12Корпоративные БД
Целевые системы
Корпоративные системы
Банковское и финансовое ПО
Наукоемкие базы данных
Крупные системы
Телекоммуникационные
системы
Задачи и инструменты:
SQL
PL/SQL
Разработка хранилища данных
Администрирование баз данных
Оптимизация запросов
Разработка распределенных систем
Анализ
данных
Слайд 13NoSQL
Проблемы SQL СУБД:
Сильноструктурированные данные
Медленные запросы
Мало возможностей для распределенной архитектуры
Решение: Not
Only SQL (NoSQL)
Слайд 14NoSQL
NoSQL - СУБД, не придерживающиеся принципов SQL систем (ACID)
Опирается на
масштабируемость за счет атомарности и консистентности данных
Слайд 15NoSQL
Виды:
Key-Value - хранилище - Redis
Колоночные БД - Google BigTable, Clickhouse,
Cassandra
Документоориентированные БД - CouchDB, MongoDB
Графовые БД - Neo4j
Слайд 16NewSQL
Новый виток развития СУБД
(Wiki) NewSQL - класс современных реляционных СУБД,
стремящихся совместить в себе преимущества NoSQL и транзакционные требования классических
баз данных (ACID)
VoltDB - масштабируемая реляционная СУБД
PostgreSQL 10 и выше
Плагины и расширения для существующих СУБД
Слайд 17Дальнейший план
SQL для простых смертных
Практика проектирования БД и запросов к
данным
СУБД и программы