🔥 Подборка полезных ресурсов для программистов.
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/databases_tg
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://xn--r1a.website/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://xn--r1a.website/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://xn--r1a.website/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://xn--r1a.website/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/databases_tg
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://xn--r1a.website/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://xn--r1a.website/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://xn--r1a.website/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://xn--r1a.website/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
Что делает оператор EXPLAIN PARTITIONS в MySQL?
Anonymous Quiz
75%
Показывает план выполнения с информацией о партициях, задействованных в запросе
16%
Выполняет запрос и разбивает результат по партициям
5%
Создаёт партиции для таблицы
3%
Удаляет партиции, не используемые в запросе
👍5❤3🔥2
📚 Курс, который прокачает твои AI-скиллы в BigQuery
Этот курс учит работать с Gemini прямо внутри BigQuery и закрывает полный набор практических навыков:
- генерация и отладка SQL-запросов с помощью Gemini
- анализ тональности текста
- автоматические суммари и выделение ключевых слов
- генерация эмбеддингов
- построение RAG-пайплайна
- мультимодальный векторный поиск
Если хочешь уверенно использовать AI-инструменты в аналитике и продуктах — этот курс даёт полный набор необходимых умений.
https://www.skills.google/paths/1803/course_templates/1232
Этот курс учит работать с Gemini прямо внутри BigQuery и закрывает полный набор практических навыков:
- генерация и отладка SQL-запросов с помощью Gemini
- анализ тональности текста
- автоматические суммари и выделение ключевых слов
- генерация эмбеддингов
- построение RAG-пайплайна
- мультимодальный векторный поиск
Если хочешь уверенно использовать AI-инструменты в аналитике и продуктах — этот курс даёт полный набор необходимых умений.
https://www.skills.google/paths/1803/course_templates/1232
❤5👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Узнайте, как строить сложные AI-процессы на AI DevTools Conf
4 декабря команда Cloud.ru проводит практическую конференцию для AI/ML-инженеров, архитекторов, техлидов и всех, кто работает с AI.
А еще можно будет протестировать сервисы для работы с AI&ML, задать вопросы экспертам и остаться на afterparty.
Места на офлайн-участие ограничены, поэтому советуем сразу перейти к регистрации.
Зарегистрироваться
4 декабря команда Cloud.ru проводит практическую конференцию для AI/ML-инженеров, архитекторов, техлидов и всех, кто работает с AI.
В программе доклады и воркшопы, где вы научитесь:😶🌫️ собирать AI-агентов😶🌫️ управлять уязвимостями😶🌫️ внедрять AI-инструменты в разработку😶🌫️ тестировать LLM-агентов😶🌫️ и не только
А еще можно будет протестировать сервисы для работы с AI&ML, задать вопросы экспертам и остаться на afterparty.
Места на офлайн-участие ограничены, поэтому советуем сразу перейти к регистрации.
Зарегистрироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
⚡️ Знакомство с MCP Toolbox for Databases (ранее Gen AI Toolbox for Databases) от Google
Почему стоит обратить внимание
Toolbox - это open-source сервер, который упрощает создание инструментов на базе ИИ, работающих с базами данных. Он берет на себя сложности вроде пулов соединений, аутентификации и телеметрии.
Что даёт:
- Можно интегрировать новые инструменты в агента (или ИИ-ассистента) всего в ~10 строках кода.
- Производительность выше за счёт продвинутого управления соединениями и аутентификацией.
- Безопасность: встроенная авторизация, контроль доступа к данным.
- Полная видимость: метрики и трассировка (OpenTelemetry) сразу «из коробки».
- Возможность общаться с БД на естественном языке, получить код, тесты, индексы — прямо из IDE.
Архитектура в двух словах
Toolbox размещается между вашим приложением (или агентом) и базой данных. Он действует как «контрольная плоскость» — управляет инструментами, хранит и обновляет их, позволяет нескольким агентам и приложениям использовать один и тот же набор инструментов без перекомпиляции.
Быстрый старт:
- Установите сервер (бинарник, контейнер или собрать из исходников).
- Создайте файл tools.yaml и запустите:
- Используйте SDK (Python, JS/TS, Go) в своём приложении, подключитесь к серверу и загрузите нужный набор инструментов.
Кому это полезно:
Разработчикам приложений, где ИИ-агент делает работу с базами данных: запросы, обновления, анализ схем. Если хотите, могу подготовить мини-таск или пример использования Toolbox с вашим стеком.
https://googleapis.github.io/genai-toolbox/getting-started/introduction/
Почему стоит обратить внимание
Toolbox - это open-source сервер, который упрощает создание инструментов на базе ИИ, работающих с базами данных. Он берет на себя сложности вроде пулов соединений, аутентификации и телеметрии.
Что даёт:
- Можно интегрировать новые инструменты в агента (или ИИ-ассистента) всего в ~10 строках кода.
- Производительность выше за счёт продвинутого управления соединениями и аутентификацией.
- Безопасность: встроенная авторизация, контроль доступа к данным.
- Полная видимость: метрики и трассировка (OpenTelemetry) сразу «из коробки».
- Возможность общаться с БД на естественном языке, получить код, тесты, индексы — прямо из IDE.
Архитектура в двух словах
Toolbox размещается между вашим приложением (или агентом) и базой данных. Он действует как «контрольная плоскость» — управляет инструментами, хранит и обновляет их, позволяет нескольким агентам и приложениям использовать один и тот же набор инструментов без перекомпиляции.
Быстрый старт:
- Установите сервер (бинарник, контейнер или собрать из исходников).
- Создайте файл tools.yaml и запустите:
./toolbox --tools-file "tools.yaml" - Используйте SDK (Python, JS/TS, Go) в своём приложении, подключитесь к серверу и загрузите нужный набор инструментов.
Кому это полезно:
Разработчикам приложений, где ИИ-агент делает работу с базами данных: запросы, обновления, анализ схем. Если хотите, могу подготовить мини-таск или пример использования Toolbox с вашим стеком.
https://googleapis.github.io/genai-toolbox/getting-started/introduction/
❤4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
VK RecSys Challenge: проверьте свой алгоритм в деле!
В самом разгаре ежегодное соревнование по разработке рекомендательных систем от VK — RecSys Challenge 2025. Участникам предстоит решить одну из самых сложных проблем в мире рекомендаций: задачу холодного старта.
Суть соревнования — построить модель, которая предскажет, кому из пользователей понравится новый клип, даже если его ещё никто не видел.
Что ждёт участников:
• Реальные данные — датасет VK-LSVD с 40 млрд взаимодействий и 20 млн коротких видео
• Можно участвовать соло или в команде до 4 человек
• Техническая свобода — до 5 сабмитов в день, возможность экспериментировать
• Общий призовой фонд — 2 500 000 рублей
Приглашают студентов, исследователей, ML-инженеров — всех, кто хочет испытать свои силы на реальных данных и создать алгоритм, который работает в условиях, максимально приближенных к контентной жизни.
Регистрация открыта до 15 декабря. Успейте подать заявку, скачать датасет и начать эксперименты!
👉 Подробности и регистрация на сайте
В самом разгаре ежегодное соревнование по разработке рекомендательных систем от VK — RecSys Challenge 2025. Участникам предстоит решить одну из самых сложных проблем в мире рекомендаций: задачу холодного старта.
Суть соревнования — построить модель, которая предскажет, кому из пользователей понравится новый клип, даже если его ещё никто не видел.
Что ждёт участников:
• Реальные данные — датасет VK-LSVD с 40 млрд взаимодействий и 20 млн коротких видео
• Можно участвовать соло или в команде до 4 человек
• Техническая свобода — до 5 сабмитов в день, возможность экспериментировать
• Общий призовой фонд — 2 500 000 рублей
Приглашают студентов, исследователей, ML-инженеров — всех, кто хочет испытать свои силы на реальных данных и создать алгоритм, который работает в условиях, максимально приближенных к контентной жизни.
Регистрация открыта до 15 декабря. Успейте подать заявку, скачать датасет и начать эксперименты!
👉 Подробности и регистрация на сайте
👏2❤1
SQLModel — это библиотека для взаимодействия с базами данных SQL из кода Python с использованием объектов Python.
Она интуитивно понятна, проста в использовании, обладает высокой совместимостью и надёжностью.
Она интуитивно понятна, проста в использовании, обладает высокой совместимостью и надёжностью.
👍8🔥5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
SQL СОВЕТ
Ловите тяжёлые запросы на ранней стадии через контролируемые анти-джоины.
Когда нужно узнать, какие записи *не имеют* соответствий в другой таблице, разработчики часто используют LEFT JOIN .
Гораздо быстрее использовать NOT EXISTS — он позволяет планировщику остановиться сразу, как только найдено первое совпадение, и эффективно задействует индексы.
Ловите тяжёлые запросы на ранней стадии через контролируемые анти-джоины.
Когда нужно узнать, какие записи *не имеют* соответствий в другой таблице, разработчики часто используют LEFT JOIN .
Гораздо быстрее использовать NOT EXISTS — он позволяет планировщику остановиться сразу, как только найдено первое совпадение, и эффективно задействует индексы.
select u.user_id
from users u
where not exists (
select 1
from logins l
where l.user_id = u.user_id
and l.created_at >= now() - interval '7 days'
);
👍14❤7🔥7
🌊 ETL на стероидах: стриминг данных Postgres в реальном времени на Rust 🦀
Supabase выкатили интересный open-source фреймворк - supabase/etl, который позволяет стримить данные из Postgres куда угодно в реальном времени.
Это набор простых, модульных Rust-блоков, из которых можно собрать собственный конвейер Change Data Capture (CDC). Вы получаете полный контроль над тем, как обрабатывать изменения в базе и куда их отправлять — без тяжёлых платформ и сложных конфигов.
Что делает этот фреймворк полезным:
- Прямой стриминг изменений из Postgres (CDC)
- Rust — значит скорость, надёжность и низкие накладные расходы
- Гибкие компоненты: можно строить свои конвейеры под любые нужды
- Подходит для интеграций, аналитики, событийных систем, real-time обновлений
- Легче и прозрачнее, чем классические ETL/ELT-платформы
По сути, это конструктор, из которого можно быстро собрать real-time data pipeline:
достал изменения из Postgres → преобразовал → отправил в Kafka, ClickHouse, S3, API — куда угодно.
Если вы работаете с потоковыми данными, аналитикой или микросервисами - стоит попробовать. Rust + CDC - это мощное сочетание для стабильных и быстрых пайплайнов.
https://github.com/supabase/etl
Supabase выкатили интересный open-source фреймворк - supabase/etl, который позволяет стримить данные из Postgres куда угодно в реальном времени.
Это набор простых, модульных Rust-блоков, из которых можно собрать собственный конвейер Change Data Capture (CDC). Вы получаете полный контроль над тем, как обрабатывать изменения в базе и куда их отправлять — без тяжёлых платформ и сложных конфигов.
Что делает этот фреймворк полезным:
- Прямой стриминг изменений из Postgres (CDC)
- Rust — значит скорость, надёжность и низкие накладные расходы
- Гибкие компоненты: можно строить свои конвейеры под любые нужды
- Подходит для интеграций, аналитики, событийных систем, real-time обновлений
- Легче и прозрачнее, чем классические ETL/ELT-платформы
По сути, это конструктор, из которого можно быстро собрать real-time data pipeline:
достал изменения из Postgres → преобразовал → отправил в Kafka, ClickHouse, S3, API — куда угодно.
Если вы работаете с потоковыми данными, аналитикой или микросервисами - стоит попробовать. Rust + CDC - это мощное сочетание для стабильных и быстрых пайплайнов.
https://github.com/supabase/etl
👍8🔥4❤3
AI VK рассказали, какой ML нужен, чтобы обрабатывать десятки миллиардов рекламных объявлений в режиме реального времени. Всё это завязано на единой Discovery-платформе, работающей как инфраструктурный слой для рекламы, рекомендаций и поиска.
Tproger
Как ML алгоритмы рулят онлайн-рекламой: про маркетинг и большие данные
Как рекламные алгоритмы понимают, что вы захотите купить, еще до того, как вы об этом подумали
❤9👏7🔥6👎2👍1
Как правильно оптимизировать SQL в бэкенде, чтобы запросы работали быстрее, снижали задержки и не создавали узких мест в системе.
→ Некачественно написанный SQL приводит к высоким задержкам, росту нагрузки на CPU и проблемам в нагруженных сервисах.
Основные принципы оптимизации:
✓ 1. Анализ планов выполнения
Он подчёркивает необходимость использовать EXPLAIN / EXPLAIN ANALYZE, чтобы увидеть, как база реально исполняет запрос: где происходят полные сканирования таблиц, плохие джоины или отсутствуют индексы.
✓ 2. Индексация
Он рекомендует ставить индексы на часто используемые поля и ключи, применять составные индексы, но избегать чрезмерной индексации, чтобы не замедлять записи.
✓ 3. Отказ от SELECT *
Он настаивает на выборе только нужных столбцов — это снижает трафик и ускоряет выполнение.
✓ 4. Оптимизация джоинов
Нужно правильно выбирать тип JOIN, индексировать поля, участвующие в соединениях, и избегать слишком глубоких джоин-цепочек.
✓ 5. Грамотные WHERE-фильтры
Фильтровать данные как можно раньше, использовать индексируемые колонки и избегать функций в WHERE, которые «ломают» индексы.
✓ 6. Ограничение числа строк
Использовать LIMIT / OFFSET и постраничный вывод, а не отдавать пользователю огромные выборки.
✓ 7. Избежание проблемы N+1
Фетчить связанные данные заранее через JOIN или батч-запросы.
✓ 8. Кэширование
Он предлагает кэшировать частые запросы с помощью Redis или Memcached, чтобы уменьшить нагрузку на базу.
✓ 9. Нормализация и денормализация
Нормализация уменьшает дублирование, денормализация ускоряет чтение — важно выбирать подход под задачу.
✓ 10. Оптимизация вставок и обновлений
Использовать bulk insert, проверять необходимость обновлений.
✓ 11. Партиционирование таблиц
Он предлагает разбивать большие таблицы по дате или региону, что особенно полезно для логов и аналитики.
Эти рекомендации помогают backend-разработчикам строить более быстрые, масштабируемые и надёжные системы.
→ Некачественно написанный SQL приводит к высоким задержкам, росту нагрузки на CPU и проблемам в нагруженных сервисах.
Основные принципы оптимизации:
✓ 1. Анализ планов выполнения
Он подчёркивает необходимость использовать EXPLAIN / EXPLAIN ANALYZE, чтобы увидеть, как база реально исполняет запрос: где происходят полные сканирования таблиц, плохие джоины или отсутствуют индексы.
✓ 2. Индексация
Он рекомендует ставить индексы на часто используемые поля и ключи, применять составные индексы, но избегать чрезмерной индексации, чтобы не замедлять записи.
✓ 3. Отказ от SELECT *
Он настаивает на выборе только нужных столбцов — это снижает трафик и ускоряет выполнение.
✓ 4. Оптимизация джоинов
Нужно правильно выбирать тип JOIN, индексировать поля, участвующие в соединениях, и избегать слишком глубоких джоин-цепочек.
✓ 5. Грамотные WHERE-фильтры
Фильтровать данные как можно раньше, использовать индексируемые колонки и избегать функций в WHERE, которые «ломают» индексы.
✓ 6. Ограничение числа строк
Использовать LIMIT / OFFSET и постраничный вывод, а не отдавать пользователю огромные выборки.
✓ 7. Избежание проблемы N+1
Фетчить связанные данные заранее через JOIN или батч-запросы.
✓ 8. Кэширование
Он предлагает кэшировать частые запросы с помощью Redis или Memcached, чтобы уменьшить нагрузку на базу.
✓ 9. Нормализация и денормализация
Нормализация уменьшает дублирование, денормализация ускоряет чтение — важно выбирать подход под задачу.
✓ 10. Оптимизация вставок и обновлений
Использовать bulk insert, проверять необходимость обновлений.
✓ 11. Партиционирование таблиц
Он предлагает разбивать большие таблицы по дате или региону, что особенно полезно для логов и аналитики.
Эти рекомендации помогают backend-разработчикам строить более быстрые, масштабируемые и надёжные системы.
❤13👍7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🚨 SQL Никогда НЕ ДЕЛАЙ ТАК #sql
НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.
Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.
Это одна из самых тихих причин, почему запросы внезапно превращаются в тормоза.
Вместо этого приводи значения заранее или используй функциональные индексы.
НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.
Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.
Это одна из самых тихих причин, почему запросы внезапно превращаются в тормоза.
Вместо этого приводи значения заранее или используй функциональные индексы.
Плохо: индекс по email НЕ используется
SELECT *
FROM users
WHERE LOWER(email) = 'user@example.com';
-- Хорошо: нормализуем значение заранее
SELECT *
FROM users
WHERE email = 'user@example.com';
-- Или создаём функциональный индекс (PostgreSQL)
CREATE INDEX idx_users_email_lower ON users (LOWER(email));
👍18❤8🔥5
На AI Journey презентовали крупнейший open-source проект в Европе: Сбер открыл доступ к своим флагманским моделям - GigaChat Ultra-Preview и Lightning, а также новое поколение открытых моделей GigaAM-v3 для распознавания речи, все модели генерации изображений и видео новой линейки Kandinsky 5.0 — Video Pro, Video Lite и Image Lite.
GigaChat Ultra-Preview, новая MoE-модель, 702 миллиарда параметров, собранная под русский язык и натренированная полностью с нуля. Читайте подробный пост от команды.
Впервые в России обучена MoE-модель такого масштаба полностью с нуля — без зависимости от зарубежных весов. Обучение с нуля, да и ещё на таком масштабе, — это вызов, который приняли немногие команды в мире.
Флагманская модель Kandinsky Video Pro сравнялась с Veo 3 по визуальному качеству и обогнала Wan 2.2-A14B. Читайте подробный пост от команды.
Код и веса всех моделей теперь доступны всем пользователям по лицензии MIT, в том числе для использования в коммерческих целях.
GigaChat Ultra-Preview, новая MoE-модель, 702 миллиарда параметров, собранная под русский язык и натренированная полностью с нуля. Читайте подробный пост от команды.
Впервые в России обучена MoE-модель такого масштаба полностью с нуля — без зависимости от зарубежных весов. Обучение с нуля, да и ещё на таком масштабе, — это вызов, который приняли немногие команды в мире.
Флагманская модель Kandinsky Video Pro сравнялась с Veo 3 по визуальному качеству и обогнала Wan 2.2-A14B. Читайте подробный пост от команды.
Код и веса всех моделей теперь доступны всем пользователям по лицензии MIT, в том числе для использования в коммерческих целях.
❤6😁4
IvorySQL 5.0
Свежий релиз проекта, который развивает редакцию PostgreSQL с целью обеспечить максимальную совместимость с Oracle.
Ключевые особенности:
- работает как почти полная замена стандартного PostgreSQL
- добавлена настройка compatible_db, включающая режим совместимости с Oracle
- подходит для приложений, изначально написанных под Oracle
- код на C
- лицензия Apache 2.0
IvorySQL позиционируется как прозрачный переходный слой между экосистемами PostgreSQL и Oracle.
Источник
postgresql точка org слеш about слеш news слеш ivorysql 50 released major oracle compatibility expansion on postgresql 180 foundation 3180
https://www.postgresql.org/about/news/ivorysql-50-released-major-oracle-compatibility-expansion-on-postgresql-180-foundation-3180/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👍1
3 вида шардирования баз данных:
• Range-based — разбивает данные по диапазонам значений ключа
• Hash-based — выбирает шарду с помощью хеш-функции
• Tenant-based — каждому клиенту (тенанту) выделяется своя отдельная база
Пояснения:
Range-based sharding делит данные по диапазонам ключа (например: ID 1–1 000 — первая шарда, 1 001–2 000 — вторая).
Hash-based sharding использует хеш от ключа, чтобы определить, в какую шарду поместить или откуда прочитать запись. Это даёт более равномерное распределение.
Tenant-based sharding выделяет каждому клиенту собственную базу данных, что упрощает изоляцию, миграции и управление данными.
Просто, понятно и работает во всех масштабах.
• Range-based — разбивает данные по диапазонам значений ключа
• Hash-based — выбирает шарду с помощью хеш-функции
• Tenant-based — каждому клиенту (тенанту) выделяется своя отдельная база
Пояснения:
Range-based sharding делит данные по диапазонам ключа (например: ID 1–1 000 — первая шарда, 1 001–2 000 — вторая).
Hash-based sharding использует хеш от ключа, чтобы определить, в какую шарду поместить или откуда прочитать запись. Это даёт более равномерное распределение.
Tenant-based sharding выделяет каждому клиенту собственную базу данных, что упрощает изоляцию, миграции и управление данными.
Просто, понятно и работает во всех масштабах.
❤13🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 SQL разбор ошибок
Одна из самых частых ошибок в SQL - вытаскивать слишком много строк без явных условий фильтрации. Люди часто пишут запросы без WHERE, забывают ограничивать выборку и получают огромные таблицы, перегруженные джоины и медленные отчёты.
Особенно опасно - JOIN без условий: это создаёт декартово произведение и может положить базу.
Всегда задавай точные условия, проверяй ключи соединений и ограничивай выборку, если смотришь данные руками.
Подписывайся, больше фишек каждый день !
Одна из самых частых ошибок в SQL - вытаскивать слишком много строк без явных условий фильтрации. Люди часто пишут запросы без WHERE, забывают ограничивать выборку и получают огромные таблицы, перегруженные джоины и медленные отчёты.
Особенно опасно - JOIN без условий: это создаёт декартово произведение и может положить базу.
Всегда задавай точные условия, проверяй ключи соединений и ограничивай выборку, если смотришь данные руками.
Подписывайся, больше фишек каждый день !
SELECT *
FROM users
JOIN orders
-- Ошибка: отсутствует ON, создаётся декартово произведение
LIMIT 100;
-- Правильно:
SELECT u.id, o.id
FROM users u
JOIN orders o ON o.user_id = u.id
LIMIT 100;
👍8❤2🔥1😁1
В свежем релизе появилось сразу несколько функций, которые упрощают аналитику, делают работу с API удобнее и улучшают интеграцию SQL с JavaScript.
🔹 Главное обновление
- Появилась SQL клауза QUALIFY. Теперь можно фильтровать результаты оконных функций напрямую, без вложенных подзапросов. Упрощает сложные аналитические выборки.
- Добавлена функция GRAPHQL(). Можно выполнять запросы к базе в синтаксисе GraphQL и получать JSON ответ. Полезно для API сервисов и современных приложений.
- В MLE JavaScript теперь поддерживаются SQL объекты и коллекции. Это позволяет возвращать и принимать пользовательские типы прямо из JS функций.
- Для PL SQL пакетов появилось ключевое слово RESETTABLE. Обновление пакета больше не вызывает ORA 04068, что делает деплой безопаснее.
📈 Зачем это нужно
Обновление делает Oracle удобнее для разработчиков, особенно если вы строите API, используете аналитику, комбинируете SQL и JavaScript или разрабатываете приложения с AI и ML нагрузкой.
https://www.geraldonit.com/whats-new-for-developers-in-oracle-ai-database-23-26-0/
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2