This media is not supported in your browser
VIEW IN TELEGRAM
При написании SQL-запросов Очень важно понимать порядок их выполнения.
В SQL-запросе операторы выполняются в следующем порядке:
1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ПОРЯДОК СЛЕДОВАНИЯ
8. LIMIT / OFFSET
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤17🔥4🤔1
1. Реляционные базы данных 💼
- Модель данных: Организует данные в таблицы со строками и столбцами.
- Примеры: MySQL, PostgreSQL, Oracle, SQL Server.
- Ключевые особенности: Соответствие стандарту ACID, высокая степень согласованности данных, структурированное хранение данных, поддержка SQL-запросов, хорошая приспособленность к сложным транзакциям и созданию отчетов.
2. База данных для документов 📄.
- Модель данных: Хранение данных в виде полуструктурированных или JSON-подобных документов.
- Примеры: MongoDB, CouchDB, Firebase Firestore.
- Ключевые особенности: Гибкая схема, горизонтальная масштабируемость, поддержка полуструктурированных данных, хорошо подходит для систем управления контентом и приложений реального времени.
3. In-Memory Database 🚀.
- Модель данных: Хранит данные полностью в оперативной памяти (ОЗУ) системы.
- Примеры: Redis, Memcached, Apache Ignite.
- Ключевые особенности: Сверхбыстрый поиск данных, низкая задержка, подходит для кэширования, управления сессиями и аналитики в реальном времени.
4. Графовые базы данных 🌐.
- Модель данных: Представляет данные в виде узлов и ребер для моделирования отношений.
- Примеры: Neo4j, Amazon Neptune, ArangoDB.
- Ключевые особенности: Эффективный запрос сложных отношений, обход графов, подходит для социальных сетей, рекомендательных систем и обнаружения мошенничества.
5. Базы данных для временных рядов 📈.
- Модель данных: Оптимизирована для упорядоченных по времени точек данных, таких как показания датчиков или файлы журналов.
- Примеры: InfluxDB, Prometheus, TimescaleDB.
- Ключевые особенности: Эффективное хранение и извлечение данных временных рядов, агрегирование, , идеально подходит для мониторинга IoT данных.
6. Пространственные базы данных 🌍.
- Модель данных: Предназначена для хранения пространственных или географических данных.
- Примеры: PostGIS (расширение для PostgreSQL), MongoDB Geospatial, Microsoft SQL Server Spatial.
- Ключевые особенности: Геопространственная индексация, поддержка пространственных типов данных (точки, полигоны, линии), подхожит для сервисов, основанных на определении местоположения, ГИС (географических информационных систем) и картографических приложений.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Теория, лежащая в основе шардинга баз данных, кажется простой.
Но как она реализуется в реальных базах данных?
Рассмотрим это на примере MongoDB (одной из самых популярных баз данных NoSQL)
Основы
Для шардинга в MongoDB необходим кластер.
Кластер - это группа взаимосвязанных серверов или узлов.
Для горизонтального масштабирования можно просто увеличить количество серверов.
Кластер состоит из трех частей:
- Шард
- Маршрутизатор Mongos
- Маршрутизатор конфигурации
Рассмотрим каждую часть:
✅ Шард
Шард - это подмножество данных.
Данные разделяются между группой шардов.
Каждый шард развертывается как набор реплик.
Это замечательная вещь...
...потому что вы получаете репликацию и автоматическое восстановление данных после отказа системы.
Но никаких прямых запросов к шарду не поступает.
✅ Маршрутизатор Mongos
Mongos Router играет ключевую роль в кластере Все запросы направляются на Mongos Router.
Он выполняет две важнейшие задачи:
- Маршрутизация запросов и балансировка нагрузки
- Кэширование метаданных
Маршрутизатор выступает в роли посредника для получения данных с реальных шардов.
✅ Серверы конфигурации
Серверы конфигурации работают как отдельный набор реплик.
Они хранят метаданные для кластера шардов MongoDB.
Метаданные - это как индекс для вашего кластера.
В них хранится такая информация, как:
- Как организованы данные?
- Какие компоненты присутствуют в кластере.
Вот как выглядит весь процесс:
- Код приложения запрашивает данные
- Маршрутизатор Mongos получает запрос
- Маршрутизатор проверяет сервер Config Server, чтобы найти, на каком шарде находятся данные
- Запрос направляется на соответствующий шард
- Данные возвращаются в приложение
Но как она реализуется в реальных базах данных?
Рассмотрим это на примере MongoDB (одной из самых популярных баз данных NoSQL)
Основы
Для шардинга в MongoDB необходим кластер.
Кластер - это группа взаимосвязанных серверов или узлов.
Для горизонтального масштабирования можно просто увеличить количество серверов.
Кластер состоит из трех частей:
- Шард
- Маршрутизатор Mongos
- Маршрутизатор конфигурации
Рассмотрим каждую часть:
✅ Шард
Шард - это подмножество данных.
Данные разделяются между группой шардов.
Каждый шард развертывается как набор реплик.
Это замечательная вещь...
...потому что вы получаете репликацию и автоматическое восстановление данных после отказа системы.
Но никаких прямых запросов к шарду не поступает.
✅ Маршрутизатор Mongos
Mongos Router играет ключевую роль в кластере Все запросы направляются на Mongos Router.
Он выполняет две важнейшие задачи:
- Маршрутизация запросов и балансировка нагрузки
- Кэширование метаданных
Маршрутизатор выступает в роли посредника для получения данных с реальных шардов.
✅ Серверы конфигурации
Серверы конфигурации работают как отдельный набор реплик.
Они хранят метаданные для кластера шардов MongoDB.
Метаданные - это как индекс для вашего кластера.
В них хранится такая информация, как:
- Как организованы данные?
- Какие компоненты присутствуют в кластере.
Вот как выглядит весь процесс:
- Код приложения запрашивает данные
- Маршрутизатор Mongos получает запрос
- Маршрутизатор проверяет сервер Config Server, чтобы найти, на каком шарде находятся данные
- Запрос направляется на соответствующий шард
- Данные возвращаются в приложение
👍9❤6🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите удалить большую часть данных из таблицы?
Удаление может занять очень много времени.
В Oracle Database перемещение таблицы с фильтрацией может быть намного быстрее:
@sqlhub
Удаление может занять очень много времени.
В Oracle Database перемещение таблицы с фильтрацией может быть намного быстрее:
ALTER TABLE ...Только будьте осторожны вы не сможете откатить комнаду назад!
MOVE INCLUDING ROWS
WHERE <rows to keep>
@sqlhub
👍13❤2🔥1
🚀 SQL для Data Science Полный учебный план.
План рассчитан на 28 дней, в течение которых необходимо уделять не менее 1,5 часов в день.
Неделя 1: Основы SQL
День 1-3: Знакомство с синтаксисом SQL, операторами SELECT, фильтрацией и сортировкой.
Ресурсы: Курс Khan Academy "Intro to SQL" на YouTube.
📌Python и базы данных
День 4-5: Работа с несколькими таблицами с помощью операций JOIN.
Ресурс: Курс DataCamp "Объединение данных в SQL".
День 6-7: Агрегирование данных с помощью GROUP BY, HAVING и понимание подзапросов.
Ресурс: Специализация Coursera "SQL for Data Science".
Неделя 2: Углубляемся в SQL
День 8-10: Изучение запросов(INSERT, UPDATE, DELETE) и работа со значениями NULL.
Ресурсы: Плейлист YouTube Калеба Карри на тему "Самоучители SQL".
День 11-12: Погружение в нормализацию данных и принципы проектирования баз данных.
Ресурсы: Плейлист YouTube - Базовая концепция нормализации баз данных
День 13-14: Знакомство с оконными функциями для расширенного манипулирования данными.
Ресурс: Самоучитель SQL - оконные функции от BeardedDev
Неделя 3: Расширенные методы работы с SQL
День 15-17: Освоение подзапросов и коррелированных подзапросов.
Ресурс: курс techTFQ "Подзапросы в SQL".
День 18-20: Изучение индексов, оптимизации производительности и настройки запросов.
Ресурс: Настройка производительности SQL и оптимизация запросов
День 21-22: Понимание хранимых процедур, определяемых пользователем функций и триггеров.
Неделя 4: Применение SQL в реальных условиях и практика
День 23-24: Реализация задач анализа данных, таких как очистка, преобразование и визуализация данных с помощью SQL.
День 25-28: Итоговый проект: Решение сложной задачи с использованием SQL и презентация результатов.
Ресурсы: Наборы данных Kaggle с задачами, связанными с SQL.
@sqlhub
План рассчитан на 28 дней, в течение которых необходимо уделять не менее 1,5 часов в день.
Неделя 1: Основы SQL
День 1-3: Знакомство с синтаксисом SQL, операторами SELECT, фильтрацией и сортировкой.
Ресурсы: Курс Khan Academy "Intro to SQL" на YouTube.
📌Python и базы данных
День 4-5: Работа с несколькими таблицами с помощью операций JOIN.
Ресурс: Курс DataCamp "Объединение данных в SQL".
День 6-7: Агрегирование данных с помощью GROUP BY, HAVING и понимание подзапросов.
Ресурс: Специализация Coursera "SQL for Data Science".
Неделя 2: Углубляемся в SQL
День 8-10: Изучение запросов(INSERT, UPDATE, DELETE) и работа со значениями NULL.
Ресурсы: Плейлист YouTube Калеба Карри на тему "Самоучители SQL".
День 11-12: Погружение в нормализацию данных и принципы проектирования баз данных.
Ресурсы: Плейлист YouTube - Базовая концепция нормализации баз данных
День 13-14: Знакомство с оконными функциями для расширенного манипулирования данными.
Ресурс: Самоучитель SQL - оконные функции от BeardedDev
Неделя 3: Расширенные методы работы с SQL
День 15-17: Освоение подзапросов и коррелированных подзапросов.
Ресурс: курс techTFQ "Подзапросы в SQL".
День 18-20: Изучение индексов, оптимизации производительности и настройки запросов.
Ресурс: Настройка производительности SQL и оптимизация запросов
День 21-22: Понимание хранимых процедур, определяемых пользователем функций и триггеров.
Неделя 4: Применение SQL в реальных условиях и практика
День 23-24: Реализация задач анализа данных, таких как очистка, преобразование и визуализация данных с помощью SQL.
День 25-28: Итоговый проект: Решение сложной задачи с использованием SQL и презентация результатов.
Ресурсы: Наборы данных Kaggle с задачами, связанными с SQL.
@sqlhub
👍35🔥9❤4
This media is not supported in your browser
VIEW IN TELEGRAM
31
интерактивный урок по SQL БЕСПЛАТНО.20+
практических упражнений, которые вы решаете прямо в браузере - установка не требуется.🔗 https://datalemur.com/sql-tutorial
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤2
1. Базы данных
NoSQL
не поддерживают SQL-запросыМногие NoSQL-базы поддерживают, например CosmosDB и Couchbase.
2. Реляционные базы данных не поддерживают возможности
NoSQL
.Вы можете создавать таблицы, содержащие только два столбца, и использовать их в качестве строк ключ-значение.
3. Формат данных
JSON
поддерживается только базами данных NoSQL
. Такие базы данных, как SQL Server и PostgreSQL, имеют встроенную поддержку данных в формате JSON.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🔥2
SQL — широко используемый язык запросов для взаимодействия с реляционными базами данных.
Это ключевой навык для специалистов по данным и всех, кому необходимо эффективно управлять данными.
В этом углубленном курсе вы настроите свою БД, узнаете об агрегации и группировке и многом другом.
Курс
@sqlhub
Это ключевой навык для специалистов по данным и всех, кому необходимо эффективно управлять данными.
В этом углубленном курсе вы настроите свою БД, узнаете об агрегации и группировке и многом другом.
Курс
@sqlhub
👍6👎5❤1🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Список лучших Data Science шпаргалок
🔸SQL - https://s3.amazonaws.com/assets.datacamp.com/email/other/SQL+for+Data+Science.pdf
🔸Статистика - https://res.cloudinary.com/dyd911kmh/image/upload/v1662111933/Marketing/Blog/Descriptive_Statistics_Cheat_Sheet.pdf
🔸Теория вероятностей - https://res.cloudinary.com/dyd911kmh/image/upload/v1674822557/Marketing/Blog/Probability_Cheat_Sheet.pdf
🔸Data storytelling - https://res.cloudinary.com/dyd911kmh/image/upload/v1662633286/Marketing/Blog/Data_Storytelling_Cheat_Sheet.pdf
🔸Data Visualization - https://s3.amazonaws.com/assets.datacamp.com/email/other/Data+Visualizations+-+DataCamp.pdf
🔸Machine Learning - https://s3.amazonaws.com/assets.datacamp.com/email/other/ML+Cheat+Sheet_2.pdf
🔸Deep Learning - https://github.com/afshinea/stanford-cs-229-machine-learning/blob/master/en/cheatsheet-deep-learning.pdf
🔸Big Data - https://github.com/Ritik2703/Data-Science-Cheat-Notes-/blob/master/Big%20Data/Hadoop-and-mapreduce-cheat-sheet.pdf
🔸NLP - https://cheatography.com/sree017/cheat-sheets/nlp/
🔸Python - https://res.cloudinary.com/dyd911kmh/image/upload/v1673614153/Marketing/Blog/Python_Cheat_Sheet_for_Beginners.pdf
🔸R Programming - https://res.cloudinary.com/dyd911kmh/image/upload/v1654763044/Marketing/Blog/R_Cheat_Sheet.pdf
🔸Plotly Express - https://res.cloudinary.com/dyd911kmh/image/upload/v1668605954/Marketing/Blog/Plotly_Cheat_Sheet.pdf
🔸Git - https://res.cloudinary.com/dyd911kmh/image/upload/v1656573882/Marketing/Blog/git_cheat_sheet.pdf
🔸Excel - https://res.cloudinary.com/dyd911kmh/image/upload/v1674225421/Marketing/Blog/Excel_Cheat_Sheet.pdf
🔸Tableau - https://s3.amazonaws.com/assets.datacamp.com/email/other/Tableau+Cheat+Sheet.pdf
🔸Power BI - https://s3.amazonaws.com/assets.datacamp.com/email/other/Power+BI_Cheat+Sheet.pdf
@sqlhub
🔸SQL - https://s3.amazonaws.com/assets.datacamp.com/email/other/SQL+for+Data+Science.pdf
🔸Статистика - https://res.cloudinary.com/dyd911kmh/image/upload/v1662111933/Marketing/Blog/Descriptive_Statistics_Cheat_Sheet.pdf
🔸Теория вероятностей - https://res.cloudinary.com/dyd911kmh/image/upload/v1674822557/Marketing/Blog/Probability_Cheat_Sheet.pdf
🔸Data storytelling - https://res.cloudinary.com/dyd911kmh/image/upload/v1662633286/Marketing/Blog/Data_Storytelling_Cheat_Sheet.pdf
🔸Data Visualization - https://s3.amazonaws.com/assets.datacamp.com/email/other/Data+Visualizations+-+DataCamp.pdf
🔸Machine Learning - https://s3.amazonaws.com/assets.datacamp.com/email/other/ML+Cheat+Sheet_2.pdf
🔸Deep Learning - https://github.com/afshinea/stanford-cs-229-machine-learning/blob/master/en/cheatsheet-deep-learning.pdf
🔸Big Data - https://github.com/Ritik2703/Data-Science-Cheat-Notes-/blob/master/Big%20Data/Hadoop-and-mapreduce-cheat-sheet.pdf
🔸NLP - https://cheatography.com/sree017/cheat-sheets/nlp/
🔸Python - https://res.cloudinary.com/dyd911kmh/image/upload/v1673614153/Marketing/Blog/Python_Cheat_Sheet_for_Beginners.pdf
🔸R Programming - https://res.cloudinary.com/dyd911kmh/image/upload/v1654763044/Marketing/Blog/R_Cheat_Sheet.pdf
🔸Plotly Express - https://res.cloudinary.com/dyd911kmh/image/upload/v1668605954/Marketing/Blog/Plotly_Cheat_Sheet.pdf
🔸Git - https://res.cloudinary.com/dyd911kmh/image/upload/v1656573882/Marketing/Blog/git_cheat_sheet.pdf
🔸Excel - https://res.cloudinary.com/dyd911kmh/image/upload/v1674225421/Marketing/Blog/Excel_Cheat_Sheet.pdf
🔸Tableau - https://s3.amazonaws.com/assets.datacamp.com/email/other/Tableau+Cheat+Sheet.pdf
🔸Power BI - https://s3.amazonaws.com/assets.datacamp.com/email/other/Power+BI_Cheat+Sheet.pdf
@sqlhub
👍15❤7🔥2
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Как расширить компетенции аналитиков при работе с Big Data
— Иерархическая база данных
— PostgreSQL Antipatterns: ходим по JSON-граблям
— SQLx: raw SQL в Rust
— @DynamicUpdate with column-level locking in YugabyteDB and how to avoid write skew anomalies
— MASTERING MYSQL
— Foreign Key validation in YugabyteDB when created in NOT VALID
— Snowflake SQL Unique Functions
— Recommendation Engines with Graph Databases using Apache AGE
— My Takeaways from "How Query Engines Work"
— Postgres: DB parameters configuration on the level of User / Database
— How to prevent database problems from hitting production?
— Postgres Order By: the resultset is sorted differently
— 1075. Project Employees I
Посмотреть:
🌐 Python и базы данных
🌐 Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. (⏱ 13:00)
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Что такое vector в c++ (⏱ 00:51)
🌐 STL C++ стандартная библиотека (⏱ 00:57)
🌐 deque разбор в С++ (⏱ 00:58)
🌐 Нейросеть для превращения #YouTube видео в презентацию (⏱ 00:28)
🌐 SQL for beginners in 60 minutes | Learn SQL | SQL Tutorial for Beginners | Edureka
Хорошего дня!
@sqlhub
Почитать:
— Как расширить компетенции аналитиков при работе с Big Data
— Иерархическая база данных
— PostgreSQL Antipatterns: ходим по JSON-граблям
— SQLx: raw SQL в Rust
— @DynamicUpdate with column-level locking in YugabyteDB and how to avoid write skew anomalies
— MASTERING MYSQL
— Foreign Key validation in YugabyteDB when created in NOT VALID
— Snowflake SQL Unique Functions
— Recommendation Engines with Graph Databases using Apache AGE
— My Takeaways from "How Query Engines Work"
— Postgres: DB parameters configuration on the level of User / Database
— How to prevent database problems from hitting production?
— Postgres Order By: the resultset is sorted differently
— 1075. Project Employees I
Посмотреть:
🌐 Python и базы данных
🌐 Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. (⏱ 13:00)
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Что такое vector в c++ (⏱ 00:51)
🌐 STL C++ стандартная библиотека (⏱ 00:57)
🌐 deque разбор в С++ (⏱ 00:58)
🌐 Нейросеть для превращения #YouTube видео в презентацию (⏱ 00:28)
🌐 SQL for beginners in 60 minutes | Learn SQL | SQL Tutorial for Beginners | Edureka
Хорошего дня!
@sqlhub
👍12🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
SuperDuperDB для использования в AI-проектах
Предлагает специализированные функции, включающие:
✔️ деплой ИИ-API;
✔️ утилиту для тренировки моделей;
✔️ Feature Store - это «магазин» фичей, интерфейс между данными и моделями ML;
✔️ полноценную векторную базу данных.
Он может быть интегрирован с различными базами данных, такими как mongoDB и PostgreSQL, а также с платформами Amazon S3 и фреймворками машинного обучения, такими как PyTorch, Transformers и scikit-learn.
🐱 GitHub
@sqlhub
Предлагает специализированные функции, включающие:
Он может быть интегрирован с различными базами данных, такими как mongoDB и PostgreSQL, а также с платформами Amazon S3 и фреймворками машинного обучения, такими как PyTorch, Transformers и scikit-learn.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Одновременно удалите строки из дочерних таблиц с помощью функции
TRUNCATE TABLE ... CASCADE
Для этого внешние ключи должны быть
ON DELETE CASCADE
#SQLAlchemy
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2❤1
⚡️ Впечатляющая монолитная архитектура Stack Overflow
Компания
Веб-серверы:
- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора
Серверы SQL:
- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU
Redis:
- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU
Stack Overflow эффективно масштабирует монолитное приложение.
📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow
@sqlhub
Компания
Stack Overflow,
поддерживает тенденцию развития микросервисов их сервис обрабатывает 1,3 млрд. просмотров страниц в месяц на своих 200 сайтах, используя удивительно эффективную монолитную архитектуру с минимальной инфраструктурой.Веб-серверы:
- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора
Серверы SQL:
- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU
Redis:
- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU
Stack Overflow эффективно масштабирует монолитное приложение.
📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow
@sqlhub
🔥12👍6❤1