Forwarded from Diasoft о технологиях по-настоящему
Диасофт на ЦИПР-2026 📍
В этом году компания представляет свои ИТ-решения на конференции по-новому – добро пожаловать на нашу уличную экспозицию😎
В этом году компания представляет свои ИТ-решения на конференции по-новому – добро пожаловать на нашу уличную экспозицию😎
"Мы открыли свой фудтрак! Он должен стать точкой притяжения, ведь это зона с освежающими фрешами и блинами с натуральными начинками! Все позиции меню названы в честь наших ИТ-продуктов, а сам фудтрак украшен надписями с названиями и фишками наших ИТ-решений. Читайте, ешьте, общайтесь! Всем отличного ЦИПРа!", – приглашает Александр Сахаров, директор по работе с партнерами 🙋🏻♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
➡️ Немного статистики о бесплатной версии Digital Q.DataBase.
За последние три месяца её скачали более тысячи раз.
Что это значит
Цифра сама по себе говорит о том, что интерес к российской СУБД растёт. Бесплатную версию выбирают:
· коммерческие организации и ИП, которые присматриваются к переходу с зарубежных СУБД;
· разработчики, тестирующие совместимость со своими проектами;
· студенты и преподаватели, осваивающие отечественное ПО в учебных заведениях;
· частные лица, использующие СУБД для личных проектов.
Напомним, что доступно в бесплатной версии
➡️ Ограничение — работа на серверах до 8 ядер процессора. Функциональность при этом полностью соответствует коммерческой лицензии .
Бесплатная версия позволяет:
· исполнять запросы на диалектах Oracle Database, MS SQL Server и PostgreSQL без переписывания кода;
· развернуть «1С», CRM, ERP, СЭД и другие критически важные системы;
· использовать «Центр управления» для администрирования через веб-интерфейс;
· переносить данные из других СУБД с помощью «Мастера переноса данных».
Кому подойдёт
➡️ Юридическим лицам, индивидуальным предпринимателям, разработчикам и студентам . Бесплатная версия не имеет срока действия и не требует последующей оплаты.
Как получить
➡️ Дистрибутив доступен для скачивания на нашем сайте. В комплекте — документация с инструкцией по установке и описанием функциональных возможностей .
Спасибо, что выбираете российское ПО. Более тысячи скачиваний за три месяца — приятный результат. Двигаемся дальше.
За последние три месяца её скачали более тысячи раз.
Что это значит
Цифра сама по себе говорит о том, что интерес к российской СУБД растёт. Бесплатную версию выбирают:
· коммерческие организации и ИП, которые присматриваются к переходу с зарубежных СУБД;
· разработчики, тестирующие совместимость со своими проектами;
· студенты и преподаватели, осваивающие отечественное ПО в учебных заведениях;
· частные лица, использующие СУБД для личных проектов.
Напомним, что доступно в бесплатной версии
Бесплатная версия позволяет:
· исполнять запросы на диалектах Oracle Database, MS SQL Server и PostgreSQL без переписывания кода;
· развернуть «1С», CRM, ERP, СЭД и другие критически важные системы;
· использовать «Центр управления» для администрирования через веб-интерфейс;
· переносить данные из других СУБД с помощью «Мастера переноса данных».
Кому подойдёт
Как получить
Спасибо, что выбираете российское ПО. Более тысячи скачиваний за три месяца — приятный результат. Двигаемся дальше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Diasoft о технологиях по-настоящему
На стыке ИИ и ERP
💌Приглашаем на День партнеров Диасофт!
29 мая состоится третья партнерская конференция Диасофт. Фокус деловой программы – применение искусственного интеллекта в развитии ERP-решений и новые ИТ-стандарты, которые трансформируют процессы разработки программных продуктов. Эксперты также продемонстрируют возможности экосистемы Digital🥶 , в которую ИИ уже интегрирован.
🎉 К вечеру деловая программа сменится развлекательной с участием лучшего трибьют-шоу АВВА в России!
👥Если вы: топ-менеджер, директор по ИТ в компании из любой отрасли, ведущий разработчик или ИТ-специалист, заинтересованный в применении ИИ для развития ERP-систем и создания сложных продуктов…
… то регистрируйтесь по ссылке 🔗
До встречи оффлайн!
💌Приглашаем на День партнеров Диасофт!
29 мая состоится третья партнерская конференция Диасофт. Фокус деловой программы – применение искусственного интеллекта в развитии ERP-решений и новые ИТ-стандарты, которые трансформируют процессы разработки программных продуктов. Эксперты также продемонстрируют возможности экосистемы Digital
🎉 К вечеру деловая программа сменится развлекательной с участием лучшего трибьют-шоу АВВА в России!
👥Если вы: топ-менеджер, директор по ИТ в компании из любой отрасли, ведущий разработчик или ИТ-специалист, заинтересованный в применении ИИ для развития ERP-систем и создания сложных продуктов…
… то регистрируйтесь по ссылке 🔗
До встречи оффлайн!
Please open Telegram to view this post
VIEW IN TELEGRAM
2 5 3 3
Дорогие подписчики!
➡️ Продолжаем рассказывать о встроенных пакетах 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 — сравнивает два хоста, домена или подсети на равенство .
Пример использования
Результат:
Мы поддержали новый пакет DBMS_NETWORK_ACL_UTILITY
Для чего он нужен
Основные функции
· 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
В докладе — реальный инженерный опыт миграции legacy-систем с миллионами строк кода, хранимыми процедурами и промышленной нагрузкой.
Особенно интересно:
→ Видео:
https://rutube.ru/video/7ce68a540767d7e4e7a72648ff1b0774/
Please open Telegram to view this post
VIEW IN TELEGRAM
День рождения 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++. Просто потому что так скорость работы выше. Без обид.☕️
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
Померимся цифрами?
❓ Есть ли связь между количеством строк исходного кода и богатством функциональных и нефункциональных возможностей СУБД? Скорее да, чем нет. Хотя конечно речь не о жестком соотношении, а скорее о корреляции этих показателей.
✅ В 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 млн строк, почему бы и нет!), но при этом сохранять архитектурную внятность кода и надёжность тестов. Чтобы становиться сильнее, радовать новыми возможностями пользователей, но при этом не повторять чужих ошибок.
Для понимания: одна только подсистема RAC в Oracle "весит" 1,6 млн строк, а in-memory-подсистема - почти 2 млн. Это сопоставимо с размером последней версии "ванильного" PostgreSQL.
Да, это более чем двукратный рост по сравнению с размером кода оригинального PostgreSQL, но всё же нам есть еще куда расти.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы поддержали новый пакет HTP.
Для чего он нужен
Основные функции
· 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
Дорогие подписчики!
➡️ Продолжаем рассказывать о встроенных пакетах Digital Q.DataBase, обеспечивающих совместимость с PL/SQL-окружением Oracle.
Мы поддержали новый пакет OWA_MATCH.
Для чего он нужен
➡️ Пакет OWA_MATCH предоставляет функцию MATCH_PATTERN для проверки строк на соответствие заданным шаблонам с учётом специальных символов . Он позволяет определить, содержит ли строка недопустимые символы или соответствует ли одному из исключающих правил .
Основные возможности
· Проверка строки на наличие специальных символов из заданного списка;
· Сравнение со списком простых шаблонов (с использованием оператора LIKE);
· Сравнение со списком сложных шаблонов (с использованием регулярных выражений через OWA_PATTERN);
· Возможность отключить проверку специальных символов через параметр p_use_special_chars.
Пример использования
Мы поддержали новый пакет OWA_MATCH.
Для чего он нужен
Основные возможности
· Проверка строки на наличие специальных символов из заданного списка;
· Сравнение со списком простых шаблонов (с использованием оператора 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
Сегодня — 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
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Напоминаем: уже завтра День партнёров Диасофт!
💌 Приглашаем на третью партнёрскую конференцию, которая состоится завтра, 29 мая.
⚡️ Фокус деловой программы — искусственный интеллект в развитии ERP-решений и новые ИТ-стандарты. Эксперты продемонстрируют возможности экосистемы Digital Q, в которую ИИ уже интегрирован.
Для тех, кто следит за развитием Digital Q.DataBase
🐬 На конференции будет работать наш стенд, где можно вживую пообщаться с представителями команды разработки СУБД. Расскажем о планах развития, ответим на вопросы, обсудим сценарии использования и миграции.
🎉 К вечеру деловую программу сменит развлекательная — с лучшим трибьют-шоу АВВА в России!
Регистрация по ссылке:
https://dpd3.diasoft.ru/
До встречи офлайн!
💌 Приглашаем на третью партнёрскую конференцию, которая состоится завтра, 29 мая.
Для тех, кто следит за развитием Digital Q.DataBase
Регистрация по ссылке:
https://dpd3.diasoft.ru/
До встречи офлайн!
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы поддержали новый пакет OWA_TEXT.
Для чего он нужен
Основные возможности
· UPPER — преобразование строки в верхний регистр;
· LOWER — преобразование строки в нижний регистр;
· INITCAP — преобразование первого символа каждого слова в заглавный;
· TRIM — удаление пробелов в начале и конце строки;
· SUBSTR — извлечение подстроки из строки;
· LENGTH — определение длины строки;
· LPAD / RPAD — дополнение строки символами слева или справа до заданной длины;
· REPLACE — замена одной подстроки на другую.
Пример использования
-- Преобразование строки в верхний регистр
DECLARE
v_text VARCHAR2(100) := 'digital q.database';
BEGIN
v_text := OWA_TEXT.UPPER(v_text);
DBMS_OUTPUT.PUT_LINE(v_text); -- Результат: DIGITAL Q.DATABASE
END;
-- Удаление лишних пробелов и преобразование регистра
DECLARE
v_text VARCHAR2(100) := ' hello world ';
BEGIN
v_text := OWA_TEXT.TRIM(v_text);
v_text := OWA_TEXT.UPPER(v_text);
DBMS_OUTPUT.PUT_LINE(v_text); -- Результат: HELLO WORLD
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
В феврале 2025 года Alibaba Cloud PolarDB обновила мировой рекорд TPC-C: 2,055 млрд транзакций в минуту (tpmC). Это в 2,5 раза выше их же предыдущего достижения.
Разработчики позже признали: они могли бы показать и большие показатели по числу транзакций в минуту, если бы не просчет с емкостью дисков. По условиям теста TPC-C в котором эмулируется работа складов, каждый склад добавляет фиксированное количество данных. Именно емкость дисков просто не позволила добавить еще несколько складов, хотя по нагрузке процессоров еще оставался вполне приличный запас. Теоретически на том же «железе» можно выжать до 2,8 млрд tpmC, то есть на 36% больше текущего мирового рекорда.
https://tpc.org//tpcc/results/tpcc_results5.asp
Please open Telegram to view this post
VIEW IN TELEGRAM
tpc.org
TPC-C All Results
The Transaction Processing Performance Council (TPC) defines Transaction Processing and Database Benchmarks and delivers trusted results to the industry.
У финского программиста Монти Видениуса (создателя MySQL и MariaDB, одного из авторов MaxDB) трое детей: дочери Май и Мария и сын Макс.
Их имена он увековечил в названиях своих СУБД:
• MySQL — в честь старшей дочери Май
• MariaDB — в честь средней дочери Марии
• MaxDB — в честь сына Макса
Так что это не «моя SQL» и не «максимальная база данных», а просто любящий папа, который назвал три своих продукта в честь троих своих детей. Продал одну компанию Oracle — создал форк в честь другой дочери. Сын тоже не остался без внимания.
Вот такое семейное open-source счастье
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
✅ Добавляем ещё один кирпичик в PL/SQL-совместимость Digital Q.DataBase.
Сегодня — пакет OWA_UTIL.
Для чего он нужен
✅ Пакет OWA_UTIL предоставляет набор вспомогательных утилит для работы с веб-приложениями. Он включает функции для обработки массивов, форматирования вывода, работы с динамическим SQL и управления параметрами запросов.
Основные функции
· BIND_VARIABLES — привязка переменных в динамическом SQL;
· CELLSPRINT — форматирование вывода в HTML-таблицу;
· GET_CGI_ENV — получение значений CGI-переменных окружения;
· LISTPRINT — вывод содержимого массива;
· SHOWPAGE — вывод HTML-страницы с заголовками;
· VC_ARR — тип данных для работы с массивами переменной длины;
· TABLEPRINT — вывод данных в виде HTML-таблицы.
Пример использования
Сегодня — пакет OWA_UTIL.
Для чего он нужен
Основные функции
· BIND_VARIABLES — привязка переменных в динамическом SQL;
· CELLSPRINT — форматирование вывода в HTML-таблицу;
· GET_CGI_ENV — получение значений CGI-переменных окружения;
· LISTPRINT — вывод содержимого массива;
· SHOWPAGE — вывод HTML-страницы с заголовками;
· VC_ARR — тип данных для работы с массивами переменной длины;
· TABLEPRINT — вывод данных в виде HTML-таблицы.
Пример использования
-- Вывод содержимого массива
DECLARE
v_arr owa_util.vc_arr;
BEGIN
v_arr(1) := 'строка 1';
v_arr(2) := 'строка 2';
v_arr(3) := 'строка 3';
owa_util.listprint(v_arr);
END;
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда база данных начинает «тормозить», DBA часто превращается в детектива:
SQL-консоль, логи, мониторинг, Excel-таблицы, серверные скрипты - и всё это одновременно.
Центр управления Digital Q.DataBase решает эту проблему через единое окно управления БД:
— мониторинг и диагностика в одном интерфейсе
— поиск проблем за минуты, а не часы
— анализ блокировок, ожиданий и медленных SQL
— контроль роста данных и производительности
— централизованное управление инфраструктурой
— поддержка Digital Q.DataBase и PostgreSQL
Что особенно важно:
Please open Telegram to view this post
VIEW IN TELEGRAM
«Мониторинг должен отвечать не только на вопрос “что сломалось”, но и “почему это произошло”».
Одна из ключевых проблем эксплуатации СУБД — разрозненность инструментов:
SQL-консоли, логи, трассировки, метрики, shell-скрипты и отдельные системы мониторинга существуют сами по себе и усложняют диагностику.
Именно поэтому особенно важен подход единого центра управления, где в одном интерфейсе доступны:
— состояние экземпляров БД
— активные сессии и ожидания
— блокировки и SQL statistics
— анализ прироста данных
— диагностика производительности
— централизованный мониторинг инфраструктуры
чем быстрее инженер может локализовать узкое место, тем ниже риск деградации сервисов, простоя и каскадных проблем в бизнес-приложениях.
Хороший мониторинг — это уже не “посмотреть графики”, а полноценный инструмент оперативной диагностики и управления производительностью СУБД.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие подписчики!
➡️ Продолжаем пополнять набор встроенных пакетов Digital Q.DataBase.
Добавлен DBMS_FILE_TRANSFER.
Для чего он нужен
➡️ Пакет предназначен для копирования файлов между каталогами на сервере, а также между локальным и удалённым серверами. Работает с бинарными и текстовыми файлами через объекты DIRECTORY.
Основные функции
· COPY_FILE — копирование файла внутри сервера;
· GET_FILE — получение файла с удалённого сервера;
· PUT_FILE — отправка файла на удалённый сервер;
· RENAME_FILE — переименование файла;
· DELETE_FILE — удаление файла.
Пример использования
Добавлен DBMS_FILE_TRANSFER.
Для чего он нужен
Основные функции
· COPY_FILE — копирование файла внутри сервера;
· GET_FILE — получение файла с удалённого сервера;
· PUT_FILE — отправка файла на удалённый сервер;
· RENAME_FILE — переименование файла;
· DELETE_FILE — удаление файла.
Пример использования
BEGIN
DBMS_FILE_TRANSFER.COPY_FILE(
source_directory_object => 'SRC_DIR',
source_file_name => 'backup.dmp',
destination_directory_object => 'DEST_DIR',
destination_file_name => 'backup_copy.dmp'
);
END;
Please open Telegram to view this post
VIEW IN TELEGRAM