Обновить
34.35

SQL *

Формальный непроцедурный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

SQL или NoSQL? Кто есть кто и с чем их едят

Время на прочтение6 мин
Количество просмотров3.1K

Научная группа из Московского Энергетического Института сделала обзор основных преимуществ баз данных SQL или NoSQL. Итак, в чем разница между данными базами данных, и какую базу данных выбрать в том или ином случае? Представьте, что вам нужно организовать хранение информации. У вас есть два подхода: аккуратно разложить всё по папкам с ярлыками в строгом порядке (это SQL) или скинуть всё в один большой складской ящик, но с умной системой быстрого поиска нужной вещи (это NoSQL). Оба метода работают, но предназначены для разных задач. Давайте разберемся, что к чему.

Читать далее

Apache Cloudberry — открытое будущее Greenplum. Сравнение, архитектура, перспективы

Время на прочтение4 мин
Количество просмотров830

Если вы работаете с аналитическими базами данных, то наверняка слышали о Greenplum — одном из самых мощных MPP-решений (Massively Parallel Processing) на базе PostgreSQL.
Однако в последние годы в экосистеме PostgreSQL появилось новое имя — Apache Cloudberry.

На первый взгляд, это ещё один форк Greenplum.
Но на деле Cloudberry — переосмысление архитектуры MPP-СУБД, выполненное с уважением к наследию Greenplum, но с современным кодом, ядром PostgreSQL 14+, открытым управлением через Apache Foundation и амбициозной целью стать по-настоящему открытой аналитической платформой уровня DWH.

Читать далее

Сапёр в эпоху LLM: Создание Text-to-SQL агента для базы данных SAP ERP

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Привет, Хабр! Если вы читали мою прошлую статью Сапёр в эпоху LLM: Повайбкодим на ABAP , то уже знаете, что попытка «повайбкодить» на ABAP с помощью LLM — затея, мягко говоря, неоднозначная. Модели «галлюцинируют», выдумывают несуществующие BAPI и таблицы, и в целом чувствуют себя в закрытой экосистеме SAP не очень уверенно. Как говорится, вайбкодинг не задался.
В комментариях к статье прозвучала здравая мысль: будь у модели больше контекста, она бы справилась лучше.Раз появились такие идеи — значит, пора воплощать их в жизнь. На этот раз — новая серия экспериментов: в этот раз займемся переводом вопросов по SAP из обычного языка в SQL-запросы, плюс построим агента с необходимыми для этого инструментами.

Читать далее

Как мы обеспечили +33% к точности на сложных SQL-запросах

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.8K

Традиционные подходы к генерации SQL-запросов часто полагаются на инструктированные языковые модели, но они могут быть неэффективными и неточными. Мы рассмотрим новый подход, основанный на использовании Reinforcement Learning для дообучения моделей, который может улучшить точность и эффективность генерации SQL.

Читать далее

Greengage DB: новый open-source монстр MPP-аналитики. Конец эпохи Greenplum?*

Время на прочтение9 мин
Количество просмотров2.2K

Что, если Greenplum пережил перерождение?
Новый проект Greengage DB возвращает PostgreSQL в большую игру — теперь с авто-масштабированием, чистым ядром и реальной совместимостью.
Разбираемся, почему этот форк может стать «Linux для аналитики».

Читать далее

Как мы в Циане готовим Data Vault на GreenPlum

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров561

Привет! Меня зовут Влад, я DWH-инженер в Циан. Занимаюсь проектированием витрин и пайплайнов для доставки данных в корпоративное хранилище. В этой статье хочу поделиться опытом применения методологии Data Vault на Greenplum.

Data Vault часто упоминают рядом с Kimball и Inmon, но практических материалов по его внедрению заметно меньше. Для инженеров, которые только начинают строить DWH или думают о переходе на Data Vault, я собрал практический разбор: на каких задачах методология действительно помогает, с какими трудностями можно столкнуться и как это выглядит в реальном проекте.

Читать далее

Arrow Flight, Flight SQL и ADBC: Прощаемся с тормозами ODBC/JDBC в мире больших данных

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.1K

Привет, Хабр! Если вы хоть раз пытались выгрузить из базы данных несколько гигабайт данных в pandas DataFrame, то вам знакома эта боль. Вы пишете простой SELECT, запускаете скрипт и... уходите пить кофе. А потом ещё раз. Почему так медленно? Ведь и база быстрая, и сетка не загружена, и ваш Python-скрипт крутится на мощной машине.

Проблема кроется в невидимом, но коварном враге — старых и проверенных, как дедушкин паяльник, протоколах вроде ODBC и JDBC. Они были созданы для мира транзакционных, построчных баз данных и совершенно не готовы к современным аналитическим нагрузкам.

Давайте разберёмся, почему они так тормозят и какой стек технологий приходит им на смену, обещая скорости, о которых мы раньше только мечтали.

В основу легла статья Dipankar Mazumdar.

Читать далее

Parquet — король умер? Да здравствует… кто? Обзор BtrBlocks, FastLanes, Lance и Vortex

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5K

Привет, Хабр! Если вы работаете с большими данными, то для вас, скорее всего, Parquet — это как воздух. Стандарт де-факто для колоночного хранения в экосистеме Hadoop, Spark, и вообще всего, что связано с аналитикой. Он эффективен, надёжен и поддерживается практически всеми инструментами. Казалось бы, живи и радуйся.

Но что, если я скажу, что в мире современных SSD, многоядерных CPU и вездесущих векторных баз данных старый добрый Parquet начинает показывать свой возраст? Он был спроектирован в эпоху, когда узким местом были HDD и сетевые задержки, а не скорость процессора. Сегодня железо изменилось, задачи тоже, и на сцену выходят новые, амбициозные форматы.

Давайте разберёмся, где именно Parquet даёт слабину и кто эти дерзкие новички, которые метят на его трон.

За основу взята статья Dipankar Mazumdar.

Читать далее

Можно ли DAX-запрос превратить в SQL? Да, и сейчас я покажу, как (и зачем)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров465

Аналитика, Power BI, DAX, SQL, Базы данных

Каждый, кто перешел в Power BI из мира баз данных или просто имеет за плечами опыт работы с SQL, наверняка задавался этим вопросом. Пишешь очередную навороченную меру на DAX, смотришь на результат и думаешь: «А как бы эта магия выглядела на старом добром, понятном SQL?».

Хватит гадать. Короткий ответ: да, это возможно, но это не прямой перевод с одного языка на другой. Забудьте о волшебном онлайн-конвертере, который сделает всё за вас. Это ручной процесс, требующий анализа и понимания.

Читать далее

Гематоэнцефалогический барьер для динамического SQL-кода

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров602

Создаем песочницу для безопасного выполнения non-trusted DSQL-кода и возвращаем из него by design безопасный результат в высокопривилегированное кольцо

добро пожаловать под кат

О параллельности при создании индексов в Postgres (часть 1)

Время на прочтение4 мин
Количество просмотров1.1K

Добрый день, коллеги!

Сегодня я хочу поделиться некоторыми проблемами (и решениями) при создании большого количества индексов и ограничений целостности (констрейнтов) одновременно.

Но для начала хочу порассуждать о том, почему вообще возникли такие вопросы.

При развёртывании новой крупной базы данных с «нуля» (например путём миграции), возникает необходимость построить также большое количество индексов в весьма ограниченное тех. окно. Как известно, процесс построения индекса это не только ценный мех IO, но и довольно большое количество CPU при достаточно производительной дисковой подсистеме. Чем больше ядер вы сможете задействовать — тем быстрее пойдёт процесс (в общем случае утверждение, конечно, спорное, но в моём случае обоснованное и проверенное).

На пути «параллелизации» всего и вся возникают разнообразные проблемы, про 3 такие проблемы я и хочу рассказать сегодня.

Читать далее

SQL против NoSQL: мифы и реальность

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.2K

Привет, Хабр! Меня зовут Анастасия Нечепоренко, я QA Lead и преподаватель курса "JavaScript QA Engineer" в Отус. В этой статье кратко разбираю самые живучие мифы о SQL и NoSQL и почему не стоит воспринимать выбор между ними как бинарный.

Читать разбор

Записки оптимизатора 1С (ч.14.1). Любите свою базу данных и не забывайте обслуживать

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.3K

Не открою этой статьей никаких америк. Но опять же, обращаясь к нашему опыту и инцидентам просадки быстродействия систем, с которыми мы продолжаем сталкиваться в своей практике, назрела необходимость повторить матчасть и закрепить материал.

Сегодня хочу затронуть тему регламентного обслуживания баз данных MS SQL. А позже поговорим и про обслуживание баз PostgreSQL.

Проговорим на пальцах, не сильно погружаясь в руду, теоретические основы, практические рекомендации по планированию обслуживания для высоконагруженных систем, а также типичные ошибки, которых следует избегать.

Читать далее

Ближайшие события

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.1K

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?
Один из возможных подходов к решению этой задачи.

Читать далее

Clickhouse в машинном обучении без использования GPU. Часть 1

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.6K

Один из моих коллег сказал когда‑то, что «база данных — это хранилище, а не считалище!». Эту фразу я вспоминал регулярно, пока проводил свое маленькое исследование. Целью данной статьи является описание практического опыта эффективного решения одной из задач ML на существующих аппаратных ресурсах, без аренды/покупки дорогостоящих GPU.

Читать далее

Базовые знания для оптимизации кода на PL+, PL/SQL и SQL

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.6K

Всем привет! Меня зовут Андрей Бобронников, я занимаюсь обеспечением надежности ИТ систем в банке Уралсиб. В этой статье я вам расскажу о методах оптимизации для разработчиков на платформе ЦФТ в БД Oracle.

Ввиду роста бизнеса, наши системы стали обрабатывать все больше транзакций и возникла необходимость собрать материалы, которые помогут разработчикам ЦФТ писать оптимальный и быстрый код под Oracle на языке PL+, PL/SQL и SQL.

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

Интересно!

Indoor-локация без дополнительных датчиков: Wi-Fi как единственный источник данных

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров2.7K

Навигация внутри помещений сложна из-за неточной работы GPS. Вместо дорогих маячков можно использовать уже существующие Wi-Fi роутеры, измеряя мощность сигнала для определения местоположения. В Сколтехе мы исследовали такую систему для поиска людей на кампусе, сталкиваясь с проблемами конфиденциальности и ограничениями iOS. Идею удалось применить к личному транспорту: на скейт или самокат можно поставить маячок, который отправляет уведомления о перемещении или пропаже, облегчая поиск и контроль.

Читать далее

Особенности REMOVEFILTERS в DAX из Power BI

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.3K

Привет, Хабр! Одной из важных функций-модификаторов в DAX является REMOVEFILTERS, он позволяет, например, убрать фильтр для расчета знаменателя в доле. Однако логика REMOVEFILTERS для столбцов может выглядеть неочевидной, например, REMOVEFILTERS только для одного поля, по которому есть условие в FILTER, не влияет на результат DAX запроса. Так, REMOVEFILTERS(customer[customer_id]) не влияет на FILTER в SUMMARIZECOLUMNS вида FILTER(customer, customer[customer_id] > 2) и для сброса фильтра нужен REMOVEFILTERS(customer) по всей таблице. В связи с этим удобно представить принципы работы REMOVEFILTERS более формально, например, в виде ER диаграммы с подписанными связями. Для построения ER диаграммы был выбран Mermaid и генерация кода диаграммы реализована на C#. Интересующимся особенностями REMOVEFILTERS — добро пожаловать под кат :)

Читать далее

Гид по Apache Cloudberry ч.1: история появления, архитектура и функции

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.3K

В конце августа вышел релиз распределённой СУБД Apache Cloudberry 2.0.0 — опенсорс‑проекта, который в режиме инкубации находится в Apache Software Foundation (ASF). В новой версии состоялся переход на кодовую базу PostgreSQL 14, а также было добавлено множество улучшений.

При этом на Хабре до сих пор незаслуженно мало статей, посвящённых этой СУБД. Мы решили исправить это совместно с Максом Янгом, техническим лидером и участником PPMC Apache Cloudberry (Incubating). Эти статьи созданы по материалам совместного митапа Yandex Cloud Data Platform — про Greenplum® и не только. В этот раз пройдёмся по базовым особенностям и функциям этой СУБД, а в следующий — доберёмся до advanced‑возможностей.

Читать далее

Портим данные с удовольствием

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.7K

Всю свою карьеру инженеры строят системы, которые бережно хранят данные и защищают их от искажений. А что если мы скажем, что иногда правильнее всё делать наоборот: намеренно портить данные, генерировать их из воздуха и создавать неотличимые от настоящих подделки? Системный аналитик Postgres Professional Максим Грамин расскажет, почему создание фейковых данных — это критически важный навык для тестирования, безопасности и разработки, и как научиться делать это правильно, не превращая базу в свалку из «Иванов Ивановых».

Читать далее

Вклад авторов