Хочу поделиться с вами яркими моментами с недавнего мероприятия CNews — получился отличный обмен опытом!
Digital Q.DataBase (540 баллов)
Решение от «Диасофт» уверенно заняло
Сильные стороны:
На что обратить внимание:
https://www.cnews.ru/reviews/tehnologii_subd_2025/articles/cnewsmarket_opublikoval_rejting_tehnologii?ysclid=mcxcdsmdu855869387
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
42 18 5 3
Please open Telegram to view this post
VIEW IN TELEGRAM
24 14 6 5
которые предлагает наша компания, которые доступны и на предыдущих версиях нашей СУБД.
Сервис автоматически конвертирует T-SQL в синтаксис компонента Digital Q.DataBase.
Готовое решение — под задачи высоконагруженных систем.
И СУБД для этого обновлять не потребуется.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 9 5 4
(INSERT, UPDATE, DELETE) из одной базы в другую в реальном времени.
Он используется для отказоустойчивости, масштабирования и синхронизации между системами.
Это значительно ускоряет репликацию и снижает нагрузку на систему.
Please open Telegram to view this post
VIEW IN TELEGRAM
17 8 6 3
Please open Telegram to view this post
VIEW IN TELEGRAM
8 9 5 3
SELECT item_name, quantity
FROM JSON_TABLE(:order_json, '$.items[*]'
COLUMNS (
item_name TEXT PATH '$.name',
quantity INT PATH '$.qty'
)
) AS items;
SELECT country, COUNT(*) AS event_count
FROM JSON_TABLE(user_event, '$'
COLUMNS (
country TEXT PATH '$.geo.country'
)
) AS data
GROUP BY country;
INSERT INTO payments (id, amount, currency)
SELECT *
FROM JSON_TABLE(:json_data, '$.payments[*]'
COLUMNS (
id TEXT PATH '$.payment_id',
amount NUMERIC PATH '$.sum',
currency TEXT PATH '$.curr'
)
);
SELECT *
FROM orders
WHERE json_data->'delivery'->>'status' = 'shipped';
SELECT user_id
FROM user_settings
WHERE json_config->>'theme' = 'dark';
Please open Telegram to view this post
VIEW IN TELEGRAM
6 8 8 5
С Digital Q.DataBase вы можете при желании продолжить работать в том же стиле!
Please open Telegram to view this post
VIEW IN TELEGRAM
6 8 5 5
Please open Telegram to view this post
VIEW IN TELEGRAM
5 8 5 4
Наши интегрированные интерпретаторы (часть ядра QDB!) обрабатывают запросы:
Здесь происходит:
✓ Проверка синтаксиса и семантики
✓ Частичная оптимизация запроса
✓ Формирование первоначального плана выполнения
Сформированный план поступает в ядро QDB (на базе PostgreSQL), где:
✓ Проводится дополнительная оптимизация (если требуется)
✓ Осуществляется непосредственное выполнение запроса
✓ Обеспечивается стабильная работа с данными
Please open Telegram to view this post
VIEW IN TELEGRAM
5 8 7 6
Важно:
Функционал:
Please open Telegram to view this post
VIEW IN TELEGRAM
11 8 7 6
Как работает in-memory "движок" в составе Digital Q.DataBase?
Поддерживает автоматическое перемещение информации между нодами кластера, при этом память используется весьма экономно — информация хранится только в указанном количестве копий (обычно 2–3), симметрично доступна через любую из нод, но на другие ноды перемещается всего в трёх случаях:
Наличие нескольких копий гарантирует сохранность информации при изъятии любой ноды из кластера — всё, что на ней было, будет снова восстановлено в заданном числе экземпляров на других нодах.
Реально неубиваемо!
Please open Telegram to view this post
VIEW IN TELEGRAM
5 7 7 6
Достаточно только Digital Q.DataBase, которая возьмёт на себя хранение как персистентной информации, так и временных данных в памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 6 6 5
Это позволяет кратно ускорять работу информационных систем, иногда даже в десятки раз.
Например, "горячие остатки" банковской системы в памяти.
Вместо того чтобы каждый раз собирать доступный для использования клиентом остаток по разным таблицам (остаток на счёте минус имеющиеся лимиты, блокировки, аресты), система лишь один самый первый раз рассчитывает его, а далее подвешивает в память.
Нужно обновить данные?
Они тут же обновляются и в памяти, и потому всегда остаются актуальными.
И ещё раз напомним, что для использования всего этого чуда не надо менять архитектуру системы, не надо иметь программиста-бэкендера на языке высокого уровня вроде Java, Go или C++ — достаточно того, что и так умеет обычный SQL-разработчик, которых в банке много.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 7 5 4
Где они могут храниться❓
In-memory данные (в зависимости от потребностей и решаемой задачи) могут храниться:
🟣 в пределах одной сессии;
🟣 для всех сессий конкретного пользователя;
🟣 для всех пользователей, подключённых к одной БД;
🟣 глобально в пределах сервера или кластера серверов.
Есть возможность гибкого управления доступом к этим данным.
In-memory данные (в зависимости от потребностей и решаемой задачи) могут храниться:
Есть возможность гибкого управления доступом к этим данным.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 9 8 6
Если у вас есть ресурсоёмкая хранимая процедура, выполняющая некоторый нетривиальный расчёт, которую не хочется запускать каждый раз, можно:
А можно даже фоновым процессом обеспечить их актуальность для всех пользователей.
Можно в разы ускорить работу legacy-приложения, при этом не потребуется сильной переделки архитектуры или значительного переписывания логики SQL-процедур.
Вся обработка остаётся внутри базы!
Please open Telegram to view this post
VIEW IN TELEGRAM
9 8 6 5