powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Выпустили альфу новой СУБД SoQoL
25 сообщений из 78, страница 2 из 4
Выпустили альфу новой СУБД SoQoL
    #40132550
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
booby
ответ на этот вопрос очевиден из посыла "классическая реляционная СУБД"

Нет, не очевиден. MySQL на движке MyISAM - "классическая реляционная СУБД" ...



🤦
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40132556
Фотография DenKho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
booby
ответ на этот вопрос очевиден из посыла "классическая реляционная СУБД"

Нет, не очевиден. MySQL на движке MyISAM - "классическая реляционная СУБД" и даже "дисковая", но ACID не поддерживает.


ACID в SoQoL есть. Чуть подробнее - https://soqol.ru/tpost/1fg08bflg1-est-li-acid-v-soqol
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40132851
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сокол как классическая СУБД реализует транзакции. ACID это свойства транзакций в таких СУБД. Да, полноценный ACID.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40133236
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko
День добрый Ролг Хупин,

> Т.е. это типа "росийская ОС!" (линукс), "отечетсвенная СУБД" (PostgreSQL) и т.д. т.е. важно, чтобы были исходные коды, чтобы можно было исправить название на скреповое.

Читайте внимательно!

Сокол это полностью наша разработка, более того это исследовательская разработка с чистого листа, которая сейчас на стадии трансформации в продукт, разработка ведется нашей компанией собственными силами, никакого государственного участия!
....

Значит надо аккуратнее участвовать в пиар компаниях )))

Впервые о СУБД Сокол услышал из новостей об Элбрусе, и там это точно называли клоном PostgreSQL.

akorotchenko

СУБД ЛИНТЕР - наша разработка, ведем ее с 1990-го года. Одна из версий значений названия - "лучше Интериала". Так называлась мобильная СУБД, которая разрабатывалась этим же коллективом разработчиков в 80-е. Сейчас нами поддерживается два продукта - ЛИНТЕР БАСТИОН (сертифицирован ФСТЭК и Минобр) и ЛИНТЕР СТАНДАРТ. Поэтому и ЛИНТЕР СОКОЛ, хотя кроме названия эти две СУБД друг с другом никак не связаны.

Опять таки, аккуратнее надо франшизы продавать ))). В последнее время о классическом Линтере ничего слышно не было, в новостях в основном ЛИНТЕР BC.

А чем одна российская субд отличается от другой российской субд с таким же названием - не все разбираются.

===

Посмотрел на сайт. Ни нормального технического описания (хотя бы с объяснениями, что Линтер Сокол, это не Линтер BC), ни ссылки на документацию - не увидел.

Для рекламы (или отчетности) перед топами сайт может и подойдет, но топы сами ничего не скачивают и не тестируют. Как мне кажется, любой технический специалист сначала пролестает документацию, прежде чем будет качать инсталятор и нажимать next, next, next...

Не скачивал, не смотрел, но мнение имею.

IMHO
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40133529
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko
> ничего персонального, просто, закрадывается смутное сомнение, что при таком уровне грамотности такой же уровень и этого т.н. "СУБД"

Сомневаться нужно всегда, поддерживаю, особенно когда пытаются выкатить что-то такое прям исключительное.
Любая "крутая" СУБД может показать заурядные результаты на определенном типе нагрузке вполне по объективным причинам. Просто заявления мы в 5-10 раз быстрее не относятся глобально к любому типу нагрузки .

И любая СУБД это компромисс, у каждой свои сильные и слабые стороны.
Выбирать пользователю.


Перечитал два раза предложение - это набор не связанных слов, переведите на доступный, если не заняты разработкой такой торпеды, которая потопит неуклюжих монстров.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40133859
Фотография DenKho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Значит надо аккуратнее участвовать в пиар компаниях )))

Впервые о СУБД Сокол услышал из новостей об Эльбрусе, и там это точно называли клоном PostgreSQL.


Странно, кто такое мог сказать? Можете почитать https://www.cnews.ru/news/top/2021-12-17_rossiyane_sozdali_subdkotoraya или посмотреть видео на сайте МЦСТ с конференции. А слухам верить не стоит. Можете запросить SoQoL и оценить сколько там PG, это не сложно - заполнить форму на сайте. Мы отправляем дистрибутив с документацией для всех желающих поучаствовать в тестировании.

Да и чтобы убедиться, что СУБД ЛИНТЕР не PG достаточно скачать демо с сайта https://linter.ru/ru/download/.

Про поделки и проделки ВНИИНС писать не буду. У них на сайте все написано, или почитайте в Википедии https://ru.wikipedia.org/wiki/Линтер
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Выпустили альфу новой СУБД SoQoL
    #40141823
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  06.02.2022, 11:09
[игнорируется]
Заимствование какого либо кода НЕТ, ну совсем нет, ни одной строчки, разве что буквы общие, пишем на С!
Здравствуйте.

Вот если взять бинарники вашей СУБД и просто посмотреть символы функций внутри них, то очень много выдает названий с префиксом LLVM.
Увидеть это легко, даже просто просмотром бинарника по F3 в MC, или nm.
(на скрине вывод команды nm -g vsql_server | grep -w T | grep LLVM)
Складывается устойчивое ощущение, что внутри своей СУБД вы используете движок LLVM для выполнения своего байткода.
Таким образом:
1. вы используете импортную компоненту, без которой СУБД работать не может. и ее легко подвести под санкции. и саму эту компоненту вы вряд ли контролируете на уровне собственного форка.
2. возможно из этого движка LLVM вы иcпользуете JIT. я видел критику движков JIT в том, что они могут вносить недетерминированное поведение в исполнении кода, т.е. время выполнения одинакового кода может быть различным, а это не приемлемо для СУБД. (тем более если заявляется о ее нацеленности на выдающуюся производительность).
SOQOL_LLVM.JPG
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142695
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 

Да используем LLVM для JIT. JIT по умолчанию отключен, доступен опционально, у пользователя есть возможность указать JIT-трансляцию для любого запроса или не указать. Ничего плохого в этом нет, на вкус и цвет товарищей нет.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142697
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  18.02.2026, 17:50
[игнорируется]
dailyadm [игнорируется] 

Да используем LLVM для JIT. JIT по умолчанию отключен, доступен опционально, у пользователя есть возможность указать JIT-трансляцию для любого запроса или не указать. Ничего плохого в этом нет, на вкус и цвет товарищей нет.
akorotchenko  18.02.2026, 17:50
[игнорируется]
Да используем LLVM для JIT. JIT по умолчанию отключен, доступен опционально, у пользователя есть возможность указать JIT-трансляцию для любого запроса или не указать. Ничего плохого в этом нет, на вкус и цвет товарищей нет.
Что-то здесь не то.

# запускаю базу
# база при запуске создала конфиг с дефолтными параметрами

$./vsql_server
Warning 2026-02-18 19:49:30.368129: Cannot open "soqol_config.yml" configuration file, generating configuration file with default parameters.
Info 2026-02-18 19:49:30.368481: Service data directory: '/agenda/soqol/soqol/bin'
Info 2026-02-18 19:49:30.368692: Amount of service memory auto-configured, edit config file for better value.
Info 2026-02-18 19:49:31.906322: Assigned memory is locked successfully
Info 2026-02-18 19:49:31.933109: SYSTEM INFORMATION:
Info 2026-02-18 19:49:31.935644: vm memory size: 2048 MB
Info 2026-02-18 19:49:31.935733: run_rq_count: 8 numa_total: 1 lcpu_total: 8
Info 2026-02-18 19:49:31.935755: numa0 logic cores: 8
Info 2026-02-18 19:49:31.935775: LCPU MASKS
Info 2026-02-18 19:49:31.935812: numa: 1 core: 1 lcpu: 1
Info 2026-02-18 19:49:31.935834: numa: 1 core: 2 lcpu: 2
Info 2026-02-18 19:49:31.935854: numa: 1 core: 3 lcpu: 3
Info 2026-02-18 19:49:31.935872: numa: 1 core: 4 lcpu: 4
Info 2026-02-18 19:49:31.935885: numa: 1 core: 5 lcpu: 5
Info 2026-02-18 19:49:31.935906: numa: 1 core: 6 lcpu: 6
Info 2026-02-18 19:49:31.935919: numa: 1 core: 7 lcpu: 7
Info 2026-02-18 19:49:31.935932: numa: 1 core: 8 lcpu: 8
Info 2026-02-18 19:49:31.935954: NUMA CONTAINS
Info 2026-02-18 19:49:31.935965: numa0 lcpu_run: 8
Info 2026-02-18 19:49:31.935980: vsql_server version = 3.2.0-night260130
Info 2026-02-18 19:49:42.724547: Session memory: 2048 KB
Info 2026-02-18 19:49:42.724891: vsql_server is ready to receive commands

# стоплю базу
$ ^C
Info 2026-02-18 19:49:45.380770: shutdown started
Info 2026-02-18 19:49:46.190059: vsql_server shutdowned

# вижу дефолтный подозрительный параметр

$ grep "jit" soqol_config.yml
jit_memory: 128MB

# меняю параметр на ноль (ну раз он не нужен по дефолту)

$ sed -i 's/jit_memory: 128MB/jit_memory: 0MB/g' soqol_config.yml

# проверяю

$ grep "jit" soqol_config.yml
jit_memory: 0MB

#запускаю базу

$./vsql_server
Error 2026-02-18 19:51:23.991233: SOQ-23310: option service.jit_memory value out of bounds
Error 2026-02-18 19:51:23.991610: Error -23310 happened while "soqol_config.yml" configuration file was processed.
Panic 2026-02-18 19:51:23.992056:/builds/linter/via/vsql_server/src/service.c:716: service_init returned error -23310
Aborted (core dumped) ./vsql_server

Странно, что нельзя ноль поставить.
А как джит включается в конфиге или для конкретного запроса?
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142698
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Можете ли дать полный список функционала в базе Сокол, который реализован через LLVM? Если полностью убрать LLVM из базы, то какой функционал пропадет в базе?

2.
akorotchenko  18.02.2026, 17:50
[игнорируется]
dailyadm [игнорируется] 
Ничего плохого в этом нет, на вкус и цвет товарищей нет.
LLVM - это не дело вкуса, а дело официально заявленных компонент в базе Сокол. На текущий момент Вы поставляете бинарники базы с этой крупной компонентой, эта компонента должна быть заявлена в документации и в реестре ПО Минцифры.
Вместо этого Вы пишите ( https://reestr.digital.gov.ru/reestr/1123306/ ):
"Система управления базами данных SoQoL полностью разработана специалистами компании РЕЛЭКС. СУБД не основана на продуктах с отрытым исходным кодом и не использует стороннее программное обеспечение."
Как минимум это выглядит как введение в заблуждение регулирующих органов, инвесторов и пользователей. Вы предоставили в реестр ПО Минцифры недостоверные сведения.

3. Вот в документации Сокол написано:
"система основана на дисковом хранилище вида B-Tree".

Я запросил ИИ дать список деградаций для такой архитектуры. Ответ от ИИ:

"Специфика деградации классического B-tree (где данные хранятся и в листьях, и во внутренних узлах) заключается в том, что оно более «хрупкое» при росте объема данных по сравнению с B+tree.
Вот список конкретных видов деградации:
1. Падение коэффициента ветвления (Fan-out)
Это фундаментальная проблема B-tree при хранении строк.
Суть: Поскольку данные строк (payload) лежат во внутренних узлах, для навигационных ключей остается мало места.
Результат: Вместо того чтобы указывать на 100–200 дочерних узлов, узел указывает всего на 5–10. Дерево становится аномально высоким. Каждое чтение требует на 2–3 обращения к диску больше, чем в B+tree.
2. Деградация кэширования (CPU Cache & RAM)
Суть: В B+tree верхние уровни (только ключи) компактны и почти всегда лежат в L1/L2 кэше процессора или в RAM.
Результат: В B-tree внутренние узлы «жирные» из-за данных строк. Кэш забивается полезной нагрузкой, которая вам в данный момент не нужна (вы просто проходите мимо этого узла к другому). Эффективность кэширования падает в разы.
3. Нестабильное время ответа (Latency Jitter)
Суть: В B+tree путь до любой строки всегда одинаков (высота дерева
). В B-tree строка может быть найдена на первом уровне, а может на десятом.
Результат: Чем больше дерево фрагментируется, тем сильнее «скачет» время выполнения запросов. Предсказуемость производительности теряется.
4. Тяжелое расщепление узлов (Costly Page Splits)
Суть: Когда страница переполняется, её нужно делить.
Результат: В B-tree расщепление внутреннего узла — это сложная операция, которая требует перемещения не только ключей, но и тяжелых данных строк. Это блокирует бóльшие поддеревья и вызывает резкие «затыки» (stalls) при записи.
5. Катастрофическая деградация Range Scans
Это самая известная «болячка» B-tree.
Суть: В B+tree вы нашли начало диапазона в листе и просто идете вбок по списку. В B-tree вам нужно постоянно делать рекурсивный подъем к родителю и спуск к соседу.
Результат: С ростом объема данных количество переходов между уровнями растет экспоненциально. Поиск диапазона из 1000 строк превращается в тысячи операций логического чтения вместо одной-двух.
6. Проблема «пустых пятен» при удалениях
Суть: Удаление из середины B-tree сложнее, чем из листа. Часто оно требует перемещения ключа из листового узла вверх на место удаленного.
Результат: Возникает сложная фрагментация. В дереве появляются «дыры», которые трудно переиспользовать новыми данными, если их размер чуть больше, чем был у удаленных. Дерево начинает занимать на диске гораздо больше места, чем реально весят данные."

В чем смысл разработки такой СУБД в 2026г. ?
Oracle и Posgresql хранят строки в неупорядоченном виде.
Производительность в тестах, на которые Вы все время акцентируете внимание - это потемкинские деревни, после нескольких недель работы база будет "наедаться" всеми этими деградациями, и все эти результаты тестов могут обнулится.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142700
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 

> $ grep "jit" soqol_config.yml
> jit_memory: 0MB
>
> #запускаю базу
>
> $./vsql_server
> Error 2026-02-18 19:51:23.991233: SOQ-23310: option service.jit_memory value out of bounds
> Error 2026-02-18 19:51:23.991610: Error -23310 happened while "soqol_config.yml" configuration file was processed.
> Panic 2026-02-18 19:51:23.992056:/builds/linter/via/vsql_server/src/service.c:716: service_init returned error -23310
> Aborted (core dumped) ./vsql_server
>
> Странно, что нельзя ноль поставить.

Ну вот такие требуются параметры, проверка валидности действует так.
Внутренние словарные запросы в ядре транслируются с jit.
Можно сделать чтоб и с нулем работало, вы первый который такого захотел.

> А как джит включается в конфиге или для конкретного запроса?

Вот так
Код: SQL
1.
select /*+ JIT_CODEGEN */ ....
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142701
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
LLVM - это не дело вкуса, а дело официально заявленных компонент в базе Сокол. На текущий момент Вы поставляете бинарники базы с этой крупной компонентой, эта компонента должна быть заявлена в документации и в реестре ПО Минцифры.
Вместо этого Вы пишите ( https://reestr.digital.gov.ru/reestr/1123306/ ):
"Система управления базами данных SoQoL полностью разработана специалистами компании РЕЛЭКС. СУБД не основана на продуктах с отрытым исходным кодом и не использует стороннее программное обеспечение."
Как минимум это выглядит как введение в заблуждение регулирующих органов, инвесторов и пользователей. Вы предоставили в реестр ПО Минцифры недостоверные сведения.
Если нужна какая то строгость во всех используемых компонентов, давайте тогда уж подождем сертификации, задекларируем все вплоть до используемых syscall'ов, квалифицированные товарищи все проверят и удостоверят. В реестре это не требуется.

Если имеется интерес какие библиотеки используются, то как минимум во внешних компонентах ядра можно увидеть:
- libfabric
- llvm/mir
- openssl
- libc

Клиентские библиотеки могут иметь свои зависимости, например, unixodbc, icu.

Если интересно насколько мы действительно завязана на указанные библиотеки, то можно сказать следующее:
- libc - можно перейти на собственные обертки для используемых syscall'ов, частично уже такие обертки уже имеются
- openssl - стандартное средство, явных желаний избавляться от него нет
- llvm/mir - о llvm выше сказано, пробовали mir, не увидели явного преимущества, остались на llvm, в перспективе хочется сделать собственный кодогенератор с учетом текущего опыта
- libfabric - не используется в релизе, но пробуем, хочется использовать нативные интерфейсы для современных сетевых устройств

Конечно используем компилятор clang, re2c, bison, gmake и много чего еще в процессе сборки и тестирования, не думаю что весь список нужно приводить. И конечно мы не писали ядро Linux ;)
Цитата 
[игнорируется]
3. Вот в документации Сокол написано:
"система основана на дисковом хранилище вида B-Tree".
В данном случае B-Tree это общее академическое название без уточнения B+ или B* или еще как.
На самом деле любая реальная реализация имеет свою специфику выходящую за пределы академической терминологии.
Безусловно и наша реализация такая не совсем простая, тем более, если учесть что туда lockfree живет.
Цитата 
[игнорируется]
В чем смысл разработки такой СУБД в 2026г. ?
Oracle и Posgresql хранят строки в неупорядоченном виде.
В Oracle имеются index organized table, в MS clustered index, в MYSQL innodb движок также использует
подобную организацию данных. Каждое представление данных имеет свои преимущества и недостатки.
На данном этапе Сокол поддерживает только index organized table, но это не означает, что ничего более и не будет.
Цитата 
[игнорируется]
Производительность в тестах, на которые Вы все время акцентируете внимание - это потемкинские деревни, после нескольких недель работы база будет "наедаться" всеми этими деградациями, и все эти результаты тестов могут обнулится.
Каждый имеет свое мнение. Практика - это единственный критерий, который может рассудить.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142702
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  19.02.2026, 09:51
[игнорируется]
dailyadm [игнорируется] 

> $ grep "jit" soqol_config.yml
> jit_memory: 0MB
>
> #запускаю базу
>
> $./vsql_server
> Error 2026-02-18 19:51:23.991233: SOQ-23310: option service.jit_memory value out of bounds
> Error 2026-02-18 19:51:23.991610: Error -23310 happened while "soqol_config.yml" configuration file was processed.
> Panic 2026-02-18 19:51:23.992056:/builds/linter/via/vsql_server/src/service.c:716: service_init returned error -23310
> Aborted (core dumped) ./vsql_server
>
> Странно, что нельзя ноль поставить.

Ну вот такие требуются параметры, проверка валидности действует так.
Внутренние словарные запросы в ядре транслируются с jit.
Можно сделать чтоб и с нулем работало, вы первый который такого захотел.

> А как джит включается в конфиге или для конкретного запроса?

Вот так
Код: SQL
1.
select /*+ JIT_CODEGEN */ ....
А вот и подтверждение моей информации про JIT.

>> я видел критику движков JIT в том, что они могут вносить недетерминированное поведение в исполнении кода, т.е. время выполнения одинакового >> кода может быть различным, а это не приемлемо для СУБД. (тем более если заявляется о ее нацеленности на выдающуюся производительность).

$ vsql_console -h SOQOL:SOQOL@localhost
vsql_console version = 3.2.0-night260130
vsql> select /*+ JIT_CODEGEN */ 1+1;

1+1
----------
2
Query OK, 1 row processed <76 msec>

vsql> select /*+ JIT_CODEGEN */ 1+1;

1+1
----------
2
Query OK, 1 row processed <0 msec>

vsql> select /*+ JIT_CODEGEN */ 1+1;

1+1
----------
2
Query OK, 1 row processed <0 msec>

Здесь я запускаю базу и потом в клиенте делаю последовательно 3 одинаковых запроса. Делаю через JIT. Время первого запроса значительно больше других. Вот это и есть недетерминированность (то, что я и хотел увидеть). Но ИИ говорит, что на больших объемах данных JIT может дать прирост производительности.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142704
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Делаю через JIT. Время первого запроса значительно больше других.
На первом запросе происходит трансляция запроса в виртуальный код и дополнительно в нативный код, если указана трансляция в JIT.
Повторное исполнения запроса используется готовый код из кэша.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142705
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  19.02.2026, 10:42
[игнорируется]
Если нужна какая то строгость во всех используемых компонентов, давайте тогда уж подождем сертификации, задекларируем все вплоть до используемых syscall'ов, квалифицированные товарищи все проверят и удостоверят. В реестре это не требуется
В реестре есть требование о предоставлении достоверных сведений (при отправке заявления Вы ставите об этом галочку), и есть ответственность за предоставление недостоверных сведений.
И речь идет не про компиляторы, а про то, что бинарники Сокол имеют в своем составе статически слинкованные крупные (десятки мегабайт) зависимости. Но при этом заявляется как конкурентное преимущество: "СУБД не основана на продуктах с отрытым исходным кодом и не использует стороннее программное обеспечение". И сейчас Вы сами признаете данный факт.
akorotchenko  19.02.2026, 10:42
[игнорируется]
В Oracle имеются index organized table, в MS clustered index, в MYSQL innodb движок также использует
подобную организацию данных.
Для Оракл основным видом таблиц является тип таблица-куча. Другие же типы (IoT) на практике используются крайне редко.
Из знакомых мне СУБД к верхнему технологическому эшелону я бы отнес прежде всего базы с таблицами-кучей: Oracle, Postgresql, Altibase.
Все остальное - это либо нижний, либо специфично-нишевые решения, потому что все с кучей проблем по возможным деградациям.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142706
Soft54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Успехов в работе над проектом!!!
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142707
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko [игнорируется] 

По поводу недетерминированности в JIT.
Дело в том что в LLVM нет ленивой трансляции как в JAVA, код генерируется весь и сразу, отличия от Ahead Of Time трансляции нет (то что происходит в clang). Разница только в том, что код находится только в памяти, он не упаковывается в ELF(или прочий нативный для текущей ОС) контейнер и не кладется в файл.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142709
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  19.02.2026, 11:27
[игнорируется]
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Делаю через JIT. Время первого запроса значительно больше других.
На первом запросе происходит трансляция запроса в виртуальный код и дополнительно в нативный код, если указана трансляция в JIT.
Повторное исполнения запроса используется готовый код из кэша.
Я понимаю, что в первом случае идет компиляция, а во втором и третьем - выполнение готового.
А должно ли так быть? Удобно ли это для прикладной системы, для пользователей?

/***************************/
/***************************/
/***************************/
А вот еще наблюдение:

1-я сессия:

# запуск базы
Код: BASH
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
$ ./vsql_server
Info 2026-02-19 11:50:33.306282: Service data directory: '/agenda/soqol/soqol/bin'
Info 2026-02-19 11:50:33.306557: Amount of service memory auto-configured, edit config file for better value.
Info 2026-02-19 11:50:37.300549: Assigned memory is locked successfully
Info 2026-02-19 11:50:37.321649: SYSTEM INFORMATION:
Info 2026-02-19 11:50:37.321751: vm memory size: 2048 MB
Info 2026-02-19 11:50:37.321766: run_rq_count: 8 numa_total: 1 lcpu_total: 8
Info 2026-02-19 11:50:37.321805: numa0 logic cores: 8
Info 2026-02-19 11:50:37.321827: LCPU MASKS
Info 2026-02-19 11:50:37.321849: numa: 1 core: 1 lcpu: 1
Info 2026-02-19 11:50:37.321869: numa: 1 core: 2 lcpu: 2
Info 2026-02-19 11:50:37.321886: numa: 1 core: 3 lcpu: 3
Info 2026-02-19 11:50:37.321899: numa: 1 core: 4 lcpu: 4
Info 2026-02-19 11:50:37.321919: numa: 1 core: 5 lcpu: 5
Info 2026-02-19 11:50:37.321938: numa: 1 core: 6 lcpu: 6
Info 2026-02-19 11:50:37.321956: numa: 1 core: 7 lcpu: 7
Info 2026-02-19 11:50:37.321973: numa: 1 core: 8 lcpu: 8
Info 2026-02-19 11:50:37.321991: NUMA CONTAINS
Info 2026-02-19 11:50:37.322009: numa0 lcpu_run: 8
Info 2026-02-19 11:50:37.322051: vsql_server version = 3.2.0-night260130
Info 2026-02-19 11:50:37.501969: Startup 'AUXDB' ...
Info 2026-02-19 11:50:37.755326: INFO: found checkpoint at 419520
Info 2026-02-19 11:50:37.756491: AUXDB: Start recovering
Info 2026-02-19 11:50:37.756696: AUXDB: Recovering storage:
..0000000000000421888
Info 2026-02-19 11:50:37.757297: AUXDB: Replay dblog:
..0000000000000421888
Info 2026-02-19 11:50:37.757358: AUXDB: Rollback uncommitted transactions:
..0000000000000001808
Info 2026-02-19 11:50:37.757390: AUXDB: Create checkpoint
Info 2026-02-19 11:50:37.802394: AUXDB: End recovering
Info 2026-02-19 11:50:51.567490: Startup OK
Info 2026-02-19 11:50:51.568022: Session memory: 2048 KB
Info 2026-02-19 11:50:51.568285: vsql_server is ready to receive commands
2-я сессия:

# запуск ltrace
Код: BASH
1.
$ ltrace -C -x "LLVM*" -p $(pidof vsql_server)
3-сессия

# запросы в клиенте базы без JIT и с JIT
Код: BASH
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
vsql_console -h SOQOL:SOQOL@localhost
vsql_console version = 3.2.0-night260130
vsql> select 1+1;

 1+1
----------
 2
Query OK, 1 row processed <3 msec>

vsql> select /*+ JIT_CODEGEN */ 1+1;

 1+1
----------
 2
Query OK, 1 row processed <237229 msec>
Первый запрос отработал мгновенно. Второй - полностью висит и не выполняется (пока работает ltrace во второй сессии). После киляния ltrace запрос с JIT отработал и написал Query OK, 1 row processed <237229 msec>.

Давайте внедрим это где-нибудь в проде. [:smile]
А вот например в Вашей компании РЕЛЭКС.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142710
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
В реестре есть требование о предоставлении достоверных сведений (при отправке заявления Вы ставите об этом галочку), и есть ответственность за предоставление недостоверных сведений.
И речь идет не про компиляторы, а про то, что бинарники Сокол имеют в своем составе статически слинкованные крупные (десятки мегабайт) зависимости. Но при этом заявляется как конкурентное преимущество: "СУБД не основана на продуктах с отрытым исходным кодом и не использует стороннее программное обеспечение". И сейчас Вы сами признаете данный факт.
Никуда не делось это "конкурентное преимущество". Код СУБД собственный.
- LLVM - это опция, она не формирует СУБД и не является обязательным компонентом в архитектуре.
- Прочие указанные библиотеки касаются транспортных аспектов, но не архитектуры СУБД.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142711
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Для Оракл основным видом таблиц является тип таблица-куча. Другие же типы (IoT) на практике используются крайне редко.
Из знакомых мне СУБД к верхнему технологическому эшелону я бы отнес прежде всего базы с таблицами-кучей: Oracle, Postgresql, Altibase.
Все остальное - это либо нижний, либо специфично-нишевые решения, потому что все с кучей проблем по возможным деградациям.
Нет однозначного преимущества IOT против HEAP, как и наоборот. Исторически и по умолчанию таблицы HEAP хранилища, это так.
Оставим пользователю право его выбора
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142712
dailyadm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akorotchenko  19.02.2026, 12:19
[игнорируется]
- LLVM - это опция, она не формирует СУБД и не является обязательным компонентом в архитектуре.
Тогда прошу пояснить какой функционал в базе выполняется через LLVM?
Сейчас получается, что выполнение jit-запросов. Есть еще что-то к этому?
Компиляция и выполнение процедур/функций/триггеров?
Есть ли возможность получить бинарную сборку Сокол без LLVM? (какой функционал СУБД тогда не будет работать по сравнению с сборкой где есть LLVM).
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142715
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Тогда прошу пояснить какой функционал в базе выполняется через LLVM?
Сейчас получается, что выполнение jit-запросов. Есть еще что-то к этому?
Компиляция и выполнение процедур/функций/триггеров?
LLVM может быть использован для генерации кода процедур, функций, SQL (триггеров нет, но как появятся тоже будет).
Цитата 
[игнорируется]
Есть ли возможность получить бинарную сборку Сокол без LLVM? (какой функционал СУБД тогда не будет работать по сравнению с сборкой где есть LLVM).
На данный момент таких запросов не было от клиентов, потенциально можно сделать подобную сборку, функциональность будет полной, кроме JIT трансляции. LLVM сейчас включен для запросов внутри ядра, опции на эту тему нет, но можно сделать.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142716
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Первый запрос отработал мгновенно. Второй - полностью висит и не выполняется (пока работает ltrace во второй сессии). После киляния ltrace запрос с JIT отработал и написал Query OK, 1 row processed <237229 msec>.

Давайте внедрим это где-нибудь в проде. [:smile]
А вот например в Вашей компании РЕЛЭКС.
Ценное предложение, давай включим ltrace еще для чего нибудь и на чем нибудь поставим это в проде.
Не понятно, что вы ищите, какую цель вы преследуете в вашем исследовании?
Может быть я вам сразу дам ответ :) на ваш вопрос, который не задан еще?
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142717
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Я понимаю, что в первом случае идет компиляция, а во втором и третьем - выполнение готового.
А должно ли так быть? Удобно ли это для прикладной системы, для пользователей?
Кэширование кода запросов - это нормально, так делают все правильные СУБД.
Стратегии могут отличаться.
...
Рейтинг: 0 / 0
Выпустили альфу новой СУБД SoQoL
    #40142718
akorotchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dailyadm [игнорируется] 
Цитата 
[игнорируется]
Первый запрос отработал мгновенно. Второй - полностью висит и не выполняется (пока работает ltrace во второй сессии). После киляния ltrace запрос с JIT отработал и написал Query OK, 1 row processed <237229 msec>.
Писал в одном из ответов, что сейчас внутри ядра используется JIT для внутренних запросов по обслуживанию словаря/кэша.
Нет сейчас публичной опции по отключению этого. Сделать можно, только не понятно для чего.
Если вам это важно для вашего проекта, приходите к нашим продажникам обсудим зачем и почему.
Разработка всего требует времени и денег, нужны аргументы под хотелки.
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 2 из 4
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Выпустили альфу новой СУБД SoQoL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]