Share
Embed
Transcript
36 slides
-
Цифровая эпоха • Все знания мира — оцифровать и в
интернет • 2014 год: Google обрабатывает 20 петабайт (1 петабайт = 1024 терабайт) информации в день [1] • Все письменные работы, созданные человечеством с начала известной истории, занимают ~50 петабайт [1] -
Поиск информации внутри книги • Содержание • Номера страниц •
Примерное место по памяти • Прочитать все целиком -
Поиск книги внутри библиотеки • Библиографии и каталоги (по темам,
названиям, авторам) • Картотека • Списки источников в других книгах • Совет учителя или библиотекаря -
Ваша ценность - умения • связывать и структурировать информацию, •
составлять путевую карту обучения, • фильтровать информационный шум, • выделять ключевые события, • отличать факты от фейков, • ранжировать источники, • выстраивать внешне несвязанные события в логические цепочки • определять неочевидные закономерности среди огромных потоков информации -
Ваша ценность, как инженера • Проектировать системы, которые будут выполнять
эти задачи автоматически -
Хранение, обработка, структурирование электронных данных • Текстовые файлы • Электронные
таблицы • Реляционные базы данных (SQL) • Нереляционные базы данных (NoSQL — Not Only SQL) • Большие данные (Big data) -
Текстовый файл + автоматизированный поиск cat+grep, sed, awk > cat
call_history | grep «+7920» -
Электронные таблицы • Типизированные ячейки (текст, числа, даты) • Произвольные
связи между ячейками и диапазонами ячеек через формулы • Автоматическое обновление связанных ячеек • Встроенные скрипты -
Области применения • Нарисовать расписание занятий • Список сотрудников или
прайс-лист • Продвинутый калькулятор • Бухгалтерия «на коленке» -
Реляционные базы данных • Таблицы + строго типизированные именованные колонки
• На значения колонок можно накладывать ограничения • Между таблицами можно устанавливать жесткие связи через внешние ключи • Целостность данных, транзакции -
Области применения • бизнес (ERP: складской учет, бухгалтерский учет, документооборот,
управление проектами, автоматизация бизнес-процессов и т. п.), • веб (блоги, форумы, порталы, интернет- магазины, соцсети, веб-приложения), • мобильные приложения (встраиваемые базы данных: контакты, звонки), • настольные приложения (Access сдулся, разработка). -
Нереляционные базы данных • Обеспечивают скорость, масштабируемость, отказоустойчивость, жертвуя жесткими
связями и обязательной целостностью • Реализуют разные концепты в зависимости от задачи -
Большие данные • Поиск полезных закономерностей в океанах информации •
Предсказательный эффект приносит деньги • Ценность имеет инженер (data scientist), владеющий техническими методами работы с массивами информации и целевой предметной областью одновременно -
Реляционные базы данных, язык SQL 2.1. Подробнее про реляционные базы
данных, основы SQL. Практика: SQL+slite, sql- ex.ru. 2.2. Работа с базами данных при разработке программы (Java), интерфейс JDBC. Практика: Java+JDBC (sqlite/MySQL). 2.3. Прямое отображение объектной модели приложения на структуру базы данных: фреймворки ORM. Практика: переделать предыдущее упражнение с SQL на ORM-фреймворк для Java. 2.4. Базы данных на мобильных платформах: встраиваемые (однофайловые) базы данных. Практика: Android Provider API+sqlite. 2.5. Базы данных для веб-приложения, многоуровневая архитектура веб-приложения. БД <=> Веб-приложение[ORM/Rest-сервис] <=> Интернет-протокол[Json] <=> Браузер[JavaScript/HTML] Практика: Unfiltered+Scala или Node.js+JavaScript -
Нереляционные базы данных (NoSQL) 3.1. Отличие от реляционных баз данных,
области применения, примеры: высоконагруженные сервисы (HighLoad), большие данные (BigData). 3.2. Типы хранилищ NoSQL: Ключ-значение, Семейства колонок 3.3. Типы хранилищ NoSQL: Документо- ориентированные БД, БД на основе графов -
Большие данные (Big data): data science, data mining 4.1. Основные
понятия, области применения, особенности работы инженера-ученого, работающего с большими данными, современный рынок труда для специалистов по большим данным. 4.2. Технические средства работы с большими данными, основные инструменты и подходы 4.3. Примеры реальных задач -
Доклады • 1 доклад на одного человека • Прогул доклада:
-1 балл за курсовую (не восстанавливается) • Сделанный доклад: +0.5 балла на зачет/за курсовую • Последняя страница — список источников • Минимум 3 разных источника • Наличие английского источника: +1 балл к зачету/курсовой (вместо 0.5) -
Зачёт • Нужно накопить 2 балла • 1 лабораторная работа
= 0.5 балла • Доклад = 0.5 балла • Доклад с англоязычным источником = 1 балл -
Курсовая • Выбрать предметную область • Сумма лабораторных работ в
предметной области, оформленных красиво по правилам курсовой, даст курсовую • 1 лабораторная работа = 0.5 балла • 2 балла = 3 за курсовую • 3 балла = 4 за курсовую • 4 балла = 5 за курсовую • (пропущенный доклад: -1 балл) -
Практическое задание 1 • Выбрать предметную область • Выбрать 1
объект с 2-3 характеристиками • Заполнить текстовый файл 20-30 экземплярами объекта • При помощи команд cat и grep получить из файла группы объектов, удовлетворяющих тем или иным значениям характеристик (2-3 группы) -
Ссылки • [1] The Data Explosion in 2014 Minute by
Minute – Infographic, Susan Gunelius, July 12, 2014, http://aci.info/2014/07/12/the-data- explosion-in-2014-minute-by-minute- infographic/