SQL и Анализ данных
12.7K subscribers
679 photos
67 videos
3 files
693 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6766085482
Download Telegram
🌐 DeepBI — инновационная платформа для анализа данных с помощью ИИ, которая превращает сложные запросы в простые диалоги. Этот инструмент позволяет исследовать данные из MySQL, PostgreSQL, CSV и других источников, используя естественный язык вместо SQL.

Инструмент умеет генерировать персистентные визуализации и дашборды через чат-интерфейс. Платформа поддерживает мультиязычность (английский/китайский) и работает на Windows, Linux и macOS. Для тестирования доступны Docker-образы и EXE-установщик.

🤖 GitHub

@data_analysis_ml
3👍3🔥2
Forwarded from Machinelearning
🤖 Gemini Robotics выпускает автономный AI для роботов

Google представили Gemini Robotics On-Device — первую модель, объединяющую зрение, язык и действия, которая работает прямо на роботах, без постоянного подключения к интернету.

🔍 Что делает эту модель особенной:

🔹 Объединяет универсальность и точность Gemini, но работает локально
🔹 Моделька справляется со сложными задачами с двумя руками (манипуляции, сборка, перенос)
🔹 Обучается новым действиям всего по 50–100 демкам

Модель уже поддерживает разные типы роботов — от гуманоидов до промышленных двухруких манипуляторов. И это несмотря на то, что изначально она была обучена только на датасете ALOHA под управлением человеческих инструкций.

🛠 В комплекте выходит SDK Gemini Robotics — для разработчиков, которые хотят дообучить модель под свои нужды, включая тесты в физическом симуляторе MuJoCo.

🌐 Полностью автономная работа — идеально для кейсов с плохой связью или требованиями к высокой скорости отклика.

Gemini Robotics продолжает двигаться к будущему, где AI становится частью физического мира.

👉 Подробнее: https://goo.gle/gemini-robotics-on-device


@ai_machinelearning_big_data

#ai #robots #vlm #google #Gemini
🤨3👍2
💎 Tencent выводит 3D-генерацию на новый уровень с обновлением Hunyuan3D.

Китайский технологический гигант продолжает совершенствовать свою открытую нейросеть для создания трёхмерных объектов. В версии 2.1 модель научилась учитывать физические свойства материалов при рендеринге — теперь свет реалистично преломляется на стекле, отражается от металла и рассеивается на тканях.

Нейросеть работает по принципу двухэтапной генерации: сначала создаются изображения объекта с разных ракурсов, затем они преобразуются в 3D-модель. При этом ии остаётся доступным для широкого круга пользователей, ее базовые функции работают на видеокартах от 10 ГБ памяти.

🔗 Ссылка - *клик*
6🥱2👍1🔥1🤨1
🧠 SQL-задача для профи: "Ловушка NULL в подзапросе"

Условие:
Есть две таблицы:


CREATE TABLE employees (
id INT PRIMARY KEY,
name TEXT,
department_id INT
);

CREATE TABLE departments (
id INT PRIMARY KEY,
name TEXT,
is_active BOOLEAN
);



✔️ Задание:
Выведите всех сотрудников, которые работают в неактивных отделах.
Если department_id у сотрудника NULL, таких сотрудников выводить не нужно.

❗️Подводный камень:
Решение, которое интуитивно приходит в голову, не работает правильно:


SELECT *
FROM employees
WHERE department_id NOT IN (
SELECT id FROM departments WHERE is_active = true
);


📉 Почему это ошибка:

Если в departments есть хотя бы одна строка, где is_active = true, но id = NULL, то NOT IN (...) будет сравнивать с NULL, а NULL NOT IN (...) всегда возвращает UNKNOWN, то есть — ничего не вернёт.

Правильное решение:


SELECT e.*
FROM employees e
JOIN departments d ON e.department_id = d.id
WHERE d.is_active = false;


💡 Почему работает:

JOIN отсекает NULL по department_id сразу.

Фильтр по is_active = false работает без ловушек NULL.

Сотрудники без департамента автоматически исключаются.

🔎 Усложнение для профи:
Что произойдёт, если в таблице departments есть id = NULL, is_active = true?
Ответ: ничего — JOIN по NULL никогда не срабатывает. Но если используете NOT EXISTS, нужно быть осторожным.

🧩 Вывод:
Когда дело касается NOT IN и NULL, всегда проверяйте подзапрос. Лучше переходите на JOIN или NOT EXISTS:


SELECT e.*
FROM employees e
WHERE EXISTS (
SELECT 1
FROM departments d
WHERE d.id = e.department_id AND d.is_active = false
);


📌 Запомни:
NULL ломает IN / NOT IN, но не ломает JOIN / EXISTS.

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥52
🗄️ MyDumper — параллельный бэкап MySQL без головной боли. Этот инструмент делает логические дампы MySQL в 5-10 раз быстрее стандартного mysqldump за счёт многопоточной работы. Данные сохраняются в отдельных файлах для каждой таблицы, а встроенная поддержка регулярных выражений позволяет гибко выбирать, какие базы или таблицы включать в бэкап.

Разработчики интересно реализовали согласованность данных: инструмент сначала блокирует таблицы глобальным read-lock, затем создаёт транзакционные снимки для каждого потока и только потом отпускает блокировки. Для восстановления есть параллельный загрузчик myloader

🤖 GitHub
6👍2
📖 Маленькая полезная шпаргалка по SQL

Прописаны все виды команд JOIN, а также их визуал.

Крайне полезная штука — сохраняем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥75🏆1
Курс SQL - от новичка до профи

🔹 Регистрация на сайте Oracle
🔹 Что такое SQL? Какие задачи решают Базы Данных?
🔹 Команды SQL: DML, DDL, DCL, TCL
🔹 Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
🔹 Функция GROUP BY. HAVING vs WHERE
🔹INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
🔹Подзапросы SQL Oracle | Вложенные запросы SQL
🔹Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
🔹Оконные функции SQL | Аналитические функции row_number / dense_ranka
🔥20👍2🥰1🤨1💊1
🎯 Продвинутый SQL-хак: Эффективный поиск по JSONB в PostgreSQL

Если вы работаете с PostgreSQL и храните данные в формате JSONB, вы наверняка сталкивались с проблемой производительности при запросах по вложенным ключам. Вот практический приём, который реально улучшает эффективность таких запросов.

🔍 Проблема

Выполняя запрос:


SELECT *
FROM events
WHERE data->'user'->>'email' = 'user@example.com';


— вы полагаетесь на оператор ->> для извлечения значения, но такой запрос не использует индекс, даже если JSONB-колонка проиндексирована.

Решение: Используйте выражения + индекс по выражению

1. Создайте индекс по выражению:


CREATE INDEX idx_events_user_email
ON events ((data->'user'->>'email'));


2. Теперь ваш запрос будет использовать индекс:


SELECT *
FROM events
WHERE data->'user'->>'email' = 'user@example.com';


🚀 Бонус: Ускорение с GIN и jsonb_path_ops

Если вы часто фильтруете по множеству разных JSON-полей:


CREATE INDEX idx_events_data_gin
ON events USING GIN (data jsonb_path_ops);


И используйте операторы @> для запросов:


SELECT *
FROM events
WHERE data @> '{"user": {"email": "user@example.com"}}';


📌 Такой подход отлично масштабируется и значительно снижает нагрузку на базу.

💡 Итог: Индексация по выражениям и правильный выбор оператора (`@>`, `->>`) — ключ к быстрой работе с JSONB в PostgreSQL.
👍54🔥3🥰1