Digital Q.DataBase 🎙
653 subscribers
86 photos
4 videos
2 files
86 links
🟣Уникальный СУБД канал
Digital Q.DataBase в формате подкаста от амбассадора Андрея Жуйкова @zavrius ✍️

🟣 Команда, кейсы и внутренний взгляд
🟣 Инсайты и примеры из практики
🟣 Идеи, за которыми будущее
Download Telegram
🚀 Рекомендую к просмотру запись моего выступления с «Дня СУБД», где я рассказал об импортозамещении MS SQL с использованием Digital Q.DataBase.

🟣Уникальный подход Digital Q.DataBase заключается в адаптации СУБД под задачи импортозамещения и клонировании функциональности MS SQL и Oracle поверх ядра PostgreSQL, что является более рациональным подходом по сравнению с переписыванием прикладного кода существующих приложений под новую платформу.
🟣Также показал примеры миграции 1С, «БОСС-Кадровик» и международного проекта перехода с зарубежных СУБД.
→ Видео:
https://rutube.ru/video/e3922ad66b159f90bd991bf15f176025/
Please open Telegram to view this post
VIEW IN TELEGRAM
543
🙌 Диасофт и "Качественные Программные Решения" подтвердили совместимость системы Finum.NDFL и СУБД Digital Q.DataBase

➡️Компании в рамках технологического сотрудничества провели испытания импортонезависимой автоматизированной системы налогового агентирования НДФЛ для банков – Finum.NDFL и импортонезависимой СУБД Digital Q.DataBase.

➡️В ходе тестирования подтверждена полная взаимная совместимость, корректность и стабильность работы системы Finum.NDFL на СУБД Digital Q.DataBase.

Результаты испытаний подтверждаются сертификатом.

➡️ Finum.NDFL решает задачу, которая стала актуальной с 2025 года в связи с вступлением в силу требований Федерального закона № 176-ФЗ (применение прогрессивной шкалы НДФЛ к совокупной налоговой базе физлиц).
Система автоматически собирает данные из всех банковских контуров, выполняет дедупликацию и консолидацию в единый профиль налогоплательщика, рассчитывает налог по прогрессивной шкале и формирует отчетность по всем филиалам и подразделениям банка в форматах ФНС.

Finum.NDFL построена на открытом стеке: Java, PostgreSQL и успешно протестирована на СУБД Диасофт Q.DataBase.

🧗‍♀️ По результатам тестирования прирост производительности составил 25% к скорости отбора данных без изменений в коде приложения
Please open Telegram to view this post
VIEW IN TELEGRAM
433
🔥О том, как в Диасофт мы воспроизводим функциональность Oracle и создаём аналоги для сотен DBMS-пакетов, рассказал мой коллега Илья Лебедев.

В этом видео — демонстрация возможностей Digital Q.DataBase:

🟣Работа СУБД с поддержкой Oracle-диалекта
🟣Мастер переноса данных
🟣Подключение клиентских приложений через собственную библиотеку OCI
🟣Работа собственного JDBC-драйвера
🟣Поддержка PL/SQL и аналогов Oracle DBMS-пакетов

Когда миграция — это не «переписать всё с нуля», а «запустить и работать» — разговор уже становится намного интереснее 🙌

📺 Видео: https://rutube.ru/video/1a89e7675e6912f3257c2c70d8ad7638/
Please open Telegram to view this post
VIEW IN TELEGRAM
1633
⛔️ Ошибка "на миллиард долларов" или проклятие фамилии Null.

Любой разработчик, хоть раз в жизни писавший запросы на SQL знает, что NULL - это отсутствие значения.

Но что если это Ваша настоящая фамилия, а некоторые плохо написанные ИТ-системы странно на неё реагируют?

Истории людей по фамилии Нулл доказывают, что иногда цифровые системы могут сделать человека практически «невидимым».

К слову, в мире живет более 56 тысяч обладателей этой "проклятой" фамилии.

⬇️ Знаменитые жертвы проклятия NULL:

· Дженнифер Нулл (Jennifer Null): Сайты авиакомпаний часто выдают ей ошибку «фамилия не заполнена», а представители налоговой службы просто не могут найти её в ведомственной системе. Не работает с её фамилией и корпоративная система её работодателя. Сама Дженифер с юмором относится к этим неприятностям и говорит, что ей «многое до сих пор приходится делать по старинке».

· Нонтра Нулл (Nontra Null): Едва не пропустила свадьбу подруги в Индии из-за того, что индийское консульство не могло обработать её фамилию при оформлении визы.

· Кристофер Нулл (Christopher Null): Журналист, для которого плохо написанные информационные системы стали причиной его многолетней переписки с Bank of America.

· Джан Нулл (Jan Null): Метеоролог, который не может забронировать отель онлайн — сайты просто выдают ошибку.

· Морган Нулл (Morgan Null): Адвокат, которую интернет-провайдер отказался отключать от услуг — после переезда система не смогла найти её в своих записях.

· Джозеф Тартаро (Joseph Tartaro):
Человек с обычной фамилией, который в шутку оформил номерной знак «NULL» — и вскоре сильно пожалел об этом. Он стал получать сотни чужих штрафов за парковку, которые система «вешала» на его "оригинальный" номерной знак.

❗️ Немного о виновнике торжества:

В 1960-х годах британский ученый Тони Хоар ввел понятие NULL. Позже он сам назвал это «ошибкой на миллиард долларов». Тогда он не подозревал, что однажды изобретённое им слово NULL превратит жизнь тысяч реальных людей в кошмар и станет причиной разного рода коллизий при обработке информации.

✔️ Ну а для нас, ИТ-шников, эти истории лишний повод вспомнить о необходимости тщательно тестировать создаваемые нами информационные системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
863
🌐 17 мая — Всемирный день электросвязи и информационного общества или День Интернета.

Да, у Интернета есть официальный день рождения в календаре ООН. Именно 17 мая, ещё в 2005 году, Генассамблея ООН провозгласила этот праздник, чтобы подчеркнуть роль технологий в развитии общества.

Это повод вспомнить, что:

➡️ Связь и обработка информации стали неотъемлемой частью критической информационной инфраструктуры — от банков до транспорта.
➡️ IT-специалисты — главные архитекторы современной цивилизации.

С праздником, коллеги!
Пусть пакеты не теряются, бэкапы создаются, а сервера работают без сбоев!
Please open Telegram to view this post
VIEW IN TELEGRAM
644
Диасофт на ЦИПР-2026 📍
В этом году компания представляет свои ИТ-решения на конференции по-новому – добро пожаловать на нашу уличную экспозицию😎

"Мы открыли свой фудтрак! Он должен стать точкой притяжения, ведь это зона с освежающими фрешами и блинами с натуральными начинками! Все позиции меню названы в честь наших ИТ-продуктов, а сам фудтрак украшен надписями с названиями и фишками наших ИТ-решений. Читайте, ешьте, общайтесь! Всем отличного ЦИПРа!", – приглашает Александр Сахаров, директор по работе с партнерами 🙋🏻‍♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1154
Дорогие подписчики!

➡️ Немного статистики о бесплатной версии Digital Q.DataBase.

За последние три месяца её скачали более тысячи раз.

Что это значит

Цифра сама по себе говорит о том, что интерес к российской СУБД растёт. Бесплатную версию выбирают:

· коммерческие организации и ИП, которые присматриваются к переходу с зарубежных СУБД;
· разработчики, тестирующие совместимость со своими проектами;
· студенты и преподаватели, осваивающие отечественное ПО в учебных заведениях;
· частные лица, использующие СУБД для личных проектов.

Напомним, что доступно в бесплатной версии

➡️ Ограничение — работа на серверах до 8 ядер процессора. Функциональность при этом полностью соответствует коммерческой лицензии .

Бесплатная версия позволяет:

· исполнять запросы на диалектах Oracle Database, MS SQL Server и PostgreSQL без переписывания кода;
· развернуть «1С», CRM, ERP, СЭД и другие критически важные системы;
· использовать «Центр управления» для администрирования через веб-интерфейс;
· переносить данные из других СУБД с помощью «Мастера переноса данных».

Кому подойдёт

➡️ Юридическим лицам, индивидуальным предпринимателям, разработчикам и студентам . Бесплатная версия не имеет срока действия и не требует последующей оплаты.

Как получить

➡️ Дистрибутив доступен для скачивания на нашем сайте. В комплекте — документация с инструкцией по установке и описанием функциональных возможностей .

Спасибо, что выбираете российское ПО. Более тысячи скачиваний за три месяца — приятный результат. Двигаемся дальше.
Please open Telegram to view this post
VIEW IN TELEGRAM
843
На стыке ИИ и ERP
💌Приглашаем на День партнеров Диасофт!

29 мая состоится третья партнерская конференция Диасофт. Фокус деловой программы – применение искусственного интеллекта в развитии ERP-решений и новые ИТ-стандарты, которые трансформируют процессы разработки программных продуктов. Эксперты также продемонстрируют возможности экосистемы Digital🥶, в которую ИИ уже интегрирован.

🎉 К вечеру деловая программа сменится развлекательной с участием лучшего трибьют-шоу АВВА в России!

👥Если вы: топ-менеджер, директор по ИТ в компании из любой отрасли, ведущий разработчик или ИТ-специалист, заинтересованный в применении ИИ для развития ERP-систем и создания сложных продуктов…

… то регистрируйтесь по ссылке 🔗

До встречи оффлайн!
Please open Telegram to view this post
VIEW IN TELEGRAM
2533
Дорогие подписчики!

➡️ Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle.
Мы поддержали новый пакет DBMS_NETWORK_ACL_UTILITY

Для чего он нужен

➡️ Пакет предоставляет вспомогательные функции для работы с сетевыми ACL (Access Control List) — списками контроля доступа к внешним сетевым ресурсам. Он помогает определить, какой именно ACL применяется к тому или иному хосту, и в каком порядке эти правила оцениваются .

Основные функции

· DOMAINS — возвращает все возможные домены или подсети, которые могут соответствовать указанному хосту ;
· DOMAIN_LEVEL — возвращает уровень вложенности домена (например, для www.hr.example.com уровень будет 4) ;
· CONTAINS_HOST — проверяет, содержит ли домен или подсеть указанный хост ;
· EQUALS_HOST — сравнивает два хоста, домена или подсети на равенство .

Пример использования

-- Получение всех возможных доменов для указанного хоста
SELECT *
FROM TABLE(DBMS_NETWORK_ACL_UTILITY.DOMAINS('192.168.2.3'));

Результат:

COLUMN_VALUE
192.168.2.3
192.168.2.*
192.168.*
192.*
Please open Telegram to view this post
VIEW IN TELEGRAM
644
🚀 Рекомендую посмотреть доклад Ильи Виссарионова — директора департамента «Аппаратно-системная платформа» — о практическом опыте импортозамещения банковской АБС с Microsoft SQL Server на Digital Q.DataBase.

В докладе — реальный инженерный опыт миграции legacy-систем с миллионами строк кода, хранимыми процедурами и промышленной нагрузкой.

Особенно интересно:

➡️как переносили T-SQL и бизнес-логику без полного переписывания системы;
➡️какие проблемы возникали на PostgreSQL-совместимой платформе;
➡️как оптимизировали производительность и работу оптимизатора запросов;
➡️как система показала себя под промышленной нагрузкой на базах объёмом около 10 ТБ, сотнях одновременных пользователей и десятках миллионов операций.

→ Видео:
https://rutube.ru/video/7ce68a540767d7e4e7a72648ff1b0774/
Please open Telegram to view this post
VIEW IN TELEGRAM
833
День рождения Java 🎉

➡️ 23 мая 1995 года компания Sun Microsystems официально представила язык Java и платформу HotJava. Изначально проект назывался Oak, но из-за проблем с торговой маркой переименовали в Java — в честь сорта кофе.

➡️ С тех пор Java прочно связана с миром СУБД:

1. Внутри СУБД — хранимые процедуры и функции на Java поддерживаются в Oracle, IBM DB2, H2. Для PostgreSQL также существует расширение PL/Java, позволяющее выполнять Java-код прямо в СУБД.

2. Для взаимодействия с СУБД — спецификация JDBC стала стандартом подключения приложений к реляционным базам. Драйверы JDBC реализованы для всех основных СУБД, включая PostgreSQL, MS SQL и Oracle.

3. Есть СУБД, полностью написанные на Java — H2 Database, Apache Derby. Легковесные, встраиваемые, с поддержкой дискового и in-memory режимов.

Сегодня Java исполняется 31 год. Поздравьте с этим своих знакомых Java-разработчиков!
Технология, созданная для бытовой электроники, стала надёжным мостом между кодом и данными в enterprise-среде.

И да, мы уважаем Java, пишем на ней тесты для нашей СУБД, но для написания самой СУБД предпочитаем C и C++. Просто потому что так скорость работы выше. Без обид.☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
744
Померимся цифрами?

Есть ли связь между количеством строк исходного кода и богатством функциональных и нефункциональных возможностей СУБД? Скорее да, чем нет. Хотя конечно речь не о жестком соотношении, а скорее о корреляции этих показателей.

В PostgreSQL на сегодня — около 2,1 млн строк на языке C. Много ли это? Зависит от того, с чем сравнивать.

Например, в MySQL на сегодня 2.4 миллиона строк кода (С/С++), в MongoDB - чуть больше 2 миллионов строк С++ кода, в российском ClickHouse - 1.5 миллиона строк кода на языке С++, а в вот в SQLite всего 145 тысяч строк кода (на чистом С).

Особняком в этом ряду стоит СУБД Oracle. В 1992 году в 7-ой версии этой СУБД было 1.5 миллиона строк кода на языке С, к 12-й версии (2017) размер кодовой базы дорос аж до 25 млн, а сейчас, по разным оценкам, он насчитывает от 35 до 40 млн строк исходного кода.

Для понимания: одна только подсистема RAC в Oracle "весит" 1,6 млн строк, а in-memory-подсистема - почти 2 млн. Это сопоставимо с размером последней версии "ванильного" PostgreSQL.

В нашей СУБД Digital Q.DataBase по состоянию на сегодня 4.6 миллиона строк исходного кода, из них 2.7 миллиона строк это код на чистом С, еще 0.3 миллиона строк это код на разных диалектах SQL, а остальное - это код на С++.

Да, это более чем двукратный рост по сравнению с размером кода оригинального PostgreSQL, но всё же нам есть еще куда расти.

Правда, у роста кодовой базы есть и обратная сторона. Говорят, что программный код Oracle 12 был настолько запутанным, что любое его изменение с высокой вероятностью ломало регрессионные тесты. Разработчикам приходилось действовать крайне осторожно внося изменения — своего рода плата за десятилетия эволюции.

Так что пожелаем российским форкам PostgreSQL прирастать функциональностью и связанным с ней кодом (до 10–20 млн строк, почему бы и нет!), но при этом сохранять архитектурную внятность кода и надёжность тестов. Чтобы становиться сильнее, радовать новыми возможностями пользователей, но при этом не повторять чужих ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
642
🟣 Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle.
Мы поддержали новый пакет HTP.

Для чего он нужен

🟣 Пакет HTP (Hypertext Procedures) предоставляет набор процедур для генерации HTML-кода непосредственно из PL/SQL-процедур. Это позволяет создавать динамические веб-страницы на стороне сервера базы данных.

Основные функции

· PRINT — вывод произвольной HTML-строки;
· HTMLOPEN / HTMLCLOSE — открытие и закрытие тега <HTML>;
· HEADOPEN / HEADCLOSE — открытие и закрытие тега <HEAD>;
· BODYOPEN / BODYCLOSE — открытие и закрытие тега <BODY>;
· TITLE — генерация тега <TITLE>;
· HEADER — генерация заголовков <H1>...<H6>;

Пример использования

CREATE OR REPLACE PROCEDURE hello AS
BEGIN
HTP.HTMLOPEN;
HTP.HEADOPEN;
HTP.TITLE('Привет');
HTP.HEADCLOSE;
HTP.BODYOPEN;
HTP.HEADER(1, 'Digital Q.DataBase');
HTP.PRINT('Добро пожаловать');
HTP.BODYCLOSE;
HTP.HTMLCLOSE;
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
5331
Дорогие подписчики!

➡️ Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle.
Мы поддержали новый пакет OWA_MATCH.

Для чего он нужен

➡️Пакет OWA_MATCH предоставляет функцию MATCH_PATTERN для проверки строк на соответствие заданным шаблонам с учётом специальных символов . Он позволяет определить, содержит ли строка недопустимые символы или соответствует ли одному из исключающих правил .

Основные возможности

· Проверка строки на наличие специальных символов из заданного списка;
· Сравнение со списком простых шаблонов (с использованием оператора LIKE);
· Сравнение со списком сложных шаблонов (с использованием регулярных выражений через OWA_PATTERN);
· Возможность отключить проверку специальных символов через параметр p_use_special_chars.

Пример использования

-- Проверка строки на соответствие шаблонам
DECLARE
v_simple owa_util.vc_arr;
v_complex owa_util.vc_arr;
v_result BOOLEAN;
BEGIN
v_simple(1) := '%test%';
v_complex(1) := '^[A-Z]+$';

v_result := owa_match.match_pattern(
p_string => 'TEST',
p_simple_pattern => v_simple,
p_complex_pattern => v_complex,
p_use_special_chars => TRUE
);

IF v_result THEN
DBMS_OUTPUT.PUT_LINE('Строка соответствует шаблону');
END IF;
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
433
Ещё один пакет в копилку PL/SQL-совместимости Digital Q.DataBase.
Сегодня — OWA_PATTERN.

Для чего он нужен

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

Основные функции

· AMATCH — поиск подстроки, соответствующей регулярному выражению;
· MATCH — проверка, соответствует ли строка целиком заданному шаблону;
· CHANGE — замена подстроки, найденной по регулярному выражению;
· CHANGE_ALL — замена всех вхождений, соответствующих шаблону.

Пример использования

-- Проверка, соответствует ли строка регулярному выражению
DECLARE
v_result BOOLEAN;
BEGIN
v_result := OWA_PATTERN.MATCH('abc123', '[a-z]+[0-9]+');
IF v_result THEN
DBMS_OUTPUT.PUT_LINE('Строка соответствует шаблону');
END IF;
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
533
This media is not supported in your browser
VIEW IN TELEGRAM
532
This media is not supported in your browser
VIEW IN TELEGRAM
532
Напоминаем: уже завтра День партнёров Диасофт!

💌 Приглашаем на третью партнёрскую конференцию, которая состоится завтра, 29 мая.

⚡️ Фокус деловой программы — искусственный интеллект в развитии ERP-решений и новые ИТ-стандарты. Эксперты продемонстрируют возможности экосистемы Digital Q, в которую ИИ уже интегрирован.

Для тех, кто следит за развитием Digital Q.DataBase

🐬 На конференции будет работать наш стенд, где можно вживую пообщаться с представителями команды разработки СУБД. Расскажем о планах развития, ответим на вопросы, обсудим сценарии использования и миграции.

🎉 К вечеру деловую программу сменит развлекательная — с лучшим трибьют-шоу АВВА в России!

Регистрация по ссылке:
https://dpd3.diasoft.ru/

До встречи офлайн!
Please open Telegram to view this post
VIEW IN TELEGRAM
633