Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
С помощью
SELECT ... FOR UPDATE
Если другая транзакция заблокировала какую-либо из этих строк, то она блокируется.
Чтобы заблокировать следующие строки таблицы, игнорируя заблокированные данные, используйте
SELECT ... FOR UPDATE SKIP LOCKED
Это позволит обойти все строки, заблокированные другой транзакцией.
#SQL
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥1😁1
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Отправка и обработка HTTP запросов в PostgreSQL
— Airflow vs NiFi: исследуем оркестратор для формирования витрин данных
— Повышение эффективности SQL-запросов: советы и рекомендации
— Top 10 Tools For SQL Writing For Students
— How Randomized SQL Testing Can Help Detect Bugs?
— SQL Joins Infographic
— ACID and Transactions in SQL
— SQL - Stored Procedures for Reusable and Secure SQL Code
— SQLite Create Table If Not Exists: Conditional Table Creation
— Text2SQL: Converting Natural Language to SQL
— CRUD Operations in SQL
— Should you use an enum column or a table to store allowed values in SQL?
— 7 Tips to Optimise Postgres query performance
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL (⏱ 19:37)
🌐 Задача, которая очень часто встречается на собеседованиях #python (⏱ 00:59)
🌐 Хитрая задача с собеседования #Python (⏱ 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial (⏱ 00:59)
🌐 Django шаблонизация и маршрутизация (⏱ 09:11)
Хорошего дня!
@sqlhub
Почитать:
— Отправка и обработка HTTP запросов в PostgreSQL
— Airflow vs NiFi: исследуем оркестратор для формирования витрин данных
— Повышение эффективности SQL-запросов: советы и рекомендации
— Top 10 Tools For SQL Writing For Students
— How Randomized SQL Testing Can Help Detect Bugs?
— SQL Joins Infographic
— ACID and Transactions in SQL
— SQL - Stored Procedures for Reusable and Secure SQL Code
— SQLite Create Table If Not Exists: Conditional Table Creation
— Text2SQL: Converting Natural Language to SQL
— CRUD Operations in SQL
— Should you use an enum column or a table to store allowed values in SQL?
— 7 Tips to Optimise Postgres query performance
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL (⏱ 19:37)
🌐 Задача, которая очень часто встречается на собеседованиях #python (⏱ 00:59)
🌐 Хитрая задача с собеседования #Python (⏱ 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial (⏱ 00:59)
🌐 Django шаблонизация и маршрутизация (⏱ 09:11)
Хорошего дня!
@sqlhub
👍9❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Он переводит естественный язык в SQL запросы и выполняет их в базе данных.
На данный момент поддерживаются
MySQL, PostgreSQL и SQLite.
Пример:
ormgpt.query("give me post with id 1, all comments for this post and user information about author");
Сгенерированный запрос:
SELECT
p.id AS post_id,
p.title,
p.body,
c.id AS comment_id,
c.body AS comment_body,
u.username AS author_username,
u.email AS author_email
FROM
posts p
JOIN comments c ON p.id = c.post_id
JOIN users u ON u.id = p.user_id
WHERE
p.id = 1;
Вывод:
[
{
post_id: 1,
title: 'Hello world!',
body: 'This is my first post!',
comment_id: 1,
comment_body: 'Hello world!',
author_username: 'test',
author_email: '[email protected]'
}
]
• Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6❤4😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
PostgreSQL - это база данных с открытым исходным кодом, обладающая широкими возможностями настройки.
Если вы хотите узнать, подходит ли она для ваших проектов, этот курс для начинающих поможет вам.
Вы узнаете об операторе
SELECT
, предложениях WHERE
, агрегатных функциях и многом другом.📌 Курс
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
Выбор подходящей базы данных для своего проекта - сложная задача. Существует множество видов баз данных, каждая из которых подходит для разных случаев использования.
Данная шпаргалка поможет определить, какой сервис соответствует потребностям вашего проекта, и избежать возможных "
подводных камней
".@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1
Он предназначен для использования в тестировании и поддерживает работу с такими базами данных, как sqlite, mysql, postgresql, mongodb, redis и couchdb.
pip install fake2db
📌 GitHub
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3🔥3
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Построение OLAP-запросов с использованием аналитических функций
— 7 концепций SQL, которые необходимо знать для работы с данными
— Агент пожизненного обучения, который играет в Minecraft и непрерывно совершенствуется.
— How to Connect Java Applications to Databases with JDBC
— Entendendo o WHERE e o ORDER BY
— Exploring Ways of Performance Tuning Your Postgresql Database
— Implementing distributed Flink SQL gateway based on Kyuubi
— What do front-end developers think of no-code DataViz tools?
— Incubate Your SQL Optimizer Using Egg
— Schemas em SQL: Indexes e B+ trees
— Sql Service Broker
— Deleting a Column in SQL: Everything You Need to Know
— The RETURNING clause in SQL
Посмотреть:
🌐 Пишем телеграм бота для скачивания #yotube видео (⏱ 20:41)
🌐 Алгоритм бинарного поиска на #C++ (⏱ 00:59)
🌐 Очередь с приоритетом разбор задачи на #C++ (⏱ 01:00)
🌐 Задача на поиск числа с leetcode на С++ (⏱ 01:00)
🌐 Задача с #leetcode решаем на #golang (⏱ 00:32)
🌐 Разбор задачи на содержание массива #С++ (⏱ 00:59)
🌐 Django гайд по формам (⏱ 10:32)
🌐 New Azure SQL Database free offer | Data Exposed
Хорошего дня!
@sqlhub
Почитать:
— Построение OLAP-запросов с использованием аналитических функций
— 7 концепций SQL, которые необходимо знать для работы с данными
— Агент пожизненного обучения, который играет в Minecraft и непрерывно совершенствуется.
— How to Connect Java Applications to Databases with JDBC
— Entendendo o WHERE e o ORDER BY
— Exploring Ways of Performance Tuning Your Postgresql Database
— Implementing distributed Flink SQL gateway based on Kyuubi
— What do front-end developers think of no-code DataViz tools?
— Incubate Your SQL Optimizer Using Egg
— Schemas em SQL: Indexes e B+ trees
— Sql Service Broker
— Deleting a Column in SQL: Everything You Need to Know
— The RETURNING clause in SQL
Посмотреть:
🌐 Пишем телеграм бота для скачивания #yotube видео (⏱ 20:41)
🌐 Алгоритм бинарного поиска на #C++ (⏱ 00:59)
🌐 Очередь с приоритетом разбор задачи на #C++ (⏱ 01:00)
🌐 Задача на поиск числа с leetcode на С++ (⏱ 01:00)
🌐 Задача с #leetcode решаем на #golang (⏱ 00:32)
🌐 Разбор задачи на содержание массива #С++ (⏱ 00:59)
🌐 Django гайд по формам (⏱ 10:32)
🌐 New Azure SQL Database free offer | Data Exposed
Хорошего дня!
@sqlhub
👍12🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SELECT ... FROM ... VERSIONS BETWEEN TIMESTAMP <start_dt> AND <end_dt>
Возвращаются изменения в диапазоне дат.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥4
SQLMesh обеспечивает точность и эффективность построения конвейеров данных с помощью пробвинутого решения DataOps для преобразования, тестирования и совместной работы.
Виртуальные среды данных позволяют команде разработчиков создавать динамические представления данных, гарантируя, что таблицы не будут создаваться более одного раза. Модульные тесты, аудиты и Data Diff обеспечивают проверку на протяжении всего рабочего процесса разработки, что позволяет легко работать с данными.
pip install sqlmesh
▪ Github
▪ Подробнее
▪ Документация
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
Некоторые из них зарезервированы, поэтому их нельзя использовать в качестве имен таблиц и столбцов без разделителей
Но это зависит от системы баз данных!
Представляем вам полный список слов для различных бд, которые можно использовать в качестве идентификаторов без кавычек.
На схеме флажок (✓) означает, что слово принимается в качестве имени таблицы или столбца без кавычек.
https://modern-sql.com/reserved-words-empirical-list
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥3
Применение
Чтобы получить значения из приложения в Oracle Database, используйте
@sqlhub
MERGE
для логики "обновить, если существует", "вставить, если не существуетЧтобы получить значения из приложения в Oracle Database, используйте
DUAL
в качестве исходной таблицы.@sqlhub
👍10❤3🔥2
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