Привет! ☀️
Меня зовут Юля, и я маленький системный аналитик в мире больших данных.
Здесь я делюсь своими практическими советами и наблюдениями по системному анализу и Big Data, основанными на личном опыте.
Мои статьи не претендуют на истину и нацелены в первую очередь на систематизацию моих знаний (поэтому и публикуемая здесь информация будет крутиться около моего стека).
Буду рада любому фидбеку, комментариям или ссылкам на интересную информацию.
Подписывайтесь и улучшайте свои знания вместе со мной!
Меня зовут Юля, и я маленький системный аналитик в мире больших данных.
Здесь я делюсь своими практическими советами и наблюдениями по системному анализу и Big Data, основанными на личном опыте.
Мои статьи не претендуют на истину и нацелены в первую очередь на систематизацию моих знаний (поэтому и публикуемая здесь информация будет крутиться около моего стека).
Буду рада любому фидбеку, комментариям или ссылкам на интересную информацию.
Подписывайтесь и улучшайте свои знания вместе со мной!
❤3
Системный аналитик DWH — кто это? Как объяснить так, чтобы поняла даже бабушка?
На мой взгляд, это волшебник, который превращает хаос в нечто упорядоченное и понятное. Уменьшает энтропию в бесконечных потоках информации внутри компании и не только, даёт бизнесу возможность принимать основанные на данных, то есть имеющие под собой опору, решения.
Получая от бизнеса задачу, системный аналитик погружается в пучину информационных потоков, изучает имеющиеся, ищет новые и подключает их к хранилищу данных (что такое хранилище обсудим чуть позже). В процессе работы активно взаимодействует не только с бизнесом, но и с архитекторами, дата инженерами, девопсами и ещё огромным количеством людей. Он легко находит общий язык с каждым.
Ежедневно мир обрастает петабайтами новой информации (полезной и не очень). Системный аналитик помогает не сойти с ума и не даёт заблудиться в озёрах данных. Даёт возможность найти нужное и использовать найденное максимально эффективно, превращая качественные данные в основу для принятия бизнес-решений.
#системный_анализ
На мой взгляд, это волшебник, который превращает хаос в нечто упорядоченное и понятное. Уменьшает энтропию в бесконечных потоках информации внутри компании и не только, даёт бизнесу возможность принимать основанные на данных, то есть имеющие под собой опору, решения.
Получая от бизнеса задачу, системный аналитик погружается в пучину информационных потоков, изучает имеющиеся, ищет новые и подключает их к хранилищу данных (что такое хранилище обсудим чуть позже). В процессе работы активно взаимодействует не только с бизнесом, но и с архитекторами, дата инженерами, девопсами и ещё огромным количеством людей. Он легко находит общий язык с каждым.
Ежедневно мир обрастает петабайтами новой информации (полезной и не очень). Системный аналитик помогает не сойти с ума и не даёт заблудиться в озёрах данных. Даёт возможность найти нужное и использовать найденное максимально эффективно, превращая качественные данные в основу для принятия бизнес-решений.
#системный_анализ
Насколько большая эта ваша Big data?
”Размер” больших данных — постоянно меняющаяся величина, растущая нелинейно. По прогнозам к 2025 году объем собираемых, генерируемых, копируемых и потребляемых данных достигнет 180 зеттабайт. Предполагаю, исходя из того, что исследование проводилось в 2020-2021 годах, реальные цифры будут выше.
Если же говорить в рамках одной компании, то сегодня это триллионы и квадриллионы строк данных. Информации создаётся столько, что при недостаточно развитой культуре работе с данными (чуть позже ещё затронем тему Data Governance) компании просто не успевают обрабатывать и оперативно реагировать и принимать решения на их основе. В это же время, у других Big Data помогает бизнесу становиться эффективнее и своевременно трансформироваться.
Информация — это безграничная сила в 21 веке. Важно уметь эту силу использовать и применять во благо, а не только рисовать красивые графики в отчётах.
#dwh
”Размер” больших данных — постоянно меняющаяся величина, растущая нелинейно. По прогнозам к 2025 году объем собираемых, генерируемых, копируемых и потребляемых данных достигнет 180 зеттабайт. Предполагаю, исходя из того, что исследование проводилось в 2020-2021 годах, реальные цифры будут выше.
Если же говорить в рамках одной компании, то сегодня это триллионы и квадриллионы строк данных. Информации создаётся столько, что при недостаточно развитой культуре работе с данными (чуть позже ещё затронем тему Data Governance) компании просто не успевают обрабатывать и оперативно реагировать и принимать решения на их основе. В это же время, у других Big Data помогает бизнесу становиться эффективнее и своевременно трансформироваться.
Информация — это безграничная сила в 21 веке. Важно уметь эту силу использовать и применять во благо, а не только рисовать красивые графики в отчётах.
#dwh
🔥1
NULL != NULL — это True?
NULL в базах данных означает “ничего”, отсутствие данных, вместо которых "неизвестно что". Казалось бы звучит просто, но в то же время коварное NULL постоянно хочет обвести вокруг пальца. Поэтому важно помнить об его особенностях.
NULL не равен ничему, в том числе другому NULL (как одна неизвестность может быть равна другой?). При этом и выражение NULL != NULL не будет истинным, так как нельзя сравнить неизвестность с неизвестностью.
Распространённая ошибка поиск по условию WHERE column_name = NULL. Результатом такого условия будет FALSE. Вместо этого для сравнения используется оператор IS NULL (или IS NOT NULL, если нужно найти все не NULL значения).
Ну и, конечно, не стоит забывать, что NULL ни в коем случае не эквивалентен 0.
Во время работы с запросами к БД важно понимать логику работы с NULL, так как без этого результаты могут быть далеки от реальности. Другие особенности работы с NULL рассмотрим в следующих заметках.
#sql #null
NULL в базах данных означает “ничего”, отсутствие данных, вместо которых "неизвестно что". Казалось бы звучит просто, но в то же время коварное NULL постоянно хочет обвести вокруг пальца. Поэтому важно помнить об его особенностях.
NULL не равен ничему, в том числе другому NULL (как одна неизвестность может быть равна другой?). При этом и выражение NULL != NULL не будет истинным, так как нельзя сравнить неизвестность с неизвестностью.
Распространённая ошибка поиск по условию WHERE column_name = NULL. Результатом такого условия будет FALSE. Вместо этого для сравнения используется оператор IS NULL (или IS NOT NULL, если нужно найти все не NULL значения).
Ну и, конечно, не стоит забывать, что NULL ни в коем случае не эквивалентен 0.
Во время работы с запросами к БД важно понимать логику работы с NULL, так как без этого результаты могут быть далеки от реальности. Другие особенности работы с NULL рассмотрим в следующих заметках.
#sql #null
Data Warehouse (DWH) — это система (здесь акцент на слове "система") хранения и анализа больших данных, которая поддерживает процессы принятия решений в компании. Для поддержания её работоспособности нужны серьёзные технические и человекческие ресурсы.
Уильям Инмон объясняет, что такое DWH, на примере 4 ключевых характеристик этой системы:
— Предметно-ориентированность. DWH следуют отраслевой логике, и оперирует данными, относящимися только к темам, представляющим интерес для компании.
— Интегрированность. Хранилище содержит информацию из различных источников, поэтому необходимо позаботиться о согласованности между ними.
— Привязка ко времени. DWH служит своего рода историческим архивом. Поэтому все изменения в информации, касающиеся каждого отдельного элемента, записываются, создавая новые экземпляры без перезаписи старых данных.
— Неизменяемость. Доступ к хранимой информации осуществляется "только для чтения".
Стоит отметить, что не всё из описанного выше является универсальным решением для любого DWH. В противовес Биллу Инмону ставится подход Ральфа Кимбалла. Подробнее о каждом из них буду рассказывать далее.
#dwh
Уильям Инмон объясняет, что такое DWH, на примере 4 ключевых характеристик этой системы:
— Предметно-ориентированность. DWH следуют отраслевой логике, и оперирует данными, относящимися только к темам, представляющим интерес для компании.
— Интегрированность. Хранилище содержит информацию из различных источников, поэтому необходимо позаботиться о согласованности между ними.
— Привязка ко времени. DWH служит своего рода историческим архивом. Поэтому все изменения в информации, касающиеся каждого отдельного элемента, записываются, создавая новые экземпляры без перезаписи старых данных.
— Неизменяемость. Доступ к хранимой информации осуществляется "только для чтения".
Стоит отметить, что не всё из описанного выше является универсальным решением для любого DWH. В противовес Биллу Инмону ставится подход Ральфа Кимбалла. Подробнее о каждом из них буду рассказывать далее.
#dwh
Коротко о ClickHouse:
— OLAP-СУБД
— Колоночное хранение
— Эффективное сжатие данных
— Многопоточная, распределённая, специализированные векторные алгоритмы
— Высокая производительность
— Горизонтальное масштабирование
— Обновление данных большими батчами
— Время обработки 10 строк примерно такое же, как 10 000 строк
— SQL с особенностями
— Отсутствие транзакций
— Не любит джойны
— Ограниченность оконных функций
#clickhouse
— OLAP-СУБД
— Колоночное хранение
— Эффективное сжатие данных
— Многопоточная, распределённая, специализированные векторные алгоритмы
— Высокая производительность
— Горизонтальное масштабирование
— Обновление данных большими батчами
— Время обработки 10 строк примерно такое же, как 10 000 строк
— SQL с особенностями
— Отсутствие транзакций
— Не любит джойны
— Ограниченность оконных функций
#clickhouse
ACID: atomicity, consistency, isolation and durability
Звучит как заклинание, но на самом деле это важнейший набор требований к работе с данными, гарантирующий надёжность транзакций.
Рассмотрим ACID обзорно, а в последствии раскроем каждое из понятий, так как все дата аналитики или инженеры будут ежедневно сталкиваться с этим в работе.
А — Атомарность. Гарантирует, что в рамках транзакции будут выполнены либо все запросы, либо ни одного.
С — Согласованность. Отвечает за то, что в рамках транзакции фиксируются только допустимые результаты.
И — Изолированность. Отвечает за то, что при одновременном выполнении нескольких транзакций, они не должны оказывать влияния друг на друга.
У — Устойчивость. Гарантирует, что если транзакция будет выполнена, то её результаты уже не отменит никакой сбой системы (выключенный сервер, сетевой сбой и так далее).
Хочу отметить, что свойства ACID спроектированы для transaction-ориентированных баз данных.
#sql #acid
Звучит как заклинание, но на самом деле это важнейший набор требований к работе с данными, гарантирующий надёжность транзакций.
Рассмотрим ACID обзорно, а в последствии раскроем каждое из понятий, так как все дата аналитики или инженеры будут ежедневно сталкиваться с этим в работе.
А — Атомарность. Гарантирует, что в рамках транзакции будут выполнены либо все запросы, либо ни одного.
С — Согласованность. Отвечает за то, что в рамках транзакции фиксируются только допустимые результаты.
И — Изолированность. Отвечает за то, что при одновременном выполнении нескольких транзакций, они не должны оказывать влияния друг на друга.
У — Устойчивость. Гарантирует, что если транзакция будет выполнена, то её результаты уже не отменит никакой сбой системы (выключенный сервер, сетевой сбой и так далее).
Хочу отметить, что свойства ACID спроектированы для transaction-ориентированных баз данных.
#sql #acid
🔥1
Коротко о Greenplum:
— MPP-СУБД на основе PostgreSQL
— Быстро обрабатывает тяжелые аналитические запросы на больших данных
— Параллельная обработка данных
— Концепция Shared-nothing (каждый узел является независимым, самодостаточным и не существует единой точки отказа)
— Линейная масштабируемость
— ACID
— Отказоустойчивость
— Полиморфное хранение данных
— Open source
— Не для OLTP нагрузки
#greenplum
— MPP-СУБД на основе PostgreSQL
— Быстро обрабатывает тяжелые аналитические запросы на больших данных
— Параллельная обработка данных
— Концепция Shared-nothing (каждый узел является независимым, самодостаточным и не существует единой точки отказа)
— Линейная масштабируемость
— ACID
— Отказоустойчивость
— Полиморфное хранение данных
— Open source
— Не для OLTP нагрузки
#greenplum
👍1