Я *пишу про sql-style*
Мой последний sql-запрос:
https://youtu.be/CHw86xZ0qJo?si=9xyVTkhomLl4IiEp
#мемы
Мой последний sql-запрос:
https://youtu.be/CHw86xZ0qJo?si=9xyVTkhomLl4IiEp
#мемы
YouTube
какая ты двуличная раиса васильевна
discord teaineyes#3325
❤9
SQL style.pdf
100.6 KB
SELECT style FROM SQL. Часть 2
Продолжаю пост про best practices по написанию sql кода (+ собрала в единый файл основные принципы)
📌1. Прописывайте inner/cross join в явном виде
Плохо
Хорошо
📌2. Старайтесь не использовать типы данных REAL и FLOAT. В SQL имеются гибкие типы данных NUMERIC и DECIMAL, лишенные ошибок округления, присущих числам с плавающей точкой.
📌3. Избегайте лишних скобок.
📌4. Ищите наиболее компактную форму.
- Используйте предикаты BETWEEN, а не AND
- Используйте предикаты IN(), а не OR. НО! будьте аккуратны с null-значениями.
📌5. Избегайте union.
UNION очень плохо поддается оптимизации, поскольку в них требуется отбрасывать избыточные дубликаты, они заставляют большинство ядер SQL производить сортировку, прежде чем представить результаты пользователю. Лучше заменить на union all.
📌6. Указывайте из какой таблицы вы берет поле в явном виде.
Если у вас джоин для нескольких таблиц, то пропишите для удобства откуда именно тянется ваша колонка. Но не перебарщивайте: для простого селекта такое делать не нужно.
Плохо
Хорошо
📌7. Всегда переименовывайте свои агрегирующие функции.
Плохо
Хорошо
📌8. Разделяйте case/when statements.
Каждый when должен быть на отдельной строке и ниже по уровню, чем case.
Хорошо
📌9. Используйте WHERE 1=1.
Такая конструкция, как WHERE 1=1 в SQL, облегчает добавление дополнительных условий с помощью AND.
Если вас увлекла эта тема, то советую прочитать книгу SQL Programming Style - Joe Celko:
https://doc.lagout.org/programmation/Databases/mssql/SQL%20Programming%20Style%20-%20Apr%202005.pdf
#трудовыебудни
Продолжаю пост про best practices по написанию sql кода (+ собрала в единый файл основные принципы)
📌1. Прописывайте inner/cross join в явном виде
Плохо
select a, b from empl, depart
Хорошо
SELECT a, b FROM empl
CROSS JOIN depart
📌2. Старайтесь не использовать типы данных REAL и FLOAT. В SQL имеются гибкие типы данных NUMERIC и DECIMAL, лишенные ошибок округления, присущих числам с плавающей точкой.
📌3. Избегайте лишних скобок.
📌4. Ищите наиболее компактную форму.
- Используйте предикаты BETWEEN, а не AND
- Используйте предикаты IN(), а не OR. НО! будьте аккуратны с null-значениями.
📌5. Избегайте union.
UNION очень плохо поддается оптимизации, поскольку в них требуется отбрасывать избыточные дубликаты, они заставляют большинство ядер SQL производить сортировку, прежде чем представить результаты пользователю. Лучше заменить на union all.
📌6. Указывайте из какой таблицы вы берет поле в явном виде.
Если у вас джоин для нескольких таблиц, то пропишите для удобства откуда именно тянется ваша колонка. Но не перебарщивайте: для простого селекта такое делать не нужно.
Плохо
SELECT
companies.id,
companies.name
FROM companies
Хорошо
SELECT
users.email,
sum(charges.amount) as total_revenue
FROM users
INNER JOIN charges ON users.id = charges.user_id
📌7. Всегда переименовывайте свои агрегирующие функции.
Плохо
SELECT
count(*)
FROM users
Хорошо
SELECT
count(*) as total_users
FROM users
📌8. Разделяйте case/when statements.
Каждый when должен быть на отдельной строке и ниже по уровню, чем case.
Хорошо
CASE
WHEN event_name = 'viewed_homepage' THEN 'Homepage'
ELSE 'Other'
END
📌9. Используйте WHERE 1=1.
Такая конструкция, как WHERE 1=1 в SQL, облегчает добавление дополнительных условий с помощью AND.
Если вас увлекла эта тема, то советую прочитать книгу SQL Programming Style - Joe Celko:
https://doc.lagout.org/programmation/Databases/mssql/SQL%20Programming%20Style%20-%20Apr%202005.pdf
#трудовыебудни
🔥7👍2
Вообще, сегодня долго грустила из-за вот этого:
https://t.me/ForbesLifeRussia/4784
с февраля 2022 года ее проект был какой-то отдушиной в трудное время.
https://t.me/ForbesLifeRussia/4784
с февраля 2022 года ее проект был какой-то отдушиной в трудное время.
Telegram
Forbes Life
Журналистка Катерина Гордеева (признана иноагентом) сообщила, что ее YouTube-проект «Скажи Гордеевой» приостанавливает работу из-за принятия закона о запрете размещать рекламу у иноагентов. Уже отснятые выпуски будут публиковаться «по мере сил и возможностей».…
❤8
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉4🔥2
Как построить data lineage. Обзор решений и опыт команды Тинькофф.
Принесла немного DE-шного материала, посмотрела доклад с конфы Smart Data 2022.
Что такое lineage?
Если кратко, то lineage - это информация, которая описывает движение данных от источника происхождения по точкам обработки и применения.
Где применяется lineage?
- поиск источников: отслеживание зависимостей, поиск узких мест, анализ первопричин аномалий и тд
- анализ влияния: анализ первопричин аномалий, change management, инф.безопасность, комплаенс и тд
Какие есть подходы к построению lineage?
1.😖 Вручную
Сидит разраб и ручками прокидывает стрелочки между элементами, то есть явное указание зависимостей
Плюсы: простота реализации, поддержка множеством etl инструментов
Минусы: как протянуто поле от начала до конца не увидишь, дорогостоящая разработка, так как все связи должен знать разраб, много всего в голове должно держаться.
Кто использует: Pentaho DI, SSIS (рис. 1)
2.👩💻 Полуавтоматический вариант по метаданным
Сидит разраб и ручками заполняет метаданные трансформаций
Плюсы: возможен column-column lineage (то есть видим как поле протягивается от начала до конца), граф выполнения исходя из зависимостей
Минусы: метаданные могут не соответствовать реальности из-за косяков со стороны разраба, сложность в описании явных зависимостей
Кто использует: Informatica (рис. 2), SAS
3.🤩 Автоматически (метаданные извлекаются из кода)
Плюсы: не требует доп.действий, всегд актуальное состояние
Минусы: ограниченное количество инструментов, различия в синтаксисах
Кто использует: dbt(table-table only) (рис. 3), atlan
Нюанс: dbt ничего не знает про семантику, его lineage можно сломать комментом c ref и получим неправильные зависимости.😜
Команда разработчиков в Тинькофф пошла дальше и решила запилить свой собственный инструмент под названием TEDI.
Им потребовалось около 2 лет и 11 человек в команде, чтобы сделать версию под Greenplam.
#трудовыебудни
Принесла немного DE-шного материала, посмотрела доклад с конфы Smart Data 2022.
Что такое lineage?
Если кратко, то lineage - это информация, которая описывает движение данных от источника происхождения по точкам обработки и применения.
Где применяется lineage?
- поиск источников: отслеживание зависимостей, поиск узких мест, анализ первопричин аномалий и тд
- анализ влияния: анализ первопричин аномалий, change management, инф.безопасность, комплаенс и тд
Какие есть подходы к построению lineage?
1.
Сидит разраб и ручками прокидывает стрелочки между элементами, то есть явное указание зависимостей
Плюсы: простота реализации, поддержка множеством etl инструментов
Минусы: как протянуто поле от начала до конца не увидишь, дорогостоящая разработка, так как все связи должен знать разраб, много всего в голове должно держаться.
Кто использует: Pentaho DI, SSIS (рис. 1)
2.
Сидит разраб и ручками заполняет метаданные трансформаций
Плюсы: возможен column-column lineage (то есть видим как поле протягивается от начала до конца), граф выполнения исходя из зависимостей
Минусы: метаданные могут не соответствовать реальности из-за косяков со стороны разраба, сложность в описании явных зависимостей
Кто использует: Informatica (рис. 2), SAS
3.
Плюсы: не требует доп.действий, всегд актуальное состояние
Минусы: ограниченное количество инструментов, различия в синтаксисах
Кто использует: dbt(table-table only) (рис. 3), atlan
Нюанс: dbt ничего не знает про семантику, его lineage можно сломать комментом c ref и получим неправильные зависимости.
Команда разработчиков в Тинькофф пошла дальше и решила запилить свой собственный инструмент под названием TEDI.
Им потребовалось около 2 лет и 11 человек в команде, чтобы сделать версию под Greenplam.
#трудовыебудни
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Могла бы сейчас онлайн шопиться, но у Остина я вызываю сомнения. 😔
Пришлось достать чтиво в виде DAMA-DMBOK.
Кстати, с ужасом осознала, что когда стрессую, то начинаю заедать вкусняшками или мониторить маркетплейсы.
А я-то все думала, что я не такая, я жду трамвая…
А как вы справляетесь со стрессом или просто плохим настроением?
P.s. На главную переходила, не работает
Пришлось достать чтиво в виде DAMA-DMBOK.
Кстати, с ужасом осознала, что когда стрессую, то начинаю заедать вкусняшками или мониторить маркетплейсы.
А я-то все думала, что я не такая, я жду трамвая…
А как вы справляетесь со стрессом или просто плохим настроением?
P.s. На главную переходила, не работает
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
У меня тотальные проблемы с чтением.
Я плохо переношу художественную литературу, моему центру удовольствия довольно трудно угодить. Кажется, последнее, что я читала уже после школы был И.Ефремов «Туманность Андромеды».
Зато мне нравится читать что-то связанное с историей или профессиональную литературу.
Есть правда нюанс: как-то мало времени получается на это выделять. Мне нужен какой-то стимул.
В итоге вспомнила, что вообще-то есть канал и решила, что буду читать и делать конспекты с главными тезисами и делиться ими с вами.
Закоммичусь на чтение 4х книг:
🤓 DAMA-DMBOK - свод правил по управлению данными. Настольная книга серьезных дата-людей.
🤓 Lean Analytics – своего рода путеводитель по созданию стартапа. Книга рассказывает о том, как аналитика может помочь в развитии собственного бизнеса. Фактически Lean Analytics продолжает идею так называемого «бережливого стартапа», которая берет начало в книге (The Lean Startup Эрика Риса.
🤓 Mastering Leadership - что-то часто стала мелькать эта книга в постах LinkedIn. По идее книга для CEO и руководителей высшего звена, но думаю, что для общего развития будет полезна всем.
🤓 Storytelling with data - ну куда уж без этого. Название говорит само за себя.
А что вы читаете? Что у вас в списке?
#книги
Я плохо переношу художественную литературу, моему центру удовольствия довольно трудно угодить. Кажется, последнее, что я читала уже после школы был И.Ефремов «Туманность Андромеды».
Зато мне нравится читать что-то связанное с историей или профессиональную литературу.
Есть правда нюанс: как-то мало времени получается на это выделять. Мне нужен какой-то стимул.
В итоге вспомнила, что вообще-то есть канал и решила, что буду читать и делать конспекты с главными тезисами и делиться ими с вами.
Закоммичусь на чтение 4х книг:
А что вы читаете? Что у вас в списке?
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍1
DAMA-DMBOK.pdf
392.3 KB
Что ж, выкатываю первые 2 главы DAMA-DMBOK.
Вычитала интересный вариант неэтичного использования данных:
https://tylervigen.com/spurious-correlations - интересный сайт, где показаны забавные «совпадения» выборок случайных величин.
К примеру, вы можете увидеть график, где возраст «Мисс Америка» разных лет удивительным образом коррелирует с графиком количества смертей из-за пара и\или разного рода горячих объектов.
#книги
Вычитала интересный вариант неэтичного использования данных:
«Статистическое сглаживание» показателей за отчетный период способно кардинально изменить восприятие чисел. Недавно появившийся термин «data mining snooping» (в буквальном переводе — «добыча данных с отслеживанием», однако в русскоязычных источниках чаще всего используется термин «слепое прочесывание данных») описывает новомодную тенденцию в статистико-аналитических исследованиях больших массивов неупорядоченных данных. В рамках этого подхода на массив данных накладываются исчерпывающие корреляционные связи, то есть данные принудительно втискиваются в рамки некой статистической модели, после чего из массива вытягивается выборка, дающая формально «статистически значимые» результаты, которые в реальности являются чисто случайными и не выходят за пределы статистической ошибки в рамках совокупности исходных данных. Неспециалисты этим приемом вводятся в заблуждение с легкостью. Этот трюк сегодня наиболее распространен в финансах и медицине.
https://tylervigen.com/spurious-correlations - интересный сайт, где показаны забавные «совпадения» выборок случайных величин.
К примеру, вы можете увидеть график, где возраст «Мисс Америка» разных лет удивительным образом коррелирует с графиком количества смертей из-за пара и\или разного рода горячих объектов.
#книги
🔥3❤1
@DataismPrepBot
В базе уже 600+ реальных вопросов с собеседований (с ответами!)
Теперь готовиться к интервью стало намного проще.
Какие есть специальности:
Какие фичи в боте:
Бесплатно, без регистраций и смс
#поискработы
#бот
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7 5🔥2
Тут на vc парень-программист выкатил анализ своих подарков.
Моя любимая часть любой статьи - это комментарии. И вот кто-то в них написал про видео Вероники Степановой о программистах.
Официально заявляю, что это была плохая идея глянуть ЭТО перед сном.
Не повторяйте мою ошибку.
Моя любимая часть любой статьи - это комментарии. И вот кто-то в них написал про видео Вероники Степановой о программистах.
Официально заявляю, что это была плохая идея глянуть ЭТО перед сном.
Не повторяйте мою ошибку.
vc.ru
Надоело делать нормальные подарки, а получать тапочки. Сделал таблицу с расходами и вариантами равноценных подарков
Привет! В ноябре на свой др я понял, что подарки должны быть равноценными хотя бы по вложенным усилиям. Если уж не по цене. Мне и самому нравится дарить персональные подарки, а не на отвались. Решил понять, сколько тратятся на подарки мне, сколько трачусь…
Как выглядит работа аналитика данных в РЕАЛЬНОСТИ
👨💻 Часто просят рассказать более детально суть работы аналитиком.
Сидела я вечером и думала, как же жизненно это описать. В итоге родилось это.
Кидайте в комменты свои варианты (и про свою профессию, не только аналитики).
А еще напоминаю, что есть милый бот для подготовки к собеседованиям @DataismPrepBot
250+ вопросов с ответами ждут :)
Без регистраций, смс и бесплатно
#трудовыебудни
Сидела я вечером и думала, как же жизненно это описать. В итоге родилось это.
Кидайте в комменты свои варианты (и про свою профессию, не только аналитики).
А еще напоминаю, что есть милый бот для подготовки к собеседованиям @DataismPrepBot
250+ вопросов с ответами ждут :)
Без регистраций, смс и бесплатно
#трудовыебудни
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20