💻 TimescaleDB — база данных временных рядов
TimescaleDB — это open-source БД, разработанная для того, чтобы сделать SQL масштабируемым для данных временных рядов.
TimescaleDB разработана на основе PostgreSQL и упакована как расширение PostgreSQL, обеспечивая автоматическое разделение по времени и пространству (ключ разделения), а также полную поддержку SQL.
🖥 GitHub
Одинарные кавычки для строк
Да-да, какой-нибудь BigQuery разрешает двойные/тройные кавычки для строк, но для других SQL-диалектов “строки” — это идентификаторы, а ”’строки”’ интерпретируются ещё по-другому.
Поэтому лучше строки всегда писать в одинарных кавычках, ради всеобщего блага.
Во-втором случае некоторые диалекты могут начать жаловаться наподобие column "%@domain.com" does not exist.
SQL — востребованный язык для работы с данными и обработки информации. Прокачайте знания по SQL и навыки работы с базами данных на бесплатном мини-курсе Skillbox.
Зарегистрируйтесь прямо сейчас и получите полезный гайд по профессии: https://epic.st/A--9E?erid=2VtzqvsXm3b
Что будем делать:
— Писать запросы на языке SQL
— Проводить аналитику для бизнеса
— Разрабатывать автоматизированную отчётность в Excel
— Обрабатывать данные в Power Query
— Визуализировать показатели в Excel: создавать красивые графики, диаграммы и отчёты
— Применять инструменты Excel для анализа данных
Спикер — Мкртич Пудеян, специалист по анализу данных в «Газпромбанке». Сертифицированный SQL-разработчик от Microsoft.
🎉 Всех участников ждут подарки: персональная карьерная консультация, на которой мы определим ваши сильные стороны и поможем выбрать направление в разработке, 5 полезных статей по SQL и Excel, а также год бесплатного изучения английского языка.
🌟 Освойте новые навыки и раскройте свой потенциал!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
💻pgvector — расширение PostgreSQL для работы с векторами
Open-source решение для хранения и поиска векторов в Postgres.
Сами данные для векторов можно получить, например, из ML-модели и вставить в таблицу с колонкой типа vector
.
Или данные можно создать в PostgreSQL как гистограмму определенных категорий. В этом случае можно значения в массивах real[]
, integer[]
или double precision[]
, numeric[]
привести к типу ::vector
.
🖥 GitHub
🟡 Пример использования pgvector на Хабре
🖥 Почему PostgreSQL признан самым лбимой бд по результатам опроса разработчиков Stackoverflow?
На диаграмме показано множество вариантов использования PostgreSQL - одной базы данных, которая включает в себя почти все функции необходимых разработчикам.
🔹OLTP (Online Transaction Processing)
Мы можем использовать PostgreSQL для CRUD-операций (Create-Read-Update-Delete).
🔹OLAP (Online Analytical Processing)
Мы можем использовать PostgreSQL для аналитической обработки. PostgreSQL основан на архитектуре 𝐇𝐓𝐀𝐏 (Hybrid transactional/analytical processing), поэтому он может хорошо работать как с OLTP, так и с OLAP.
🔹FDW (Foreign Data Wrapper)
FDW - это расширение, доступное в PostgreSQL, которое позволяет нам обращаться к таблице или схеме одной базы данных из другой.
🔹Streaming
PipelineDB - это расширение PostgreSQL для высокопроизводительной агрегации временных рядов, предназначенное для работы с отчетами и аналитическими приложениями в реальном времени.
🔹Geospatial
PostGIS - это расширитель базы данных для объектно-реляционной базы данных PostgreSQL. Он добавляет поддержку географических объектов, позволяя выполнять запросы на определение местоположения в SQL.
🔹Временные ряды
Timescale расширяет PostgreSQL для работы с временными рядами и аналитикой. Например, разработчики могут объединять непрерывные потоки финансовых и тиковых данных с другими бизнес-данными для создания новых приложений и получения уникальных знаний.
🔹Распределенные таблицы
CitusData масштабирует Postgres за счет распределения данных и запросов.
Какая база данных вам нравится больше всего?
🖥 Как базы данных выполняют SQL-запросы?
Процесс выполнения SQL-запросов
в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.
1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.
2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.
3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.
4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.
5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.
6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.
7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.
8. В то же время менеджер блокировок накладывает блокировки, чтобы несколько транзакций могли выполняться одновременно, не конфликтуя между собой. Таким образом, обеспечивается изоляция и согласованность.
Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.
Вопрос на SQL собеседовании.
Какие параметры используются в конструкции order by?
Ответ:
ASC и DESC
💻Установка PostgreSQL из исходников
Держите полезную статью о том, как собрать PostgreSQL 16 версии из исходников, инициализировать кластер и запустить его на сервере Debian 12
Причины по которым вам может понадобится собирать PostgreSQL из исходников:
⏩для дистрибутива нет готового пакета;
⏩нужно собрать PostgreSQL с нестандартными параметрами.
План статьи
├╼
Сборка и установка
├╼
Создание кластера
├╼
Запуск и остановка кластера
├╼
Установка расширений PostgreSQL
├╼
Создание и запуск второго кластера
╰╼
Создание службы SystemD для кластеров
📎 Статья
Промпт-инженеринг — новый хайп или перспективная профессия?
Рассказываем про направление с большим потенциалом и маленькой конкуренцией на рынке на нашей бесплатной лекции.
По итогам эфира вы узнаете:
— Кто такой промт-инженер и чем он занимается;
— Как интегрировать скиллы промт-инжинеринга в работу, если вы работаете в IT;
— Кому в действительности нужны его услуги и какие результаты это даст;
— Сколько платят промт-инженеру в России и мире;
— Кто может стать промт-инженером и какой порог входа;
Кликай на ссылку и забирай подробную информацию вместе с классными бонусами.
erid: LjN8KHDLY
ООО Зерокодер, ИНН 9715401631
Обрабатывай большие данные в реальном времени с эффективным сочетанием ClickHouse и Kafka
🔹Оптимизируйте производительность ваших решений открытом уроке «Интеграция ClickHouse с Apache Kafka» от Otus. Разберёмся в лучших практиках для оптимизации производительности и управления нагрузкой.
✅ Практика: Настрайка интеграции ClickHouse с Apache Kafka
Урок приурочен курсу «ClickHouse для инженеров и архитекторов БД» от Otus.
👉 Регистрация и подробности:
https://otus.pw/t57Ok/?erid=LjN8KKEqR
Как очень быстро получить количество записей в большой таблице?
Применение: отображение общего кол-ва записей в админках.-- возвращает точное количество записей, но медленно
select count(*) as exact_count from table_name;
-- возвращает приблизительное количество записей, но быстро
-- точность больше, чем в следующем запросе, но от БД требуется актуальная статистика по таблице
select reltuples::bigint as estimate_count
from pg_class
where oid = 'public.table_name'::regclass;
-- возвращает приблизительное количество записей, но быстро
-- точность меньше, чем в предыдущем запросе, но от БД не требуется актуальная статистика по таблице
-- преимущество этого подхода в том, что можно задавать условие выборки
select 100 * count(*) as estimate_count
from table_name tablesample system (1)
where ...;
💻Внутренности PostgreSQL: как добавить новую функцию
⏩При разработке пача для PostgreSQL иногда требуется добавить новую функцию, чтобы ее можно было вызывать из SQL.
Собственно, об этом и идёт речь в статье.
⏩Сразу можно отметить 2 момента. Во-первых, некоторые функции имеет смысл добавлять не в ядро системы, а поместить в отдельное расширение — либо стороннее, либо идущее вместе с PostgreSQL и живущее в каталоге /contrib/
. Во-вторых, pg_proc.dat
является удобной точкой входа для изучения внутренностей PostgreSQL. Также файл бывает полезен, когда вы примерно понимаете, какую функцию ищите, но не знаете ее название.
📎 Статья
StarRocks — высокопроизводительная БД для аналитики
StarRocks, проект Linux Foundation, — это база данных MPP OLAP нового поколения с быстрой обработкой данных для сложных аналитических кейсов, включая многомерную аналитику, аналитику в реальном времени и не только.
Быстрый старт с помощью Docker:
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd \
--name quickstart starrocks/allin1-ubuntu
Начните обучение в магистратуре в Центральном университете уже на 3-м курсе бакалавриата!
Центральный университет — современный вуз, созданный при поддержке ведущих компаний России: Т-Банка, Авито и других.
Учебу реально совместить с последними курсами бакалавриата или действующей работой. Обучение занимает 20 часов в неделю в вечернее время в первый год, а занятия проводят в центре Москвы профессоры из МГУ, МФТИ, РЭШ и практики из индустрии. Обучение в университете построено по принципам ИТ-компаний, со средой, способствующей росту и развитию.
У каждого студента будет:
личный ментор по траектории обучения;
доступ к карьерному центру с коучами и консультантами;
опыт работы в проектах 30+ компаний-партнеров уже во время обучения;
диплом гособразца.
Участвуйте в онлайн-отборе, чтобы выиграть грант на обучение до 1,2 млн рублей. Больше подробностей про университет и конкурс грантов по ссылке!
erid:2VtzqwezZhm
Реклама, АНО ВО «Центральный университет», ИНН 774341802
Как управлять ресурсами в ClickHouse?
🔹Научитесь управлять ресурсами и профилированием запросов в ClickHouse на открытом уроке от Otus. Практика поможет оптимизировать работу с базой данных, улучшить производительность запросов и эффективно управлять ресурсами системы.
✅ Практика: настройка квот, ограничений и профилей пользователей
Урок приурочен к курсу «ClickHouse для инженеров и архитекторов БД». Все о работе с ClickHouse: от установки и настройки, до продовых решений
👉 Регистрация и подробности:
https://otus.pw/b1yW/?erid=LjN8Jzfwv
Sweet-Viz - библиотека, которая предоставляет быструю визуализацию и анализ данных.
Основная фича Sweet-Viz
— обширный HTML-дашборд с полезными представлениями и сводками данных, который генерируется выполнением всего одной строки кода.pip install sweetviz
import sweetviz as sv
▪Github
my_report = sv.analyze(my_dataframe)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"
fselect — поиск файлов при помощи SQL-like запросов
— brew install fselect
Хотя fselect не стремится полностью заменить традиционные find и ls, у fselect есть несколько приятных особенностей:
— SQL-подобная грамматика, легко понятная человеку
— возможность составлять сложные запросы
агрегатные, статистические, даточные и другие функции
поиск в архивах
— поддержка .gitignore
, .hgignore
и .dockerignore
— поиск по ширине и высоте изображений, метаданным EXIF
— поиск по информации о MP3
— поиск по расширенным атрибутам файлов
— поиск по хэшам файлов
— поиск по типу MIME
— имеет интерактивный режим
— различные форматы вывода (CSV, JSON и другие)
Любители SQL оценят)
🖥 GitHub
🟡 Примеры запросов
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Регистрируйтесь по ссылке: https://telega.in/n/sql_and_db_learning
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч рублей в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч рублей за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Короткая теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога, нейро-контроль качества звонков и нейро-преподавателя
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395.
«Привет, как дела?» — сразу летишь во френдзону
Это будет продолжаться ВЕЧНО, пока не начнешь читать канал ТВОРЧЕСТВО ЧУВСТВ, где узнаешь:
— грамотно общаться с девушками и доводить до секса
— строить прочные отношения, где девушка ласковая и покорная, а ты — лидер
— сформировать базу мужских принципов, которые помогут во всех направлениях в жизни
Главное про качественные отношения тут: t.me/+mfNyK64Q1iY1MzEy
🔴 18 сентября состоится крупнейшая конференция по трафику и продажам в Телеге
1⃣2⃣3⃣4⃣5⃣
Вам однозначно стоит быть, если:
— Работаете с трафиком из Telegram Ads или посевов;
— Продаете свои услуги через Telegram;
— Еще не зарабатываете в TG, но планируете;
📣 Вот лишь некоторые из спикеров:
— Алексей Соловьев (Event and Community Manager at TON)
— Дмитрий Форман (Digital-Директор Самолет)
— Марат Шайхетдинов (Founder TgConf & Clickise)
— Ирина Нумизматка (Автор крупнейшего блога про Telegram Ads)
— Глеб Яскевич (Директор по маркетингу Getcourse)
— Артур Халиуллин (Сеть каналов на 1млн+ подписчиков)
— Влад Силантьев (С нуля дошел до 63 проектов в Telegram Ads)
— Павел Калюканов (Product Manager TgStat)
и множество других не менее интересных спикеров
🕔 Дата и время: 18 сентября в 9:00
📍 Место проведения: Main Stage, Москва
А в заключении мероприятия пройдет Aftertparty для VIP-участников и спикеров с хедлайнером, которого все знают!
🎟 Приобрести билет до повышения цен
Промокод telegapart дает скидку 10% на все билеты
⚡️ Разработчик Форсайт
ИТ-команда Гринатома ищет разработчика форсайт.
✅ Предстоит участвовать в создании и изменении функциональности системы, выполнять разработки форсайт на основе функциональных спецификаций, проводить тестирования и актуализировать документацию.
✅ Идеальный кандидат знаком с продуктом Форсайт. Аналитическая платформа и языком программирования Fore, умеет писать SQL-запросы, понимает возможности виртуализации данных, а также имеет опыт в формировании модели данных и разработке на макро-языках.
Если это про вас, узнайте о вакансии больше по ссылке.
DbGate — open-source менеджер SQL и NoSQL БД
DbGate — это кроссплатформенный менеджер баз данных. Разработан, чтобы быть простым в использовании и эффективным при работе с несколькими БД одновременно.
Также имеет множество дополнительных функций, таких как сравнение схем, визуальный конструктор запросов, визуализация графиков или пакетный экспорт и импорт.
Поддерживает MySQL, PostgreSQL, SQL Server, MongoDB, SQLite и других.
Работает под Windows, Linux, Mac и как веб-приложение.
🖥 GitHub
Традиционные базы данных требуют предварительно определенную схему таблицы и не поддерживают работу с CSV файлами, без их предварительной обработки.
#DuckDB позволяет напрямую считывать файлы CSV , устраняя необходимость в явном создании таблицы и загрузке данных.
▪️Github
💻Коллекция готовых SQL-запросов для PostgreSQL
Нереально полезная подборка SQL-запросов, количество запросов вы и сами видите, это покрывает большую часть того, что может встретиться в практике
В том числе здесь:
⏩Обсуждаются различные функции и операторы для выполнения запросов и модификации данных
⏩Рассматриваются способы разбиения больших таблиц на N тысяч записей и распараллеливания запросов
⏩Обсуждаются особенности сравнения record
и NULL
и способы быстрого получения количества записей в большой таблице
⏩Рассматриваются рекурсивные запросы, модификация пользовательских данных (UPSERT
) и журналирование изменений таблицы
⏩Рассматриваются модификации схемы данных (DDL
) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицы
📎 Коллекция
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳
Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.
Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.
Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow
Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KPDeP
Трамплин в карьере для системных аналитиков 🚀
Есть опыт работы от года и желание развиваться в профессии? Приходи на онлайн-интенсив в Открытые школы Т1!
🎓Открытые школы — это обучение с возможностью попасть в штат Холдинга Т1 — крупнейшей ИТ-компании в России по версии RAEX 2023, в портфеле которой 800+ масштабных проектов и 70+ продуктов и услуг.
Всего за полгода мы выпустили 500+ специалистов, лучшие из которых уже присоединились к командам финтех-разработки и разработки ИТ-продуктов. Также выпускников ждут в юнитах облачных сервисов, развития ИИ-решений, интеграции и консалтинга.
Что в программе?
— курс по работе с требованиями,
— проектирование REST API,
— понимание банковской специфики.
⌛️ Быстрое обучение: 1 месяц.
💻Гибкий формат: все этапы онлайн, занятия по вечерам.
Врывайся в бигтех и подавай заявку до 22 августа!
Старт бесплатного интенсива: 28 августа.
Реклама. ООО "Т1". ИНН 7720484492.
Dolt — первая в мире база данных SQL с контролем версий.
Для достижения этой цели Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий базы данных на уровне хранилища.
Контроль версий БД в стиле Git предоставляет ряд полезных фичей:
— Мгновенный откат к любому предыдущему состоянию
— Полный журнал аудита с возможностью запроса, содержащий все данные с момента их создания.
— Несколько развивающихся ветвей данных
— Возможность объединения ветвей данных
— Быстрая синхронизация с удаленными версиями для резервного копирования или децентрализованной совместной работы.
— Запрашиваемые различия (т. е. различия) между версиями
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
Подробнее можно почитать на официальной страничке
Github
MySQL ускорение SQL запросов
Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:
1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.
2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.
3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.
4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.
5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.
6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.
7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.
8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.
9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.
10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
11. Оптимизация объединений: используйте оптимальные методы объединения, такие как внутреннее или внешнее объединение, чтобы ускорить выполнение запросов.
12. Использование хранимых процедур: хранимые процедуры могут ускорить выполнение повторяющихся запросов.
13. Использование кеширования: используйте кеширование, чтобы ускорить выполнение запросов и уменьшить нагрузку на базу данных.
14. Оптимизация конфигурации сервера: оптимизируйте конфигурацию сервера, такую как количество памяти и число потоков, чтобы улучшить производительность базы данных.
15. Оптимизация структуры таблиц: периодически оценивайте структуру таблиц и выполняйте необходимые изменения, чтобы улучшить производительность.
16. Оптимизация запросов: проверяйте и оптимизируйте свои SQL-запросы, чтобы улучшить их производительность.
17. Ограничение данных: ограничивайте количество возвращаемых данных, чтобы улучшить производительность.
18. Мониторинг производительности: мониторинг производительности поможет вам выявить проблемы и найти способы их устранения.
19. Обновление ПО: регулярно обновляйте ПО, используемое вашей базой данных, чтобы воспользоваться последними улучшениями производительности.
20. Использование индексов: правильное использование индексов может существенно улучшить производительность SQL-запросов.
Обратите внимание, что нет единого решения для улучшения производительности SQL-запросов, и каждый случай может быть уникален. Важно понимать причины низкой производительности и применять соответствующие техники для улучшения.