Недавно ЛАНИТ опубликовал одно из самых интересных исследований российского рынка СУБД за последнее время.
По его итогам я подготовил статью на Хабре, в которой поделился своими наблюдениями и вопросами к методике оценки.
➡️ Вместо привычных рейтингов по выручке авторы сравнили сами продукты почти по 200 техническим критериям: архитектуру, совместимость, миграцию, безопасность, инструменты разработки и администрирования.
➡️ Мы внимательно изучили исследование и поделились своими наблюдениями.
В частности, у нас возникли вопросы к методике оценки Oracle-совместимости.
Например, согласно документации Digital Q.DataBase поддерживает совместимость с 56 Oracle-пакетами, тогда как классический PostgreSQL не содержит подобных пакетов, а большинство PostgreSQL-совместимых решений реализуют лишь ограниченный набор (например, через orafce — порядка пяти пакетов, у Postgres Pro — 12).
Поэтому было бы интересно узнать, какие именно пакеты учитывались при подсчёте и по какой методике проводилась оценка.
На мой взгляд, именно такие технические дискуссии помогают делать отраслевые исследования ещё более объективными и полезными для заказчиков.
► Подробнее — в статье на Хабре
► Исследование ЛАНИТ
🇷🇺 СУБД Digital Q.DataBase.
Подпишись на МАХ канал!
#DigitalQDataBase #Diasoft #PostgreSQL #Oracle #MSSQL #ЛАНИТ #СУБД #Импортозамещение
По его итогам я подготовил статью на Хабре, в которой поделился своими наблюдениями и вопросами к методике оценки.
В частности, у нас возникли вопросы к методике оценки Oracle-совместимости.
Например, согласно документации Digital Q.DataBase поддерживает совместимость с 56 Oracle-пакетами, тогда как классический PostgreSQL не содержит подобных пакетов, а большинство PostgreSQL-совместимых решений реализуют лишь ограниченный набор (например, через orafce — порядка пяти пакетов, у Postgres Pro — 12).
Поэтому было бы интересно узнать, какие именно пакеты учитывались при подсчёте и по какой методике проводилась оценка.
На мой взгляд, именно такие технические дискуссии помогают делать отраслевые исследования ещё более объективными и полезными для заказчиков.
► Подробнее — в статье на Хабре
► Исследование ЛАНИТ
Подпишись на МАХ канал!
#DigitalQDataBase #Diasoft #PostgreSQL #Oracle #MSSQL #ЛАНИТ #СУБД #Импортозамещение
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня, 27 июня, в России отмечается День изобретателя и рационализатора! 🥳
Праздник тех, кто не просто принимает мир как данность, а постоянно придумывает, как сделать его удобнее, быстрее и эффективнее. Это день инженерной смелости, нестандартных решений и умения превращать идеи в работающие механизмы.
В сути любого изобретения — поиск порядка, будь то шестерёнки, чертежи или тонкая настройка структур хранения, для наших оцифрованных данных.
Пусть ваши гипотезы бьют в цель, баги исчезают до релиза, а озарения случаются вовремя. Рационализируйте смело, изобретайте с душой и никогда не бойтесь пересобрать всё заново!
С праздником, творцы! 🛠️🚀
Праздник тех, кто не просто принимает мир как данность, а постоянно придумывает, как сделать его удобнее, быстрее и эффективнее. Это день инженерной смелости, нестандартных решений и умения превращать идеи в работающие механизмы.
В сути любого изобретения — поиск порядка, будь то шестерёнки, чертежи или тонкая настройка структур хранения, для наших оцифрованных данных.
Пусть ваши гипотезы бьют в цель, баги исчезают до релиза, а озарения случаются вовремя. Рационализируйте смело, изобретайте с душой и никогда не бойтесь пересобрать всё заново!
С праздником, творцы! 🛠️🚀
Сегодня, 28 июня, компьютерщики всего мира отмечают День Caps Lock! 🎉
А началось всё с печатных машинок — у них была клавиша-фиксатор для Shift, которая зажимала верхний регистр, а также меняла цифры на знаки препинания и символы. Она почти без изменений перекочевала на клавиатуры первых компьютеров.
Ситуация изменилась в 1968 году, когда инженер Bell Labs Дуглас Керр заметил, что его начальница часто забывала выключать Shift Lock и, когда дело доходило до цифр, набирала вместо них $%^&.
Тогда он придумал кнопку, которая переключает только буквы, не трогая цифры и знаки. Так и родился современный Caps Lock.
А в 2000 году шуточный праздник "День Caps Lock" предложил отмечать разработчик Дерек Арнольд — чтобы высмеять тех, кто злоупотребляет заглавными буквами на Интернет-форумах и в сообщениях электронной почты. С тех пор день Caps Lock отмечают дважды в году: 28 июня и 22 октября.
А ещё сегодня день рождения у одного из самых известных людей в мире — Илона Маска, ему исполняется 55 лет. С ДНЁМ РОЖДЕНИЯ, ИЛОН! 🚀🥳
А началось всё с печатных машинок — у них была клавиша-фиксатор для Shift, которая зажимала верхний регистр, а также меняла цифры на знаки препинания и символы. Она почти без изменений перекочевала на клавиатуры первых компьютеров.
Ситуация изменилась в 1968 году, когда инженер Bell Labs Дуглас Керр заметил, что его начальница часто забывала выключать Shift Lock и, когда дело доходило до цифр, набирала вместо них $%^&.
Тогда он придумал кнопку, которая переключает только буквы, не трогая цифры и знаки. Так и родился современный Caps Lock.
А в 2000 году шуточный праздник "День Caps Lock" предложил отмечать разработчик Дерек Арнольд — чтобы высмеять тех, кто злоупотребляет заглавными буквами на Интернет-форумах и в сообщениях электронной почты. С тех пор день Caps Lock отмечают дважды в году: 28 июня и 22 октября.
А ещё сегодня день рождения у одного из самых известных людей в мире — Илона Маска, ему исполняется 55 лет. С ДНЁМ РОЖДЕНИЯ, ИЛОН! 🚀🥳
И небольшой бонус чтобы наши посты выходного дня не трансформировались окончательно в перечень выпавших на них праздников и памятных дат:
В мире существует открытый каталог из 1053 нерешённых исследовательских задач в области СУБД (github.com/samyama-ai/dbms_research). Это не просто список «хотелок», а систематизированный вызов для профессионалов. Здесь соседствуют вопросы теории реляционных моделей, инженерные головоломки связанные с векторным поиском и амбициозные концепции самоуправляемых баз данных. Каждая задача оформлена как отдельный документ с формальным описанием, математическим обоснованием, текущим состоянием дел (SOTA) и оценками сложности.
Для кого это?
— Для команд, развивающих российские СУБД. Это позволяет от импортозамещения зарубежных СУБД перейти к прорывам. Возможность не копировать, а переосмысливать — и решать то, что пока не решено на Западе. Фактически это готовый бэклог для НИР и НИОКР.
— Для молодых учёных и аспирантов. Если вы мучаетесь в поисках темы для диссертации, которая будет актуальна и через 5 лет — этот каталог сэкономит вам месяцы размышлений. Более 450 задач в каталоге отмечены как open — нет известного решения.
Спасибо что Вы с нами! Надеемся, что Вам нравится содержимое нашего канала. Обратную связь по содержанию публикаций можно направлять на адрес supportqdb@diasoft.ru. Авторам канала (между прочим это сотрудники, что каждый день работают над российскими СУБД Digital Q.DataBase и RuDB) будет приятно узнать Ваше мнение. Также будем очень благодарны, если Вы пригласите своих друзей и знакомых подписаться на наш канал.
В мире существует открытый каталог из 1053 нерешённых исследовательских задач в области СУБД (github.com/samyama-ai/dbms_research). Это не просто список «хотелок», а систематизированный вызов для профессионалов. Здесь соседствуют вопросы теории реляционных моделей, инженерные головоломки связанные с векторным поиском и амбициозные концепции самоуправляемых баз данных. Каждая задача оформлена как отдельный документ с формальным описанием, математическим обоснованием, текущим состоянием дел (SOTA) и оценками сложности.
Для кого это?
— Для команд, развивающих российские СУБД. Это позволяет от импортозамещения зарубежных СУБД перейти к прорывам. Возможность не копировать, а переосмысливать — и решать то, что пока не решено на Западе. Фактически это готовый бэклог для НИР и НИОКР.
— Для молодых учёных и аспирантов. Если вы мучаетесь в поисках темы для диссертации, которая будет актуальна и через 5 лет — этот каталог сэкономит вам месяцы размышлений. Более 450 задач в каталоге отмечены как open — нет известного решения.
Спасибо что Вы с нами! Надеемся, что Вам нравится содержимое нашего канала. Обратную связь по содержанию публикаций можно направлять на адрес supportqdb@diasoft.ru. Авторам канала (между прочим это сотрудники, что каждый день работают над российскими СУБД Digital Q.DataBase и RuDB) будет приятно узнать Ваше мнение. Также будем очень благодарны, если Вы пригласите своих друзей и знакомых подписаться на наш канал.
Отличная новость для всех, кто следит за развитием российских СУБД!
Запущены официальный Telegram-канал и канал в МАХ Ассоциации Разработчиков СУБД — новое отраслевое сообщество, где будут публиковаться новости российских и зарубежных СУБД, информация о новых релизах, исследования, аналитика, экспертные материалы, а также анонсы конференций, вебинаров и других мероприятий.
Уже опубликованы первые материалы, включая обзор второго релиза RuDB.
Во втором релизе разработчики существенно расширили Oracle-совместимость, добавили новые Oracle-пакеты, улучшили совместимость с существующим PL/SQL-кодом, повысили безопасность и надёжность платформы, а также актуализировали документацию.
Такие инициативы помогают объединять разработчиков, заказчиков и специалистов по базам данных, а также делают информацию о развитии отечественной экосистемы СУБД более доступной.
► Приглашаю подписаться на официальные каналы Ассоциации Разработчиков СУБД в Telegram и МАХ, чтобы быть в курсе ключевых событий отрасли.
🔹 Ассоциация Разработчиков СУБД: https://database.ru
🔹 MAX :
https://max.ru/join/SsmnExqn2sD6TfSlZCAqtBc9YL8tdeSGTAWpZcDmjiw
🔹 Telegram : https://t.me/rudbdev
А мы, со своей стороны, продолжим рассказывать здесь о развитии Digital Q.DataBase, новых возможностях платформы и технологиях миграции корпоративных систем.
Запущены официальный Telegram-канал и канал в МАХ Ассоциации Разработчиков СУБД — новое отраслевое сообщество, где будут публиковаться новости российских и зарубежных СУБД, информация о новых релизах, исследования, аналитика, экспертные материалы, а также анонсы конференций, вебинаров и других мероприятий.
Уже опубликованы первые материалы, включая обзор второго релиза RuDB.
Во втором релизе разработчики существенно расширили Oracle-совместимость, добавили новые Oracle-пакеты, улучшили совместимость с существующим PL/SQL-кодом, повысили безопасность и надёжность платформы, а также актуализировали документацию.
Такие инициативы помогают объединять разработчиков, заказчиков и специалистов по базам данных, а также делают информацию о развитии отечественной экосистемы СУБД более доступной.
► Приглашаю подписаться на официальные каналы Ассоциации Разработчиков СУБД в Telegram и МАХ, чтобы быть в курсе ключевых событий отрасли.
🔹 Ассоциация Разработчиков СУБД: https://database.ru
🔹 MAX :
https://max.ru/join/SsmnExqn2sD6TfSlZCAqtBc9YL8tdeSGTAWpZcDmjiw
🔹 Telegram : https://t.me/rudbdev
А мы, со своей стороны, продолжим рассказывать здесь о развитии Digital Q.DataBase, новых возможностях платформы и технологиях миграции корпоративных систем.
🏆 Digital Q.DataBase — в тройке лидеров рейтинга СУБД 2026!
Друзья, хорошие новости. Издание «Компьютерра» опубликовало ежегодный рейтинг российских систем управления базами данных.
Наше решение Digital Q.DataBase заняло 2-е место с результатом 345 баллов, уступив лидеру всего 7 баллов!
Это высокая оценка нашей работы и подтверждение того, что мы движемся в правильном направлении. Спасибо команде разработчиков, партнёрам и, конечно, вам — нашим пользователям, чьи задачи мы решаем каждый день.
Продолжаем делать надёжный промышленный инструмент для ваших данных. Впереди — новые версии, ещё больше производительности и полный контроль над вашей инфраструктурой.
Друзья, хорошие новости. Издание «Компьютерра» опубликовало ежегодный рейтинг российских систем управления базами данных.
Наше решение Digital Q.DataBase заняло 2-е место с результатом 345 баллов, уступив лидеру всего 7 баллов!
Это высокая оценка нашей работы и подтверждение того, что мы движемся в правильном направлении. Спасибо команде разработчиков, партнёрам и, конечно, вам — нашим пользователям, чьи задачи мы решаем каждый день.
Продолжаем делать надёжный промышленный инструмент для ваших данных. Впереди — новые версии, ещё больше производительности и полный контроль над вашей инфраструктурой.
2 7 3 3 1
Forwarded from Ассоциация Разработчиков СУБД
🚀 RuDB — новое имя в топ‑3 российских СУБД!
Вышел рейтинг «Компьютерры» — и наш продукт RuDB дебютирует сразу с 3-го места и 314 баллами! Для новой СУБД, вышедшей на рынок в 2026 году, это беспрецедентный результат.
Секрет такого старта — в силе объединения. Над RuDB совместно работали:
🔹 «Диасофт» — создатель Digital Q.DataBase (2‑е место в этом же рейтинге);
🔹 НППКТ — разработчик СУБД «Лира-Р» и ОС «ОСнова».
Мы соединили многолетний опыт, лучшие архитектурные решения и экспертизу двух лидеров, чтобы предложить рынку современную, надёжную и безопасную СУБД.
То, что RuDB сходу попал в тройку лидеров, — лучшее подтверждение правильности нашего подхода. Спасибо всем, кто верил в проект! Дальше — только развитие.
Вышел рейтинг «Компьютерры» — и наш продукт RuDB дебютирует сразу с 3-го места и 314 баллами! Для новой СУБД, вышедшей на рынок в 2026 году, это беспрецедентный результат.
Секрет такого старта — в силе объединения. Над RuDB совместно работали:
🔹 «Диасофт» — создатель Digital Q.DataBase (2‑е место в этом же рейтинге);
🔹 НППКТ — разработчик СУБД «Лира-Р» и ОС «ОСнова».
Мы соединили многолетний опыт, лучшие архитектурные решения и экспертизу двух лидеров, чтобы предложить рынку современную, надёжную и безопасную СУБД.
То, что RuDB сходу попал в тройку лидеров, — лучшее подтверждение правильности нашего подхода. Спасибо всем, кто верил в проект! Дальше — только развитие.
1 июля мы провели вебинар, посвящённый новым возможностям Digital Q.DataBase 18.2.
В новой версии реализован масштабный набор доработок, направленных на развитие совместимости с корпоративными СУБД и упрощение миграции существующих систем.
На вебинаре мы рассказали о ключевых изменениях релиза, продемонстрировали новые возможности и рассмотрели практические сценарии их применения.
Основные темы вебинара:
🔹 Новая модульная архитектура Digital Q.DataBase 18.2.
🔹 Развитие совместимости с Microsoft SQL Server и Oracle Database.
🔹 Новые возможности мастера миграции и автоматизации переноса приложений.
🔹 Служба отчётов, совместимая с SQL Server Reporting Services (SSRS).
🔹 Развитие Digital Q.CDC, CLR, Service Broker и других компонентов платформы.
► Запись вебинара в VK Видео
► Запись вебинара в RuTube
Мы также доступны на : YouTube, Дзен.
#DigitalQDataBase #OracleForms #SQLServer #Oracle #Миграция
В новой версии реализован масштабный набор доработок, направленных на развитие совместимости с корпоративными СУБД и упрощение миграции существующих систем.
На вебинаре мы рассказали о ключевых изменениях релиза, продемонстрировали новые возможности и рассмотрели практические сценарии их применения.
Основные темы вебинара:
🔹 Новая модульная архитектура Digital Q.DataBase 18.2.
🔹 Развитие совместимости с Microsoft SQL Server и Oracle Database.
🔹 Новые возможности мастера миграции и автоматизации переноса приложений.
🔹 Служба отчётов, совместимая с SQL Server Reporting Services (SSRS).
🔹 Развитие Digital Q.CDC, CLR, Service Broker и других компонентов платформы.
► Запись вебинара в VK Видео
► Запись вебинара в RuTube
Мы также доступны на : YouTube, Дзен.
#DigitalQDataBase #OracleForms #SQLServer #Oracle #Миграция
Дорогие подписчики!
✔️ Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle.
Мы поддержали новый пакет DBMS_DB_VERSION.
Для чего он нужен
➡️ Пакет содержит константы с номерами версий Oracle и логические флаги для условной компиляции PL/SQL-кода в зависимости от версии СУБД. Это позволяет разработчикам создавать универсальные хранимые процедуры, которые корректно работают в разных версиях Oracle.
Основные константы
·
·
·
Пример использования
Мы поддержали новый пакет DBMS_DB_VERSION.
Для чего он нужен
Основные константы
·
VERSION — номер версии (например, 11);·
RELEASE — номер релиза (например, 1);·
VER_LE_9, VER_LE_10, VER_LE_11 — логические флаги для проверки версии.Пример использования
CREATE OR REPLACE PROCEDURE my_proc IS
BEGIN
$IF DBMS_DB_VERSION.VER_LE_10 $THEN
-- Код для Oracle 10 и ниже
DBMS_OUTPUT.PUT_LINE('Версия 10 или ниже');
$ELSIF DBMS_DB_VERSION.VER_LE_11 $THEN
-- Код для Oracle 11
DBMS_OUTPUT.PUT_LINE('Версия 11');
$ELSE
-- Код для более новых версий
DBMS_OUTPUT.PUT_LINE('Версия 12 и выше');
$END
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
Уважаемые подписчики, сегодня в посте выходного дня хочу рассказать Вам о FHE - одном из самых свежих направлений по работе с зашифрованными данными в СУБД.
Представьте ситуацию:
есть БД с финансовой информацией по клиентам банка: их доходам, расходам, остаткам на счетах на разные даты и т п. Данные, разумеется зашифрованы, но СУБД всё равно может применить агрегатную функцию (например SUM, AVG, MAX или MIN) к этим суммам, а также в ней можно рассчитать кредитный риск по каждому клиенту и все это без расшифровки данных.
Звучит как фантастика? Вовсе нет! Это просто практическое применение FHE.
СУБД работает с зашифрованными данными, складывает, вычитает, умножает и делит зашифрованные числа, а результат операции расшифровывается только у Вас (на стороне клиента СУБД) и он в точности совпадает с обычным вычислением над незашифрованными данными.
Можно рассчитать совокупную кредитную нагрузку по всем клиентам, не раскрывая вообще никому их доходы и остатки, провести anti‑fraud анализ транзакций, не расшифровывая платёжные данные,
передать данные в ML-модель для скоринга, не нарушая банковскую тайну.
Уже сейчас есть решения, встраивающие FHE в популярные СУБД: PostgreSQL и MySQL. Да, пока работает медленно (запросы выполняются в немколько раз дольше, чем если бы данные были незашифроваными). Но для облачных и аналитических задач, когда безопасность важнее скорости, - это настоящий прорыв.
Уже скоро "нулевое доверие" станет нормой при обработке любой чувствительной информации и FHE это важный шаг обеспечении такого подхода.
Представьте ситуацию:
есть БД с финансовой информацией по клиентам банка: их доходам, расходам, остаткам на счетах на разные даты и т п. Данные, разумеется зашифрованы, но СУБД всё равно может применить агрегатную функцию (например SUM, AVG, MAX или MIN) к этим суммам, а также в ней можно рассчитать кредитный риск по каждому клиенту и все это без расшифровки данных.
Звучит как фантастика? Вовсе нет! Это просто практическое применение FHE.
СУБД работает с зашифрованными данными, складывает, вычитает, умножает и делит зашифрованные числа, а результат операции расшифровывается только у Вас (на стороне клиента СУБД) и он в точности совпадает с обычным вычислением над незашифрованными данными.
Можно рассчитать совокупную кредитную нагрузку по всем клиентам, не раскрывая вообще никому их доходы и остатки, провести anti‑fraud анализ транзакций, не расшифровывая платёжные данные,
передать данные в ML-модель для скоринга, не нарушая банковскую тайну.
Уже сейчас есть решения, встраивающие FHE в популярные СУБД: PostgreSQL и MySQL. Да, пока работает медленно (запросы выполняются в немколько раз дольше, чем если бы данные были незашифроваными). Но для облачных и аналитических задач, когда безопасность важнее скорости, - это настоящий прорыв.
Уже скоро "нулевое доверие" станет нормой при обработке любой чувствительной информации и FHE это важный шаг обеспечении такого подхода.
1 5 3 3
Добрый день! Сегодня мне бы хотелось рассказать Вам об еще одной древней СУБД, что жива до сих пор, активно обновляется и способна обставить по скорости работы многие современные решения. Итак, IBM IMS (Information Management System).
Разработка — середина 1960‑х. В 1969 году система вышла на коммерческий рынок и стала одной из первых промышленных СУБД в мире.
Архитектура вполне типична для решений этих лет — иерархическое дерево. Данные хранятся как вложенные структуры: корневой сегмент (например, «Клиент») и дочерние («Заказы», «Платежи»). Чтобы получить информацию, нужно знать точный путь по этому дереву. Никаких сложных JOIN — только навигация.
Система до сих пор работает в крупнейших банках, страховых компаниях и авиаперевозчиках.
Например один европейский банк ежегодно проводит через core-banking систему на базе IMS рекордные 80 миллиардов транзакций.
IMS вполне выдерживает до 117 000 обновляющих информацию запросов в секунду. Такое и не снилось многим более современным системам.
СУБД IMS регулярно обновляется. Последнее обновление IMS 15.6 вышло 13 июня 2025 года.
IMS, несмотря на свой почтенный возраст, поддерживает многие современные технологии, например, REST API, шифрование данных, использование Java и Python, поддерживает интеграцию с Kafka и даже имеет свой оператор для Kubernetes.
Разработка — середина 1960‑х. В 1969 году система вышла на коммерческий рынок и стала одной из первых промышленных СУБД в мире.
Архитектура вполне типична для решений этих лет — иерархическое дерево. Данные хранятся как вложенные структуры: корневой сегмент (например, «Клиент») и дочерние («Заказы», «Платежи»). Чтобы получить информацию, нужно знать точный путь по этому дереву. Никаких сложных JOIN — только навигация.
Система до сих пор работает в крупнейших банках, страховых компаниях и авиаперевозчиках.
Например один европейский банк ежегодно проводит через core-banking систему на базе IMS рекордные 80 миллиардов транзакций.
IMS вполне выдерживает до 117 000 обновляющих информацию запросов в секунду. Такое и не снилось многим более современным системам.
СУБД IMS регулярно обновляется. Последнее обновление IMS 15.6 вышло 13 июня 2025 года.
IMS, несмотря на свой почтенный возраст, поддерживает многие современные технологии, например, REST API, шифрование данных, использование Java и Python, поддерживает интеграцию с Kafka и даже имеет свой оператор для Kubernetes.
Для чего это нужно
Синтаксис
ALTER VIEW view_name
AS
select_statement
Пример использования
-- Создание представления
CREATE VIEW active_employees AS
SELECT id, name FROM employees WHERE status = 'active';
-- Изменение определения представления (добавление поля department)
ALTER VIEW active_employees AS
SELECT id, name, department FROM employees WHERE status = 'active';
Что важно
· Права доступа к представлению сохраняются при изменении;
· Зависимые объекты (процедуры, функции) не требуют перекомпиляции;
· Поддерживается как в T-SQL, так и в PL/SQL-диалектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Diasoft о технологиях по-настоящему
Испытания подтвердили стабильную работу систем как единого программного комплекса, высокую производительность и полную готовность к промышленной эксплуатации.
Подтвержденная совместимость позволяет задействовать отечественную СУБД для работы с критически важными корпоративными данными без изменения прикладной логики платформы. Это особенно важно для организаций, которые переходят с зарубежного ПО и предъявляют высокие требования к производительности, масштабируемости и информационной безопасности 🛡
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
✔️ Продолжаем рассказывать о новшествах версии 18.2. Сегодня — о поддержке команды ALTER TRIGGER в нашей реализации T-SQL-диалекта.
Для чего это нужно
➡️ Ранее для изменения свойств триггера требовалось удалить его и создать заново. Команда ALTER TRIGGER позволяет включать, отключать или изменять определение существующего триггера без его удаления.
Что можно делать
· Включать и отключать триггер без потери его определения;
· Изменять тело триггера (при необходимости);
· Сохранять связанные разрешения и зависимости.
Синтаксис
Пример использования
Области применения
· Временное отключение триггеров при массовых загрузках данных;
· Отладка без удаления триггера;
· Управление производительностью пакетных операций.
Для чего это нужно
Что можно делать
· Включать и отключать триггер без потери его определения;
· Изменять тело триггера (при необходимости);
· Сохранять связанные разрешения и зависимости.
Синтаксис
-- Включение триггера
ALTER TRIGGER trigger_name ENABLE;
-- Отключение триггера
ALTER TRIGGER trigger_name DISABLE;
Пример использования
-- Отключение триггера перед массовой загрузкой данных
ALTER TRIGGER trg_audit_employees DISABLE;
-- Выполнение массовой операции
INSERT INTO employees SELECT * FROM temp_employees;
-- Включение триггера обратно
ALTER TRIGGER trg_audit_employees ENABLE;
Области применения
· Временное отключение триггеров при массовых загрузках данных;
· Отладка без удаления триггера;
· Управление производительностью пакетных операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Для чего они нужны
sp_helptrigger
EXEC sp_helptrigger 'employees';
sp_helpconstraint
EXEC sp_helpconstraint 'employees';
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
✅ Продолжаем рассказывать о новшествах версии 18.2. Сегодня — о поддержке конструкции CREATE OR ALTER FUNCTION в нашей реализации T-SQL-диалекта.
Для чего это нужно
✅ Ранее для изменения существующей функции требовалось сначала удалить её с помощью DROP FUNCTION, а затем создать заново через CREATE FUNCTION. Конструкция CREATE OR ALTER объединяет оба действия: если функция существует — она изменяется, если нет — создаётся новая.
Это особенно удобно при развертывании обновлений и написании миграционных скриптов.
Пример использования
Преимущества
· Не нужно удалять функцию перед изменением;
· Сохраняются связанные разрешения;
· Упрощается процесс обновления базы данных;
· Снижается риск ошибок при миграции.
Для чего это нужно
Это особенно удобно при развертывании обновлений и написании миграционных скриптов.
Пример использования
-- Создаёт новую функцию или изменяет существующую
CREATE OR ALTER FUNCTION dbo.GetFullName (
@FirstName VARCHAR(50),
@LastName VARCHAR(50)
)
RETURNS VARCHAR(101)
AS
BEGIN
RETURN @LastName + ' ' + @FirstName;
END;
Преимущества
· Не нужно удалять функцию перед изменением;
· Сохраняются связанные разрешения;
· Упрощается процесс обновления базы данных;
· Снижается риск ошибок при миграции.
Please open Telegram to view this post
VIEW IN TELEGRAM
DOOM, работающий на SQL
Представьте себе многопользовательский шутер, все компоненты которого написаны исключительно на SQL.
Проект называется DOOMQL — он работает внутри СУБД CedarDB (частично совместимой с PostgreSQL):
- Вся игровая логика, рендеринг, физика столкновений и синхронизация реализованы через таблицы, VIEW и хранимые процедуры
- Игровой цикл крутится с частотой 30 Гц через shell-скрипт, отправляющий запросы в БД
- 3D-рендерер на SQL поддерживает трассировку лучей
- Нажатия клавиш передаются через INSERT, а изображение выводится через SELECT
- Графика — ASCII-анимация
Мораль: SQL - давно уже не просто язык запросов, а полноценная среда исполнения. И да, исходники проекта открыты под MIT.
Представьте себе многопользовательский шутер, все компоненты которого написаны исключительно на SQL.
Проект называется DOOMQL — он работает внутри СУБД CedarDB (частично совместимой с PostgreSQL):
- Вся игровая логика, рендеринг, физика столкновений и синхронизация реализованы через таблицы, VIEW и хранимые процедуры
- Игровой цикл крутится с частотой 30 Гц через shell-скрипт, отправляющий запросы в БД
- 3D-рендерер на SQL поддерживает трассировку лучей
- Нажатия клавиш передаются через INSERT, а изображение выводится через SELECT
- Графика — ASCII-анимация
Мораль: SQL - давно уже не просто язык запросов, а полноценная среда исполнения. И да, исходники проекта открыты под MIT.
Машина времени для СУБД
Представьте ситуацию: из таблицы БД пропала важная запись. Коллеги твердят: "Её никогда не было"! Но Вы-то знаете, что она была! Если бы только существовала машина времени для баз данных...
Ретроспективные запросы (Temporal Queries) — это и есть такая машина времени.
Это способ заглянуть в прошлое таблицы и увидеть, как выглядели данные в конкретный момент. В мире, где данные меняются каждую секунду (переводы, смены статусов, обновления профилей), это незаменимая вещь для аудита, анализа и отладки.
Посмотрим как это работает на примере MS SQL Server и PostgreSQL.
В MS SQL Server эта фича называется System-Versioned Temporal Tables. Создаёте таблицу с двумя скрытыми колонками (ValidFrom и ValidTo), и СУБД автоматически сохраняет историю каждого изменения.
В ванильном PostgreSQL нет нативной поддержки Temporal Queries на уровне базовой функциональности СУБД. Но это легко реализуется с помощью расширения pg_temporal.
Допустим, клиент утверждает, что ему вчера одобрили скидку 20%, а сегодня в системе стоит 10%. Чтобы узнать правду, используем FOR SYSTEM_TIME AS OF:
И вот мы видим данные ровно на тот момент. Истина будет неизбежно восстановлена!
Ретроспективные запросы — это не просто «прикольная фича», а насущная необходимость. Это способ:
· Проводить аудит без костылей и записей в логах.
· Анализировать тренды и видеть эволюцию данных.
· Возвращаться к состоянию на любой момент времени без поднятия бэкапа.
Так что в следующий раз, когда кто-то скажет Вам: "Этих данных никогда не было", просто отправьте ему ретроспективный запрос. Данные не врут!
Представьте ситуацию: из таблицы БД пропала важная запись. Коллеги твердят: "Её никогда не было"! Но Вы-то знаете, что она была! Если бы только существовала машина времени для баз данных...
Ретроспективные запросы (Temporal Queries) — это и есть такая машина времени.
Это способ заглянуть в прошлое таблицы и увидеть, как выглядели данные в конкретный момент. В мире, где данные меняются каждую секунду (переводы, смены статусов, обновления профилей), это незаменимая вещь для аудита, анализа и отладки.
Посмотрим как это работает на примере MS SQL Server и PostgreSQL.
В MS SQL Server эта фича называется System-Versioned Temporal Tables. Создаёте таблицу с двумя скрытыми колонками (ValidFrom и ValidTo), и СУБД автоматически сохраняет историю каждого изменения.
В ванильном PostgreSQL нет нативной поддержки Temporal Queries на уровне базовой функциональности СУБД. Но это легко реализуется с помощью расширения pg_temporal.
Допустим, клиент утверждает, что ему вчера одобрили скидку 20%, а сегодня в системе стоит 10%. Чтобы узнать правду, используем FOR SYSTEM_TIME AS OF:
-- Узнаём статус заказа номер 12345 ровно на вчерашний полдень
SELECT
OrderID,
CustomerName,
Discount,
ValidFrom,
ValidTo
FROM Orders
FOR SYSTEM_TIME AS OF '2026-07-11 12:00:00'
WHERE OrderID = 12345;
И вот мы видим данные ровно на тот момент. Истина будет неизбежно восстановлена!
Ретроспективные запросы — это не просто «прикольная фича», а насущная необходимость. Это способ:
· Проводить аудит без костылей и записей в логах.
· Анализировать тренды и видеть эволюцию данных.
· Возвращаться к состоянию на любой момент времени без поднятия бэкапа.
Так что в следующий раз, когда кто-то скажет Вам: "Этих данных никогда не было", просто отправьте ему ретроспективный запрос. Данные не врут!
Когда встаёт задача плавного импортозамещения СУБД, ключевой вопрос — как организовать параллельную работу старой и новой системы с возможностью переключения за минуты. Именно для этого у нас есть Digital Q.CDC.
Классический Change Data Capture (CDC), работающий как системный процесс с удобным Web-интерфейсом. Он обеспечивает непрерывную синхронизацию изменений между Oracle, MSSQL, PostgreSQL и Digital Q.DataBase.
1. В начале работы новой связки автоматически сравнивает структуру и данные, помогает исправить расхождения.
2. Затем переходит в режим непрерывного захвата и репликации всех изменений.
Главное отличие от конкурентов:
Digital Q.CDC синхронизирует не только данные, но и изменения структуры БД, хранимые процедуры, пакеты, ограничения и другую хранимую логику, а также права доступа. Конкуренты обычно ограничиваются только данными.
· Позволяет организовать параллельную работу старой и новой СУБД.
· Момент переключения сокращается до нескольких минут.
· Поддерживается реверсирование направления синхронизации — можно в любой момент переключить поток обратно.
· Мастер переноса и мастер сравнения БД помогают на всех этапах миграции.
Если Вы планируете импортозамещение СУБД и хотите сделать это плавно, с возможностью отката и параллельной работой, то Digital Q.CDC это Ваш инструмент!
Please open Telegram to view this post
VIEW IN TELEGRAM
В модуле DGrid, ранее отвечавшем только за распределённое in-memory хранение (ключ-значение и таблицы), теперь доступна опция долговременного хранения данных в формате Key-Value. Объём данных - до петабайт, внутренняя реализация Rocks DB.
· Поддержка транспортного протокола Redis / ValKey — можно использовать DGrid как замену этим продуктам без переписывания клиентов.
· Производительность сопоставима с оригинальными Redis/ValKey, при этом данные могут быть распределены по кластеру с настраиваемым фактором репликации.
· Доступ к данным DGrid возможен также и напрямую из SQL-части СУБД, что позволяет встраивать KV-операции с данными в памяти в хранимые процедуры, пакеты и прочую хранимую бизнес-логику.
Таким образом, DGrid становится гибридным решением: горячие данные в памяти, большие объёмы — на постоянном носителе, с единым интерфейсом доступа и возможностью использования внутри реляционных запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
➡️ Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle. Мы поддержали новый пакет OWA_COOKIE.
Для чего он нужен
➡️ Пакет OWA_COOKIE предоставляет функции для работы с HTTP-куками (cookies) в веб-приложениях, построенных на PL/SQL. Он позволяет отправлять куки клиенту, получать их значения и управлять атрибутами.
Основные функции
· GET — получение значения куки по имени;
· SET — установка куки с указанием имени, значения и опциональных атрибутов (путь, домен, срок действия);
· REMOVE — удаление куки;
· GET_VALUES — получение всех значений куки с указанным именем.
Пример использования
Области применения
· Хранение пользовательских настроек в веб-приложениях;
· Управление сессиями;
· Отслеживание предпочтений пользователя (язык, тема оформления).
Для чего он нужен
Основные функции
· GET — получение значения куки по имени;
· SET — установка куки с указанием имени, значения и опциональных атрибутов (путь, домен, срок действия);
· REMOVE — удаление куки;
· GET_VALUES — получение всех значений куки с указанным именем.
Пример использования
-- Получение значения куки
DECLARE
v_cookie OWA_COOKIE.COOKIE;
BEGIN
v_cookie := OWA_COOKIE.GET('user_preferences');
-- Обработка полученных значений
END;
-- Установка куки
BEGIN
OWA_COOKIE.SET(
name => 'theme',
value => 'dark',
path => '/',
expires => SYSDATE + 30
);
END;
Области применения
· Хранение пользовательских настроек в веб-приложениях;
· Управление сессиями;
· Отслеживание предпочтений пользователя (язык, тема оформления).
Please open Telegram to view this post
VIEW IN TELEGRAM