СУБД SoQoL
994 subscribers
39 photos
57 links
Разрабатываем транзакционную СУБД с производительностью кратно выше ведущих систем для рынков России и за рубежом

https://soqol.ru

АО НПП "РЕЛЭКС"
Download Telegram
Дорогие подписчики телеграм-канала СУБД SoQoL!

Приближается весёлый праздник – Новый Год.

Желаем, чтобы 2024-й стал для вас годом исполнения самых смелых целей, реализации заветных мечтаний!

Пусть ваши проекты процветают, а каждый день приносит новые возможности и достижения!

Пусть Новый год принесёт вам много радости, счастья и удачи, а команда разработчиков СУБД SoQoL всегда будет рядом!

Спасибо вам за вашу верность и поддержку – мы ценим каждого! Желаем вам яркого и радостного Нового Года!

С наступающим праздником!
Всем привет!

В начале года хотим немного рассказать о том, как в Воронеже появились первые реляционные СУБД и наша компания. Это будет серия постов, в которых расскажем о продуктах, над которыми работал коллектив нашей компании до ее создания в 1990 г. и после до появления SoQoL

Все началось давно…

Где-то в конце 1970-х годов специальное конструкторско-технологическое бюро «Системных программных средств» получает заказ от правительства на разработку реляционной СУБД. В Воронеже тогда была хорошая математическая школа при Воронежском государственном университете. Кроме хорошей математической базы у команды была уверенность в возможность разработки собственной СУБД.

В 1983 году выходит СУБД БАРС — базовая система для создания и ведения в реальном масштабе времени локальных баз данных реляционного типа.

В СУБД БАРС пользователи могли параллельно осуществлять взаимодействие с несколькими локальными базами данных в соответствии с реляционной моделью. Данные внутри таблиц могли быть символьного, целого и вещественного типов. Была также предусмотрена возможность работы со строками символов различной длины. Система поддерживала многотомную структуру хранения, при которой БД может храниться на нескольких физических томах (например, магнитных дисках).

Доступ к данным СУБД БАРС осуществлялся в диалоговом режиме с помощью специального непроцедурного языка манипулирования данными ЯНОТ. Запросы на языке ЯНОТ можно было включать в исходный код пользовательской программы, написанной на Макроассемблере, Фортране или Паскале. Для их обработки имелись предтрасляторы.

Пользователи СУБД могли одновременно работать с нескольких терминалов независимо друг от друга.

Для работы с СУБД БАРС требовались процессоры СМ-1420 или СМ-4, оперативная память минимум 56Кбайт (тогда это чаще называли как «28 Кслов»). СУБД функционировала в операционных системах РАФОС и РАФОС-2.

БАРС использовали в:
– АСУ различного назначения;
– системах делопроизводства;
– информационно-поисковых системах.

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

Продолжение следует...
Привет!

Продолжаем наше историческое отступление о том, как в Воронеже разрабатывали реляционные СУБД.

Следующая СУБД, после озвученных здесь, была разработана в СКТБ «Системпрограмм» к 1986 году. Назвали ее ИНТЕРЕАЛ (от «интерфейс реляционный»). В отличие от БАРС это уже было кроссплатформенное решение или, как тогда называли, мобильная СУБД. Ее особенность заключалась в возможности работы на ряде программно-аппаратных платформ: Электроника-82, Электроника-85, управляющие модули на базе Intel 8086, вычислительные комплексы на базе СМ-1420, СМ-1702, СМ-1810, СМ-1820 и их прототипы семейства VAX. Кстати, на воронежском заводе «Процессор» тогда выпускались компьютеры Электроника-85.

В ИНТЕРЕАЛ были реализованы следующие технические решения:
– CALL-интерфейс;
– процессор операций с битовыми векторами;
– аппарат квантования времени исполнения запросов;
– диспетчеризация внутрисистемных очередей и ресурсов.

СУБД обеспечивала многотерминальный и многозадачный доступ к базе данных.

Манипулирование данными выполнялось с помощью непроцедурного языка ИНТТЕРМ, основанного на конструкциях языка QUEL. Присутствовал табличный экранный язык ИНТТАБ и процедурный язык командных файлов ИНТКОМ, который позволял создавать на основе БД прикладные системы.

ИНТЕРЕАЛ использовали в:
– информационно-поисковых системах,
– системах управления технологическими процессами, производствами и управленческой деятельностью.

К концу 1980-х годов финансирование системных разработок в стране практически прекращается. Дальнейшие работы по развитию воронежских СУБД в рамках государственного предприятия не представляются возможными.

На этом история воронежских СУБД могла закончиться, но...

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

Продолжение следует...
Вы вероятно заметили, что у нас небольшое затишье с постами. И это неспроста — все силы уходят на подготовку к первому релизу SoQoL.

А мы тем временем продолжим наше небольшое отступление.

Это третий и последний пост, который мы посвящаем краткой истории реляционных СУБД, разработанных нашей компанией в Воронеже.

Мы закончили на том, что в 1990 году появляется Научно-производственное предприятие «Реляционные экспертные системы» или сокращенно РЕЛЭКС. В стенах новой компании стартует работа над системой, которая должна стать лучше СУБД ИНТЕРЕАЛ. (Обратили внимание на Лучше ИНТЕРеал? ) Ее пишут на Turbo Pascal под компьютерные платформы VAX и PDP. Так появляется первая версия российской СУБД ЛИНТЕР.

Важным толчком к развитию ЛИНТЕР стал выход на зарубежный рынок и первые заказы из стран Северной Америки. СУБД полностью переписывается на языке Си, внедряется поддержка стандарта SQL. К 1994 году ЛИНТЕР уже поддерживает работу в Unix-системах реального времени USIX и OS-9.

В 1995 году на базе ЛИНТЕР по заказу Главного управления по борьбе с организованной преступностью МВД России РЕЛЭКС разрабатывает информационно-аналитическую систему АСКРИН. В следующем году выходит новый продукт с ЛИНТЕР — ИАС «Невод».

В 1996 году ЛИНТЕР получает сертификат Государственной комиссии при Президенте РФ на соответствие системы второму классу защиты информации от несанкционированного доступа.

В 2001 году ЛИНТЕР — это лучший отечественный программный продукт по версии журнала «Компьютер Пресс» (кто такой помнит и читал?). А в 2002 году компания выводит СУБД на японский рынок, где система до сих пор применяется в IoT.

РЕЛЭКС разрабатывала и другие варианты средств для работы с данными — Linter Micro, Linter Embedded, Semantic DB, Линтер-ВС (1.0), ББДРВ, Линтер-АСТИ. Но ключевым продуктом всегда оставалось семейство СУБД ЛИНТЕР.

К 2010 ЛИНТЕР - это кроссплатформенная система, работающая на всех основных аппаратных и программных платформах.

В 2016 году, в рамках исследовательских работ, появляется идея о создании нового ядра СУБД, в основу которого будут заложены современные подходы к разработке ПО с учетом максимально эффективного использования аппаратных ресурсов. Так появляется проект, с кодовым именем VIA (да, «через» это название мы должны были прийти к новому и тогда еще неизвестному). Через несколько лет появляется платформа, на основе которой разрабатывается СУБД SoQoL. И это уже новый виток истории в развитии продуктов семейства ЛИНТЕР.
Поздравляем всех защитников данных!
Ура! Релиз СУБД SoQoL!

Знаем, что многие из вас этого очень ждали. И мы очень старались сделать это в феврале. И сделали. Ряд внутренних процедур не позволил нам сказать об этом раньше, но сейчас мы готовы об этом сообщить.

Первый релиз СУБД SoQoL теперь в вашем распоряжении!

Первый релиз! Что это значит?

Это значит, что впереди новый путь, который нам предстоит пройти вместе. Мы знаем, что еще много чего не сделали. И знаем, что есть то, о чём мы ещё не знаем и не сделали 🙂

Ну и немного информации для тех, кто мало знает о СУБД SoQoL.

SoQoL — это инновационная российская СУБД, созданная с нуля на основе новейших достижений, потребностей рынка, глубоких научных знаний и богатого опыта команды компании РЕЛЭКС в области разработки как системного, так и прикладного программного обеспечения.

Архитектура СУБД SoQoL отличается от всех ранее известных. Она основана на синтезе современных неблокирующих подходов обработки данных в памяти и работе с данными на внешних носителях, эффективном использовании кэша и адаптивности системы исполнения запросов.

СУБД SoQoL не имеет ограничений специализированных СУБД и:
· работает с большими дисковыми массивами данных;
· реализует все требования ACID без исключений;
· предоставляет различные уровни изоляции транзакций;
· и конечно же, поддерживает хорошо знакомый пользователям стандарт ANSI SQL.

Кластерные индексы, отсутствие потерь переключения контекста между исполнением SQL и кода хранимых процедур и многое другое — это всё тоже про новую СУБД.

В СУБД SoQoL заложена кроссплатформенность, работа в различных операционных системах и аппаратных средах, включая российские. При разработке использовались собственные запатентованные методы обработки данных.

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

Лицензионные соглашения СУБД SoQoL позволяют ее использовать как в коммерческих целях (платное использование), так и в демонстрационных (включая разработку) или учебных (бесплатные варианты использования).

Узнать больше о продукте можно на (обновленном) сайте СУБД SoQoL https://soqol.ru/ или в нашей группе https://t.me/soqol_dbms

Мы понимаем, что процесс интеграции с вашими продуктами принесет нам много обратной связи (ну вы понимаете, о чем мы 🙂). Ждем ее с нетерпением. Но какие бы сложности не ждали нас на пути, мы справимся, потому что видим, что вы в нас верите и поэтому мы сильны!
Поздравляем всех девушек с этим прекрасным весенним праздником!🌹
Please open Telegram to view this post
VIEW IN TELEGRAM
Обратная связь
 
После релиза SoQoL было множество комментариев и вопросов (отдельное спасибо каждому!). Хотим по некоторым вопросам пройтись ещё раз
 
«Вряд ли новая СУБД написана с нуля, тем более частной компанией. Ну нет у частников таких ресурсов и времени. Скорее всего скрывают, что копия с Postgres»
 
Потоки информации растут постоянно, а архитектуры старых СУБД к этому просто не готовы. Можно придумывать всё новые фичи, делать «надстройки», но перемены нужны более фундаментальные.
У нашей команды за плечами уже есть созданное семейство СУБД и большой опыт в разноплановых разработках, поэтому семь лет назад мы задумались над вопросом архитектуры существующих СУБД и начали с малого — с исследования.
Постепенно маленькая идея превратилась в амбициозный план создания новой современной системы управления базами данных. У нас есть знания структур, правил и алгоритмов построения больших систем — это отличный способ применить свои знания на практике.
Первые эмоции от разработки СУБД были смешанными: радость от возможности творить и создавать что-то новое смешивалась с разочарованием от неудач и ошибок. Но каждая ошибка — урок, каждое исправление — шаг к совершенству.
И да, наша команда не такая большая, как хотелось бы, путь создания СУБД долгий и трудный, но нас заряжает, собирает вместе и ведёт вперед одна общая прекрасная цель — современная СУБД, отвечающая потребностям пользователей.
 
«Лично я сталкивался с Линтер до 2000го года. Т.е. если ядро не переписали с нуля, а использовали старое, то как минимум 20-ть лет СУБД есть. О какой новизне разработки может идти речь?»
 
Действительно, продуктам семейства ЛИНТЕР уже более 30 лет. Имя семейства употребляется и в полном наименовании новой СУБД — СУБД ЛИНТЕР SoQoL, что и смутило некоторых читателей статей и обзоров новой СУБД. Однако, в SoQoL, кроме семейной части названия, ничего от ЛИНТЕР нет.

«Почему новая СУБД с закрытым кодом? Вы что-то скрываете? Боитесь развития? Сделайте как нормальные — опенсорс и будет всем счастье»
 
Эту тему, как философию, можно обсуждать долго. И у опенсора, и у проприетарного продукта есть свои поклонники и противники.
Open source позволяет сообществу разработчиков работать вместе над улучшением программного обеспечения, но это не всегда гарантирует техническую поддержку и обновление продукта. Да и у разных веток самостоятельного развития могут возникнуть проблемы совместимости.
Open source — один из инструментов, но не единственный.
Владелец проприетарного программного обеспечения имеет полный контроль над разработкой, обновлениями и поддержкой продукта, что может обеспечить более стабильное и надежное его функционирование. И многие проприетарные программные продукты предлагают профессиональную техническую поддержку (а это плюс для быстрого решения проблем и вопросов пользователей).
Плюсы и минусы есть у каждого подхода, поэтому многие крупные продукты включают в себя и открытые и проприетарные компоненты.
И мы не против open source, мы за гармоничное развитие. Позже и в SoQoL планируется часть компонентов сделать открытыми, а часть оставить проприетарными.
Наше мнение, что качественное развитие IT-сферы невозможно как без хорошего open source, так и без хороших продуктов с закрытым кодом.
 
«Осталось дождаться, когда 1С включит SoQoL в список поддерживаемых СУБД»
 
Эта тема поднимается периодически, и мы только за такой ход событий. Нам очень приятно, что пользователи задают такие вопросы. Для развития совместного сотрудничества с 1C должно исходить желание и от производителей 1С. Пользователи могут ускорить это процесс — своими обращениями в 1С с просьбой о совместимости с Соколом. Мы такой запрос в 1С отправляли :)
 
«Планируете получать сертификат ФСТЭК? СУБД аккредитована под гос. учреждения? А то некоторые СУБД уже давно набили оскомину»
 
В настоящий момент СУБД SoQoL включена в реестр российского ПО и этого достаточно для использования в некоторых гос. учреждениях. Сертификация ФСТЭК стоит у нас в плане.
«Ой насмешили. Прям СУБД. Да она ж сырая — оконных функций нет, триггеров нет, горячего резерва тоже. Что смотреть то?»

СУБД SoQoL разрабатывается уже около семи лет, но это молодой продукт. И конечно, в текущей версии он уступает по функционалу более развитым системам. А разве кто-то видел продукт, в котором появилось всё и сразу? Для этого есть планы (в них озвученное уже есть :) ).
 
«Какие варианты использования СУБД есть?»
 
У нас в разработке несколько вариантов лицензирования, в том числе, позволяющих пользоваться СУБД бесплатно (для частного использования в тестах и в учебных заведениях).

«Молодцы!»
«Наконец-то, дождались! Хоть вижу и не всё в новой СУБД, что хотелось, но считаю, это уже прогресс.»
«Не каждый на такой шаг осмелиться, тем более среди коммерсов! Разработчики Релэкс молодцы. Успехов вам!»

 
Благодарим всех и каждого и за критику, и за вопросы, и за поддержку!

Мы понимаем, релиз — не пункт назначения, а только точка в длинном пути.  
Пишите всё, что вас волнует касательно СУБД:
- под постами этого канала (или в его чате);
- сюда — в телеграмм-бот технической службы компании РЕЛЭКС
 
P.S. Для персонального использования можно, как всегда, скачать «свежую» сборку СУБД SoQoL здесь. Если хочется попробовать SoQoL без установки на свой компьютер, то это можно сделать на сайте SQLize Online. За эту возможность отдельная благодарность Вячеславу @srozhnev
Мы есть на карте

Россия, как и другие современные государства, стремится к цифровой трансформации в различных областях, включая государственные услуги, здравоохранение, финансы и другие. И рынок IT-продуктов в России демонстрирует стабильный и динамичный рост. Компании в этой области и других смежных областях активно развиваются.

Наше государство известно своими технологическими университетами и кадровым потенциалом в области IT (ну про Воронеж мы недавно рассказывали). Наши специалисты в области программирования, анализа данных, искусственного интеллекта и других сфер высокотехнологичной индустрии востребованы как внутри страны, так и за рубежом.

Правительство России активно поддерживает развитие IT-отрасли через различные программы, субсидии и инвестиции в инновационные проекты. И сегодня в России наблюдается увеличение числа IT-стартапов и инновационных проектов. Крупные города, такие как Москва, Санкт-Петербург, Казань, Новосибирск и другие, становятся центрами технологического предпринимательства.

Аналитический центр TAdviser выпустил новую инфографику «Карта российского рынка программного обеспечения», на которой отметил российских вендоров ПО. На карту включены свыше 300 отечественных разработчиков программного обеспечения (и мы там есть :)). Все они были распределены по 27 категориям в трех основных разделах: инфраструктурное ПО, прикладное ПО и информационная безопасность.

В целом, IT-рынок в России претерпевает положительное развитие, и страна продолжает укреплять свою позицию как важный игрок в мировой IT-индустрии.

P.S. РЕЛЭКС нашли? :)
5 апреля в 14:00 у нас состоится живое обсуждение проблемы сетевых протоколов PostgreSQL с Андреем Бородиным. Обсудим плюсы, минусы и подводные камни.

Регистрация по ссылке https://forms.yandex.ru/u/660d457dc417f311826a5de1/

Ждем всех, кому интересна тема прикладных сетевых протоколов!

Андрей Бородин — к.т.н., доцент Уральского федерального университета, руководитель подразделения разработки РСУБД с открытым исходным кодом в Яндексе.
Ты агрегат, SoQoL

Посмотрим сегодня на реализацию агрегатных функций в SoQoL.

В СУБД SoQoL сейчас реализованы наиболее востребованные агрегатные функции, которые мы решили кратко рассмотреть в одной публикации.

Итак, начнём

AVG – функция используется для вычисления среднего значения набора чисел.
Её синтаксис в SoQoL вполне привычен для пользователей Oracle, PostgreSQL, MS SQL Server и выглядит так:

AVG (<выражение>)

Значениями аргумента могут быть значения любого числового типа данных, поддерживаемого SOQOL и значения типов CHAR, VARCHAR. Последние два функция попытается неявно преобразовать в значение типа NUMBER максимальной точности.

COUNT – функция выполняет подсчёт числа строк, возвращаемых запросом, или количества не NULL-значений заданного выражения для этих строк.
Синтаксис в SoQoL также привычен для пользователей Oracle, PostgreSQL, MS SQL Server:

COUNT ( <выражение> )

Если указать COUNT(*), то функция вернёт общее число строк таблицы, с учётом строк-дубликатов.

Здесь для аргумента нет ограничений в типе данных – допустимы значения любого типа, поддерживаемого в СУБД.

MAX и MIN – эти функции используются для поиска максимального и минимального значения среди значений аргумента соответственно.

MAX (<выражение>)
MIN ( <выражение>)


STRING_AGG – функция используется для конкатенации не NULL-значений аргумента с заданным разделителем между ними.

STRING_AGG (<выражение>, <разделитель>)

Если в качестве разделителя будет NULL, то значения аргумента будут конкатенированы без разделителя.

Если посмотреть другие СУБД, то что у них:

В Oracle21с функция, используемая для объединения значений столбца в одну строку, называется LISTAGG.

А вот в MS SQL Server2022 и PostgreSQL15 можно использовать для объединения значений в одну строку с использованием разделителя функцию STRING_AGG.

Что здесь с типами?

В SoQoL значения аргументов могут быть (пока) только типов CHAR, VARCHAR, BINARY, VARBINARY. При этом значения аргументов должны иметь одинаковый тип данных: или строковый, или бинарный, иначе функция закончит работу с ошибкой.

в SQL Server 2022 функция STRING_AGG не поддерживает типы данных CLOB и BLOB.

SUM - функция выполняет суммирование числовых значений аргумента:

SUM (<выражение>)

Такой синтаксис также знаком и привычен пользователям многих СУБД.
По типам данных аргумента функции SUM ситуация такая же, как в AVG.

Перед аргументом каждой упомянутой выше функции можно указать ALL или DISTINCT:
ALL позволяет функции производить операции со всеми значениями аргумента (с учётом дубликатов). ALL используется по умолчанию;
– с указанием DISTINCT функция будет использовать значения аргументов без дубликатов.
При этом стоит упомянуть, что агрегатные функции не берут в работу NULL-значения.

Тут можно было бы добавить, что некоторые функции в известных СУБД имеют более расширенный синтаксис и могут использоваться и в качестве оконных функций (например, AVG, SUM и т.д.), но это уже другая история, к которой SoQoL постепенно движется.

Подскажите, как часто вы используете оконные функции и в каких задачах?
Мы приглашаем всех желающих

23 апреля в 14:00 на вебинар
«ТЕХНИЧЕСКИЙ ОБЗОР СУБД SoQoL»

На вебинаре расскажем:
· что такое СУБД SoQoL;
· где может применяться;
· о технологической платформе, которая легла в основу СУБД;
· о неблокирующем подходе к построению хранилища данных;
· о технических возможностях SoQoL;
· об утилитах;
· и конечно, о планах развития.

Вебинар проведёт Михаил Бакланов – руководитель департамента СУБД компании РЕЛЭКС.

Здесь нужно зарегистрироваться, после чего мы пришлём ссылку на вебинар.

Регистрируйтесь, пишите свои вопросы и приходите!
В одной из прошлых публикаций мы сравнивали реализацию строковых типов данных в нескольких СУБД и в SoQoL. Сегодня взглянем на числовые типы.
 
Для сравнения, как обычно, возьмём наиболее популярные СУБД (Oracle21, PostgreSQL15, MS SQL Server 2022) и SoQoL.
 
Итак, поехали. Рассмотрим самые популярные группы типов:
 
Целочисленные:
Oracle21: NUMBER. Типы SMALLINT, INTEGER, INT реализованы через NUMBER (38, 0). Для значения требуется от 1 до 22 байт.
PostgreSQL15: SMALLINT, INTEGER, BIGINT. Размер значения каждого типа соответственно 2, 4 и 8 байт.
MSSQL Server: TINYINT, SMALLINT, INT, BIGINT. Для значения каждого типа требуется соответственно 1, 2, 4, 8 байта.
 
Дробные числа с заданной точностью:
Oracle21: NUMBER(precision, scale). NUMERIC [(precision [, scale])] и DECIMAL [(precision [, scale])] реализованы как синонимы типа NUMBER [(precision [, scale])]. Для значения требуется от 1 до 22 байт.
PostgreSQL15: NUMERIC(precision, scale), DECIMAL(precision, scale). Размер значения каждого типа переменный.
MSSQL Server: DECIMAL(precision, scale) и NUMERIC(precision, scale). Для значения требуется от 5 до 17 байт, в зависимости от величины точности.
 
Вещественные:
Oracle21: FLOAT, DOUBLE PRECISION, REAL. Для значения требуется от 1 до 22 байт.
PostgreSQL15: REAL, DOUBLE PRECISION, размер значения каждого типа соответственно 4 и 8 байт.
MSSQL Server: FLOAT, DOUBLE. Для значения этих типов требуется соответственно 4 и 8 байт.

Кроме озвученных числовых типов данных в упомянутых СУБД есть дополнительные типы. Например: UINT128, INT128 в Oracle21, SMALLSERIAL, SERIAL, BIGSERIAL в PostgreSQL15, MONEY, SMALLMONEY в MSSQL Server.

Как видно, все три СУБД поддерживают распространенные числовые типы данных. Они обеспечивают гибкость в определении точности и масштаба для удовлетворения различных требований к хранению данных.
Выбор подходящего числового типа данных зависит от конкретных требований приложения, таких как диапазон значений и требуемая точность.

А что в SoQoL?

Целочисленные:
SMALLINT, INTEGER, INT, BIGINT реализованы как синонимы типа NUMBER (38,0)
Дробные числа с заданной точностью:
NUMERIC [(precision [, scale])],
DECIMAL [(precision [, scale])] реализованы как синонимы типа NUMBER [(precision [, scale])]
Вещественные:
FLOAT [(p)] — числовой тип данных с плавающей запятой и двоичной точностью, которая может варьировать от 1 до 126 двоичных разрядов. По умолчанию точность составляет 126 двоичных разрядов или 38 десятичных знаков. Значение FLOAT представляется внутри в виде NUMBER [(precision [, scale])].
DOUBLE PRECISION — числовой тип данных с плавающей запятой и двоичной точностью 126 разрядов.
REAL — числовой тип данных с плавающей запятой и двоичной точностью 63 разряда или 19 десятичных знаков.
 
Для значений любого числового типа в SoQoL требуется от 1 до 22 байт.

Как видно, SoQoL использует NUMBER как универсальный числовой тип данных. Эта гибкость упрощает работу с числовыми данными и устраняет необходимость в преобразовании типов данных.

А почему ещё SoQoL выбрал поддержку расширенного типа данных NUMBER с множеством вариантов точности и масштаба (кстати, такой подход подобен Oracle)?

Мы увидели, что:
1. Возможность хранить числовые значения с произвольной точностью и масштабом обеспечивает максимальную гибкость и точность при работе с числовыми данными.
2. Поддержка экспоненциальной записи позволяет представлять очень большие или очень малые числа в компактном формате.
3. Использование различных методов сжатия и кодирования позволяют оптимизировать хранение значений NUMBER, что экономит дисковое пространство и улучшает производительность.

Также представление числового типа данных в SoQoL, как и всех других типов, поддерживает лексикографический порядок на уровне битов, что позволяет этому типу участвовать в быстром сравнении цепочки полей с помощью процессорных команд сравнения цепочки байт. Это тоже значительно ускоряет сравнение и выполнение операций в СУБД SoQoL.

Какие из характеристик числовых типов данных были критичны в ваших задачах и какие решения в этом случае вы принимали?
Первый вебинар
 
23 апреля мы провели первый вебинар, посвящённый новой СУБД – SoQoL. Больше часа рассказывали и отвечали на вопросы как устно, так и в чате. И если на заранее озвученные вопросы можно услышать ответы здесь, то вопросы из чата так там и остались.
 
Для тех, кого не было на вебинаре, мы решили часть вопросов вывести в пост. Итак, посмотрим, о чём вы спрашивали:
 
«Поддерживаете ли NUMA архитектуры? (6 и более процессорных сокетов)»
Безусловно, тестовая локальная машина 2 нума нода. Тестировали на 4х - полет нормальный, никаких аномалий в профилировке нет.
 
«Что подразумевается под горячим резервированием? Это физическая репликация, т.е. реплики, standby и т.д. или это создание резервной копии (бэкапа) в онлайн режиме?»
Логическая репликация в основе. В первую очередь это standby, дальше больше.
 
«Какие инструменты можно использовать для работы? DBeaver, например, или какие-то специальные ваши инструменты?»
Можно использовать инструменты, совместимые с JDBC-интерфейсом, в том числе и упомянутый DBeaver.
 
«Есть ли возможность работать с несколькими базами данных в пределах одной сессии (переключаясь, как, например, в MySQL)?»
В SoQoL такое невозможно, пользователи одной БД не могут подключаться к другим базам данных.
 
«Подскажите, пожалуйста, а как база восстанавливается после сбоя? К примеру, после отключения питания».
Так как и положено для подобных систем - через WAL-журнал.
 
«Насколько существенно пришлось доработать код для ЦПУ Эльбрус?»
Что мы сделали:
- оптимизировали создание и переключение контекстов (в Эльбрусе это дорого);
- создали кэш контекстов (стеков);
- реализовали возможность бесстековых задач (корутин), что минимизирует переключения контекстов.В идеале (к нему стремимся) в SoQoL вообще переключения контекста для коротких транзакций сойдёт на нет. Переключение нужно будет только в случае, когда нужно ожидать какого-либо ресурса в процесс исполнения.
 
«Еще один вопрос, поддерживается ли подключение по протоколу IPv6?»
IPv6 - да, поддерживается
 
«Есть средства для оптимизации запросов? (Например аналог/реализация EXPLAIN)»
Да, в SoQoL реализована команда EXPLAIN.
 
«С 1С в паре будет работать?»
Как внешний источник - уже да. Прочее сложнее, это к 1С. Безусловно, о нас им известно.
 
«Используется ли в Soqol файловая система для доступа к дискам?»
Да. Сейчас для каждого хранилища создается свой файл. В ближайшее время должны перейти на один файл для пространства, а там можно подумать и о сырых устройствах.
 
«Насколько большую БД пробовали практически запускать?»
Тестируем до 1Тбайт - то, что позволяет наш тестовый сервер.
 
«Какие версии Oracle и PostgreSQL использовались в тестировании? Какие были конфигурации баз данных?»
Мы пробовали разные СУБД актуальных версий.
Например, СУБД Oracle тестировалась 2-3 года назад, но постоянно не тестируется. Мы оценили её возможности несколько лет назад. PG тестируется чаще и до 15-й версии.
 
«Есть ли вероятность, что Oracle теперь работает быстрее?»
В нашей жизни возможно все. Хотя есть предположение, что Oracle довольно сложно это сделать из-за внутренней архитектуры.
 
«На каком оборудовании в какой ОС выполнялись тесты?»
Детали о тестировании можно найти в здесь и здесь.
 
«Можно ли бесплатно попробовать SOQOL в моей системе?»
Конечно. Бесплатно для личного использования можно скачать здесь или посмотреть онлайн в сравнении с другими СУБД здесь.
 
«Установлены ли цены для рынка США?»
Цены едины для всех стран с учётом текущего курса рубля. Получить информацию можно по запросу на сайте soqol.ru
 
«Спасибо большое! Очень обстоятельно. Интересно пощупать руками.» «Вы проделали очень большую и нужную работу. Удачи в дальнейшем продвижении и развитии продукта.»
 
Спасибо всем и каждому за внимание, помощь, вопросы.
Если среди материала этой публикации нет ответа на ваш вопрос, пишите в комментариях. Мы ответим :)
 
И летим дальше!