
Сегодня немного поговорим о здравом смысле. Правильном и неправильном API конфигурации java-библиотеки. В качестве примера будем использовать TrueSql.
Формальный непроцедурный язык программирования
Сегодня немного поговорим о здравом смысле. Правильном и неправильном API конфигурации java-библиотеки. В качестве примера будем использовать TrueSql.
Привет, Хабр! В настоящее время используются не только SQL решения для работы с данными, тем не менее, на долю SQL приходится значительная часть систем. Также нередко бывает, что приложение генерирует SQL в зависимости от действий пользователя, например, при выборе полей или применении фильтров в отчетах, иными словами, есть динамический SQL, а не статический. Также часто для приложения есть тесты, например, соответствующие типичным активностям пользователей, и каждой активности соответствует один или несколько SQL, причем в тестах проверяется именно правильность результатов выполнения SQL.
Далее, для относительно сложных вариантов генерации SQL при изменениях бизнес-логики (или других изменениях) может измениться и сам динамически генерируемый SQL, причем результаты выполнения SQL могут остаться неизменными, однако производительность поменяется. В таких случаях изменения в производительности можно уловить при помощи бенчмарков, однако прогон бенчмарков может занимать значительное время, в связи с этим актуальна задача быстрого анализа изменений в производительности динамически генерируемого SQL. Интересны особенности анализа производительности приложения на основе SQL — добро пожаловать под кат :)
Привет, Хабр! Язык запросов DAX популярен и эффективен для построения дашбордов в Business Intelligence, и за счет свой функциональной природы DAX в чем-то ближе к реляционной алгебре, по сравнению с SQL. Особенности DAX удобно рассмотреть на основе примеров DAX-запросов, переведенных на реляционную алгебру. В частности, использование ALL в итераторе SUMX в рамках наиболее популярной DAX функции SUMMARIZECOLUMNS позволяет рассмотреть некоторые нюансы DAX. Если интересно описание ALL в DAX с точки зрения реляционной алгебры — добро пожаловать под кат! :)
Кажется, это не особо сложная задача - построить витрину для дэшборда, однако, я хочу отметить одну важную особенность при построении агрегированной витрины.
Информационный ландшафт современного мира стремительно меняется, что порождает новые вызовы и риски для организаций любого масштаба. В частности, в финансовом секторе зависимость от современных технологий достигла беспрецедентного уровня, делая жизненно важным поддержание операционной устойчивости информационных систем и коммуникаций.
В свете указанных обстоятельств Совет Европейского союза разработал специальный нормативно-правовой акт — Закон о цифровой операционной устойчивости (Digital Operational Resilience Act, сокращенно — DORA). Принятый в ноябре 2022 года, данный закон направлен на создание единой правовой основы, способствующей усилению защиты финансовых учреждений и иных операторов рынка от различных видов угроз, связанных с работой информационных и телекоммуникационных технологий (ИКТ).
Четыркина Дарья перевела статью, в которой детально рассмотрели положения Закона о цифровой операционной устойчивости, проанализировали его влияние на архитектуру и эксплуатацию баз данных, а также предложить практические подходы и рекомендации по подготовке организаций к выполнению предъявленных требований.
Supabase с оценкой в $2 млрд стремительно становится технологическим фундаментом современного вайб-кодинга. Почему разработчики массово переходят на этот бэкенд с открытым исходным кодом, и как PostgreSQL-решение превратилось в незаменимый инструмент для AI-приложений, используемый в 29% стартапов последнего набора Y Combinator? История компании, чья ценность оказалась настолько высокой, что инвестор пролетел 17 часов до отдалённого уголка Новой Зеландии для встречи с её основателем.
Привет, Хабр! Меня зовут Александр Овсов, я RnD-разработчик в компании Just AI и занимаюсь продуктом Jay Knowledge Hub. Это умная платформа для поиска по неразмеченным корпоративным данным, созданная на базе RAG и AI-агентов.
Одним из типичных юзкейсов для наших пользователей является аналитика сложных данных хранящихся в CSV-таблицах (финансовые отчеты, продуктовая аналитика и т.д.). Работать с такими данными при помощи классических методов RAG сложно из-за структуры этих данных. Чтобы решить эту проблему, мы решили использовать агентский подход — набирающий популярность метод, который позволяет LLM выполнять сложные задачи, например, отправлять SQL-запросы к таблицам. О реализации такого подхода на примере CSV таблиц я сейчас и расскажу.
Привет, Хабр!
Сегодня поговорим про RFM-анализ на SQL. Простыми словами: RFM-анализ — это способ понять, насколько ценные у тебя пользователи.
Привет, Хабр!
Сегодня рассмотрим 5 вопросов на собеседовании про A/B-тестирование в SQL. И начнем с первого – как посчитать конверсии и относительную разницу между группами A и B?
Привет, Хабр! Достаточно часто используются иерархические фильтры или отчеты с иерархией, и представление иерархии может быть актуально как для UI (например, иерархических фильтров), так и для отчетов или дашбордов. Если рассматривать только структуру запроса с иерархией, без расчета промежуточных итогов и т.д., то сохранение структуры иерархического UI элемента при большом уровне вложенности, а также передача этой иерархии с UI на бэкенд и дальше, например, в виде SQL запроса в СУБД может быть относительно нетривиальной задачей. При относительно большом уровне вложенности (например, иерархия в 10 уровней), при решении «в лоб» и сохранении всех 10 выбранных значений на последнем уровне иерархии, станет неудобно хранить и передавать в качестве параметров с UI на бэкенд (для 1000 строк и 10 уровней вложенности может быть уже условно 10000 параметров), также растет и количество параметров в SQL, и проблемы усугубляются в случае микросервисной архитектуры, когда запрос SQL не сразу отправляется, например, в ClickHouse, а ещё эти 10000 параметров «путешествуют» из UI в один или несколько микросервисов, пока не попадут в ClickHouse. В связи с этим хочу рассмотреть одно из возможных решений проблемы с помощью хеширования на примере C# и ClickHouse, но это «не идеи, проверенные на продакшене», больше тема к обсуждению. Тем, кому интересно решение проблем иерархических запросов на примере C# и ClickHouse — добро пожаловать под кат :)
KISS Virtual XML RDBMS. Новая система разработки клиентских desktop и web приложений. Язык программирования ULCA.
Установка Arenadata DB 7.2 выполняется с помощью Arenadata Cluster Manager (ADCM). Это средство предназначено для разворачивания кластера на большом числе хостов с большим объемом оперативной памяти на каждом из них. А если кластер Arenadata нужен не для производительной работы, а для проведения экспериментов или для разработки/тестирования, можно ли развернуть его на компьютере с небольшим объемом оперативной памяти, например, 32 Гб? Будет ли кластер работать стабильно? Позволит ли он выполнять тяжелые операции? Каково минимальное количество виртуальных машин, на которых можно запустить Arenadata DB 7.2?
Да, IT-найм сломан, но и соискатели не упрощают ситуацию потенциальным руководителям и себе самим. Пара примеров, как не надо делать.
Сталкивались ли вы в вашей компании с проблемами?
1. Невозможностью по быстрому создать таблицу. Вместо этого нужно катить миграцию, получать апрувы от DWH, следить за тем чтобы таблица была производительна и тд
2. Вам не нравится BI вашей компании или нравится но но хотелось бы делать визуализацию быстрее.
Если да, то эта статья для вас!
Данная статья является второй частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024, а так же текстовой расшифровкой соответствующего видео.
"Trino — это PostgreSQL для аналитики" — нескромно охарактеризовали Trino в одном из блогов. Я не люблю кликбейтные заголовки, но эта фраза действительно емко описывает одну из самых сильных сторон Trino — расширяемость.
В этом блоге я расскажу, как устроены плагины Trino — строительные блоки, которые позволяют гибко адаптировать возможности продукта под потребности современных аналитических платформ.
Это предупреждение, которое выведет хибернейт, если для осуществления пагинации ему придется загрузить ВСЕ данные из таблицы, а не по одной странице.
DWH (Data Warehouse или по русски Хранилище данных) - это специализированная система для хранения и управления большими объемами данных, которые объединяются из разных источников с целью анализа и построения отчетов
Короче, это место, где все нужные данные из разных мест собираются и потом ими уже удобно пользоваться - строить разные отчетики, строить ИИ на благо всему человечеству и подобные вещи
Грубо говоря, задача при построении хорошего DWH состоит в том, чтобы построить Базу Данных и все необходимое вокруг него, в которой будут лежать правильные данные в удобном виде и в которую можно слать большие-сложные SQL запросы и не бояться, что что-то сломается и всем этим было удобно пользоваться
Laravel ERD (Схема сущность/связь)
Автоматическая генерация диаграмм базы данных под ваши сущности в Laravel