В предыдущих статьях неоднократно звучал такой термин как «База данных», пришло время разобраться что же это такое и для чего будущему Аналитику она нужна. Но для начала нужно разобраться что собой представляют данные.
Что же такое Данные?
А все очень просто – это информация, сформированная в определенной форме - это могут быть числа, текст, видео, звук, изображение и др.
Мы можем обработать данные (для эффективной обработки мы правильно выбираем и используем структуры данных – см. предыдущие статьи) для достижения наших аналитических целей, получить полезную информацию о работе продукта или помочь бизнесу выбрать правильное направление развития.
За последние годы учитывая что идет цифровизация всего, что нас окружает, данных стало очень много, и это дает неограниченные возможности тем, кто умеет этими данными пользоваться.
Что такое Базы данных(БД)?
Это взаимосвязанная между собой информация(данные) об объектах, которая организована специальным образом и хранится на каком-либо носителе (будь то удаленный сервер или жесткий диск на локальном компьютере). Ну и конечно же данные там не просто хранятся мы можем ими управлять и обрабатывать.
Какие виды Баз данных бываю?
Вот тут не все так просто так как существует огромное количество баз данных созданные в зависимости от различных критериев.
Но рассмотрим наиболее распространенные:
Иерархические – база, основанная на древовидной структуре данных, соответственно также имеет связь между данными на разных уровнях. Является простейшим видом данных используется, например, для организации файловых систем (пример - каталог папок в вашем компьютере).
Сетевые – тоже является иерархической системой, но с модификацией, позволяющей дочерним связывается с несколькими родителями, тем самым повышает скорость обработки запросов в отличие от обычных иерархических БД; Но и работать с такой базой конечно становится сложнее.
Объектные или объектно-ориентированные - Само название данного вида БД говорит нам о том, что есть какой-то объект (а не таблица – это важно), вокруг которого все вертится. Грубо говоря такая БД обеспечивает сложные связи, между отдельными объектами, которые имеют свои атрибуты и методы, описывающие их поведение;
Ну и конечно «БАЗА» которую нужно знать про БД:
Реляционные - такая база данных наиболее привычна для понимания так как представляет собой таблицу, которая состоит из строк и столбцов. Каждая строка представляет элемент данных, а столбец – атрибут который хранит данные определенного типа. Это вид БД очень популярен и широко используемый благодаря простоте и гибкости и возможности выполнения запросов SQL. В таких БД хранятся данный так скажем из «реального мира», например сведенья о человеке, содержимое ваших корзин на маркетплейсах ;
Не реляционные БД (NOSQL*) – устроены иначе нежели реляционные БД, к примеру, они могут хранить данные в виде иерархических структур. В них можно хранить большие объемы неструктурированной информации, так же нет ограничений по типам этих данных. Так же в отличие от реляционной предлагает высокую скорость обработки данных и масштабируемость. **
Для справки:
* NOSQL – расшифровывается как «Not Only SQL», что означает не только SQL .
** Масштабируемость - способность базы данных справляться с изменяющимися требованиями путем добавления / удаления ресурсов.
С основой разобрались.... Ну необходимо для целостности понимания темы нужно разобраться еще кое с чем, а именно:
Какими бывают хранилища данных?
Хранилище DWH (Data Warehouse) – В данный тип хранилища данные собираются из разных источников, и в него входят средства для формирования конечных отчетов (!!разберемся в этом когда будем изучать BI-средства)
Database – подветка DWH, цель данного хранилища упорядоченное хранения данных. Эти базы могут быть SQL и NOSQL – но первоначальная суть не меняется хранение данных ну и доступ к ним, разумеется. А как данные попадают в Database мы разбирали в статье про ETL
Озеро (Data Lake) – это промежуточное хранилище куда попадают непреобразованные(сырые) данные из всевозможных источников. Тут они анализируются, обрабатываются и улетаю в базы данных. Такой тип хранилища в основном используют в BigData и машинном обучении(ML), если таких целей не преследуются, то в большинстве случаев оно особо и не нужно.
Всем добра!