0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#подборки</a></p>
1
<p><a>#подборки</a></p>
2
<ul><li>23 ноя 2021</li>
2
<ul><li>23 ноя 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>SQL в Data Science, описание NoSQL и лайфхаки для скорости и эффективности.</p>
4
</ul><p>SQL в Data Science, описание NoSQL и лайфхаки для скорости и эффективности.</p>
5
<p>Dana Moskvina / Skillbox Media</p>
5
<p>Dana Moskvina / Skillbox Media</p>
6
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
6
<p>В бэкграунде - программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.</p>
7
<p>Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске - самые интересные статьи об SQL, языке для работы с базами данных.</p>
7
<p>Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске - самые интересные статьи об SQL, языке для работы с базами данных.</p>
8
<p><strong>Зачем читать:</strong>узнать, за что SQL так ценят в Data Science.</p>
8
<p><strong>Зачем читать:</strong>узнать, за что SQL так ценят в Data Science.</p>
9
<p><strong>Где читать:</strong>в блоге<a>gitconnected</a>на Medium.</p>
9
<p><strong>Где читать:</strong>в блоге<a>gitconnected</a>на Medium.</p>
10
<p>SQL существует уже много лет, и некоторые думают, что он подобен давным-давно забытому динозавру. Однако это не совсем так - SQL всё ещё лидирует в своей нише и пока что для него не нашли достойной замены.</p>
10
<p>SQL существует уже много лет, и некоторые думают, что он подобен давным-давно забытому динозавру. Однако это не совсем так - SQL всё ещё лидирует в своей нише и пока что для него не нашли достойной замены.</p>
11
<p>Хотя её ищут - например, набирают популярность базы данных на NoSQL, а Google выпустил язык Logica. И всё же пока у этих проектов не получилось выбиться в лидеры: да, в некоторых организациях используется комбинация из SQL и NoSQL, но совсем без SQL пока практически никто не работает.</p>
11
<p>Хотя её ищут - например, набирают популярность базы данных на NoSQL, а Google выпустил язык Logica. И всё же пока у этих проектов не получилось выбиться в лидеры: да, в некоторых организациях используется комбинация из SQL и NoSQL, но совсем без SQL пока практически никто не работает.</p>
12
<p>Более того, у SQL - новая волна популярности благодаря активно растущему Data Science. Будучи самым популярным языком для работы с данными, SQL прочно прописался в категории must have хард-скиллов, которые нужны дата-сайентистам.</p>
12
<p>Более того, у SQL - новая волна популярности благодаря активно растущему Data Science. Будучи самым популярным языком для работы с данными, SQL прочно прописался в категории must have хард-скиллов, которые нужны дата-сайентистам.</p>
13
<p>И дело тут не только в его популярности - есть и сугубо практические соображения. Он отлично дружит со сценарными языками, а ещё с Python и R - самыми распространёнными языками в Data Science.</p>
13
<p>И дело тут не только в его популярности - есть и сугубо практические соображения. Он отлично дружит со сценарными языками, а ещё с Python и R - самыми распространёнными языками в Data Science.</p>
14
<p><strong>Зачем читать:</strong>узнать об устройстве SQL и его конкурентах.</p>
14
<p><strong>Зачем читать:</strong>узнать об устройстве SQL и его конкурентах.</p>
15
<p><strong>Где читать:</strong><a>Towards Data Science</a>на Medium.</p>
15
<p><strong>Где читать:</strong><a>Towards Data Science</a>на Medium.</p>
16
<p>Мы уже упомянули, что кроме SQL существует и так называемый NoSQL-подход. Их главное различие в том, что SQL работает с реляционными базами данных, а NoSQL - с альтернативами. Одна из них - это графовые базы данных, и в последнее время им уделяется всё больше внимания.</p>
16
<p>Мы уже упомянули, что кроме SQL существует и так называемый NoSQL-подход. Их главное различие в том, что SQL работает с реляционными базами данных, а NoSQL - с альтернативами. Одна из них - это графовые базы данных, и в последнее время им уделяется всё больше внимания.</p>
17
<p>В чём же различия между реляционными и графовыми базами данных?</p>
17
<p>В чём же различия между реляционными и графовыми базами данных?</p>
18
<p><strong>Структура:</strong>реляционные базы хранят данные в таблице и делают упор на сами объекты и их консистентности, а графовые хранят данные в сущностях, напоминающих связанные листы, и фокусируются на отношениях между объектами.</p>
18
<p><strong>Структура:</strong>реляционные базы хранят данные в таблице и делают упор на сами объекты и их консистентности, а графовые хранят данные в сущностях, напоминающих связанные листы, и фокусируются на отношениях между объектами.</p>
19
<p><strong>Подход к связям:</strong>в реляционных базах данных нет понятия связей между данными, а если вам очень нужно их обозначить, придётся использовать отдельную таблицу для представления этих связей. Структура же графовых баз данных напоминает объектно-ориентированную модель в программировании: у каждого объекта есть список связанных объектов. Благодаря этому они хорошо подходят для объектно-реляционного отображения (object-relational mapping).</p>
19
<p><strong>Подход к связям:</strong>в реляционных базах данных нет понятия связей между данными, а если вам очень нужно их обозначить, придётся использовать отдельную таблицу для представления этих связей. Структура же графовых баз данных напоминает объектно-ориентированную модель в программировании: у каждого объекта есть список связанных объектов. Благодаря этому они хорошо подходят для объектно-реляционного отображения (object-relational mapping).</p>
20
<p>Количество данных в мире растёт с каждым днём, а их анализ сейчас - одна из самых актуальных тем. Чтобы справляться с огромными объёмами, пригодится знание синтаксиса SQL. В статье разбирается шесть интересных запросов. Ниже приводим несколько из них.</p>
20
<p>Количество данных в мире растёт с каждым днём, а их анализ сейчас - одна из самых актуальных тем. Чтобы справляться с огромными объёмами, пригодится знание синтаксиса SQL. В статье разбирается шесть интересных запросов. Ниже приводим несколько из них.</p>
21
<p>Приём, который пригодится в работе с данными - это их сортировка по одному из параметров:</p>
21
<p>Приём, который пригодится в работе с данными - это их сортировка по одному из параметров:</p>
22
SELECT id, Amount, RANK() OVER (ORDER BY Amount desc) FROM bill<p>Одни из самых важных показателей - дисперсия и стандартное отклонение. Вот удобный способ их посчитать:</p>
22
SELECT id, Amount, RANK() OVER (ORDER BY Amount desc) FROM bill<p>Одни из самых важных показателей - дисперсия и стандартное отклонение. Вот удобный способ их посчитать:</p>
23
SELECT VARIANCE(amount) AS var_amount, VAR_POP(amount) AS var_pop_amount, VAR_SAMP(amount) AS var_samp_amount, STDDEV_SAMP(amount) AS stddev_sample_amount, STDDEV_POP(amount) AS stddev_pop_amount, FROM bill<p>Шпаргалка к командам:</p>
23
SELECT VARIANCE(amount) AS var_amount, VAR_POP(amount) AS var_pop_amount, VAR_SAMP(amount) AS var_samp_amount, STDDEV_SAMP(amount) AS stddev_sample_amount, STDDEV_POP(amount) AS stddev_pop_amount, FROM bill<p>Шпаргалка к командам:</p>
24
<p>VAR_POP - статистическая дисперсия;</p>
24
<p>VAR_POP - статистическая дисперсия;</p>
25
<p>VAR_SAMP - выборочная дисперсия;</p>
25
<p>VAR_SAMP - выборочная дисперсия;</p>
26
<p>STDDEV_SAMP - выборочное отклонение;</p>
26
<p>STDDEV_SAMP - выборочное отклонение;</p>
27
<p>STDDEV_POP - статистическое отклонение.</p>
27
<p>STDDEV_POP - статистическое отклонение.</p>
28
<p>И неувядающая классика - как рассчитать промежуточную сумму таблицы:</p>
28
<p>И неувядающая классика - как рассчитать промежуточную сумму таблицы:</p>
29
SELECT id,month , Amount , SUM(Amount) OVER (ORDER BY id) as total_sum FROM bill<p><strong>Зачем читать:</strong>разобраться в устройстве SQL-серверов и решить проблему долгой загрузки.</p>
29
SELECT id,month , Amount , SUM(Amount) OVER (ORDER BY id) as total_sum FROM bill<p><strong>Зачем читать:</strong>разобраться в устройстве SQL-серверов и решить проблему долгой загрузки.</p>
30
<p><strong>Где читать:</strong>на <a>Redmond</a>.</p>
30
<p><strong>Где читать:</strong>на <a>Redmond</a>.</p>
31
<p>Медленная работа баз данных - одна из самых частых причин низкой скорости веб-приложений. Чтобы это исправить, стоит разобраться в том, как работают серверы баз данных и каким образом они используют память и CPU. И тут самое главное - понимание, что они очень любят сохранять всё-всё-всё в свой кэш. Кроме того, есть ещё и планы выполнения, в которых записаны действия системы, совершённые при запросе.</p>
31
<p>Медленная работа баз данных - одна из самых частых причин низкой скорости веб-приложений. Чтобы это исправить, стоит разобраться в том, как работают серверы баз данных и каким образом они используют память и CPU. И тут самое главное - понимание, что они очень любят сохранять всё-всё-всё в свой кэш. Кроме того, есть ещё и планы выполнения, в которых записаны действия системы, совершённые при запросе.</p>
32
<p>Бывает очень полезно заглянуть в них и разобраться, чем вообще занимается система. В частности стоит обратить внимание на операцию Key Lookup. Обычно она означает, что какого-то индекса не хватает - а значит, системе приходится просматривать соседние столбцы, чтобы найти нужное значение. Это неслабо тормозит всю работу.</p>
32
<p>Бывает очень полезно заглянуть в них и разобраться, чем вообще занимается система. В частности стоит обратить внимание на операцию Key Lookup. Обычно она означает, что какого-то индекса не хватает - а значит, системе приходится просматривать соседние столбцы, чтобы найти нужное значение. Это неслабо тормозит всю работу.</p>
33
<p>Иногда достаточно добавить недостающие индексы - и скорость вырастает в несколько раз! Но, конечно, добавлять стоит только те индексы, которые действительно необходимы.</p>
33
<p>Иногда достаточно добавить недостающие индексы - и скорость вырастает в несколько раз! Но, конечно, добавлять стоит только те индексы, которые действительно необходимы.</p>
34
<p><strong>Зачем читать:</strong>понять, что делать, если проект вдруг стал тормозить.</p>
34
<p><strong>Зачем читать:</strong>понять, что делать, если проект вдруг стал тормозить.</p>
35
<p><strong>Где читать:</strong><a>tiktoktech</a>на Medium.</p>
35
<p><strong>Где читать:</strong><a>tiktoktech</a>на Medium.</p>
36
<p>В начале работы у вас с проектом идёт конфетно-букетный период: вы весело пишете код, добавляете новые фичи и всё отлично работает. А потом проект масштабируется, количество данных увеличивается, а производительность снижается. Что теперь делать и как вернуть проекту былую лёгкость? Прежде чем погружаться в самые глубины, сверьтесь с этим списком - может, проблема вовсе не такая сложная:</p>
36
<p>В начале работы у вас с проектом идёт конфетно-букетный период: вы весело пишете код, добавляете новые фичи и всё отлично работает. А потом проект масштабируется, количество данных увеличивается, а производительность снижается. Что теперь делать и как вернуть проекту былую лёгкость? Прежде чем погружаться в самые глубины, сверьтесь с этим списком - может, проблема вовсе не такая сложная:</p>
37
<ul><li>Используйте SELECT с именами полей вместо SELECT*. Вторая команда просматривает все столбцы, а значит, выполняется дольше. А ещё она потенциально может привести к хаосу - если кто-то добавит новые столбцы.</li>
37
<ul><li>Используйте SELECT с именами полей вместо SELECT*. Вторая команда просматривает все столбцы, а значит, выполняется дольше. А ещё она потенциально может привести к хаосу - если кто-то добавит новые столбцы.</li>
38
<li>Используйте JOIN для слияния таблиц - это гораздо эффективнее подзапросов. В отличие от последних, JOIN сначала находит общие элементы двух таблиц и только потом осуществляет слияние - так оно проходит гораздо быстрее.</li>
38
<li>Используйте JOIN для слияния таблиц - это гораздо эффективнее подзапросов. В отличие от последних, JOIN сначала находит общие элементы двух таблиц и только потом осуществляет слияние - так оно проходит гораздо быстрее.</li>
39
<li>Не забывайте про индексы - это поможет ускорить выполнение запросов в десятки раз! Особенно они пригодятся в запросах с WHERE или JOIN.</li>
39
<li>Не забывайте про индексы - это поможет ускорить выполнение запросов в десятки раз! Особенно они пригодятся в запросах с WHERE или JOIN.</li>
40
<li>Используйте подстановочные операторы только в конце фразы. В противном случае система будет просматривать все строки и потратит на это кучу времени.</li>
40
<li>Используйте подстановочные операторы только в конце фразы. В противном случае система будет просматривать все строки и потратит на это кучу времени.</li>
41
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
41
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>