поддержка QNX 6.x IN-MEMORY таблицы

advertisement
2004 – год эволюции
Увеличение надёжности, развитие функционала
•
•
•
•
удвоили клиентскую базу
количество обращений к поддержке уменьшилось
новые операционные системы
всё большее распространение в различных областях как в
стране, так и за её пределами
• расширен «ареал обитания»
– семейство QNX 6.x
•
in-memory таблицы
– MAC OS 10
Новый hot-standbay server
Новая реализация подсистемы горячего резервирования на
основе асинхронной репликации системного журнала для
отказоустойчивых программных комплексов.
Значительное увеличение производительности и надёжности:
• для перехода в режим основного сервера, резервному
теперь требуется всего несколько секунд
• поддержка нескольких резервных серверов
• производительность практически не зависит от числа
резервных серверов
Распределённое управление
• в IANA получен персональный код, для использования в
системе распределённого управления компонентами СУБД
ЛИНТЕР на базе протокола SNMP
• поддержка SNMP всех версий, включая SNMPv3 (повышенная
секретность)
• поддержка SNMP будет включена во все версии ЛИНТЕР
• версия уже прошла beta-тестирование и была апробирована на
реальном объекте и будет представлена на SofTool2005
ReadOnly базы данных
• параметр запуска ядра /RO
При запуске с таким ключом ЛИНТЕР полностью отключает
журнализацию, блокировки и т.п. и работает с файлами БД
только в режиме чтения:
• полностью сохранена функциональность SELECT-запросов
• поддерживается полнотекстовый поиск
• возможна работа в многопользовательском режиме
Временные файлы размещаются на локальных дисках.
Приятные пустяки…
Hints
INDEX (INDEX_DESC)
- указание
на использование порядка
(прямого или обратного) индекса
PREDORDER
- указание на порядок выполнения предикатов
EXPAND
- указание
на способ обработки подзапроса во
FROM-предложении
Изменения в хранимых процедурах:
•
Сняты все ограничения на использование в запросах
пользовательских функций;
•
Процедуры, возвращающие курсор, могут участвовать
в запросах наравне с таблицами и представлениями.
…приятные пустяки
• снято ограничение в 65000 страниц, для одного серверного
процесса, на использование оперативной памяти
• доступная оперативная память до 8 терабайт
• снято ограничение в 2 Гб для временных файлов (WRK,
WBV)
Глобальные временные
таблицы
CREATE GLOBAL TEMPORARY TABLE ИМЯ_ТАБЛИЦЫ
({определение столбца | [ограничение таблицы]},
... [ON COMMIT {DELETE | PRESERVE} ROWS]);
• возможно создание primary key, unique, простых и составных
индексов, а также внешних ключей, ссылающихся на другие
таблицы;
• внешние ссылки на временную таблицу создавать запрещено;
• поддерживаются ограничения check, default, autoinc;
• триггеры (за исключением триггеров delete для таблиц с ON
COMMIT DELETE ROWS; при выполнении commit временная
таблица будет очищаться также, как и при truncate table)
• ссылочная целостность (on update cascade, on delete cascade)
Изменения в
подсистеме словного
индексирования
• скорость построения индекса возросла более чем в 2 раза!
• скорость поиска возросла 1.5 раза
• возможность построения индекса в UNICODE
• расширена поддержка форматов документов:
•
•
•
•
•
•
•
WinWord (95,97/2000/XP/2003);
EXEL (95 и выше), PowerPoint (все);
PostScript (но достаточно формально);
PDF (все версии с поддержкой восточных языков);
RTF;
XML, HTML (с UNICODE и в однобайтовых кодировках);
text (с UNICODE и в кодировках ASCII, ANSI и koi8)…
• в будущем:
• фразовый поиск с учётом расстояния между словами
• морфология (поддержка словаря словоформ)
REAL TIME
и не только…
поддержка QNX 6.x
IN-MEMORY таблицы
•
•
Можно создать как бы копию (slave) существующей таблицы (master) в
памяти и работать с ней, как с самостоятельной таблицей. При старте базы,
slave-таблица может автоматически отображаться в память, а при
завершении работы сохраняться в master.
CREATE SLAVE TABLE
Slave-таблица FOR Master-таблица [[NO] AUTOSAVE] [[NO] AUTOLOAD];
SAVE
Slave-таблица; /* Сохранить изменения Slave-таблицы */
RESTORE
Slave-таблица; /* Восстановить Slave-таблицы из Master-таблицы */
•
AUTOSAVE – автоматически сохранять slave-таблицу при shutdown, по
умолчанию - не сохранять.
•
AUTOLOAD – автоматически активизировать slave-таблицу при старте
системы, по умолчанию - не активизировать.
… in-memory
•
•
•
страницы данных slave-таблиц не конкурируют за место в основном
буферном пуле и не мешают другим, а размещаются в отдельной
области памяти и никогда не вытесняются на диск;
не участвуют в транзакциях, т.к. ставится единственная задача –
добиться максимальной скорости;
при любом сбое, содержимое slave-таблицы снова загружается из
master-таблицы…
Конечно же, при сбое все изменения будут потеряны.
Однако, СКОРОСТИ ради…
Исследования…
• не останавливающийся рост спроса на OLAP-системы
• эксперимент по созданию ROLAP-ядра:
– OLAP-система должна обеспечивать постоянную
производительность при построении отчётов; при увеличении
размерности или объёма данных не должно происходить
существенное падение производительности.
– алгоритмы оптимизации обработки операций CUBE, ROLLUP,
GROUPING SETS
– оптимизация запросов, содержащих агрегатные функции
Оптимизация запросов, содержащих
агрегатные функции
•
агрегирование в SELECT-предложении;
•
агрегирование во FROM-предложении;
•
агрегирование в WHERE-предложении;
•
–
в коррелированных подзапросах;
–
в подзапросах без внешних ссылок;
агрегирование в HAVING-предложении.
ВОЗМОЖНЫЕ ПУТИ ВЫЧИСЛЕНИЯ
АГРЕГАТНЫХ ФУНКЦИЙ
SELECT Time, Region, Department, Model, SUM(Profit)
FROM
Sales
GROUP BY CUBE(Time, Region, Department, Model);
Time
Time, Region
Region
Department
Time, Department
Time, Region, Department
Time, Region, Department, Model
Region, Department, Model
Region
Region, Department
Model
Time, Model
Time
Region, Model
Time, Region, Model
Time, Region
Time, Department, Model
Department, Model
СРАВНЕНИЕ ЗАПРОСОВ К ТАБЛИЦЕ
С МИЛЛИОНОМ ЗАПИСЕЙ
SELECT …, SUM(amount)
WHERE Table_Id > 600
FROM Table1000000
GROUP BY CUBE(…);
350
300
250
Время
выполнения
200
150
100
50
0
1
2
3
4
5
6
Oracle
2,7
10,5
30,5
56
124,8
340,8
Экспериментальное ядро
4,2
8,9
11,1
11,8
12,5
12,57
Число переменных в CUBE
СРАВНЕНИЕ ЗАПРОСОВ К ТАБЛИЦЕ
С МИЛЛИОНОМ ЗАПИСЕЙ
SELECT …, SUM(Atr1), MIN(Atr2), MAX(Atr2)
FROM Table WHERE Table_Id >600 GROUP BY CUBE(…);
140
120
100
Время
выполнения
80
60
40
20
0
Oracle
Экспериментальное ядро
1
2
3
4
5
3,5
11,83
35,28
62,34
132,5
5,01
9,28
10,61
12,24
37,43
Число переменных в CUBE
СУБД ЛИНТЕР
для государственных структур
• ЗАО НПП «РЕЛЭКС» имеет лицензии на разработку,
производство и ремонт средств вооружений и военной техники
(ВВТ)
• лицензию ФСБ РФ на осуществление работ с использованием
сведений, составляющих государственную тайну
• на предприятии внедрена и сертифицирована система качества,
соответствующая стандарту ГОСТ Р ИСО 9001
• СУБД
ЛИНТЕР
сертифицирована
Государственной
Технической комиссией при Президенте РФ на соответствие
2 классу защиты информации от несанкционированного
доступа
• многолетний опыт успешных сертификаций в отраслевых
министерствах и ведомствах
СУБД ЛИНТЕР
для государственных структур
МНОГОПЛАТФОРМЕННОСТЬ
Работа в режиме
реального времени
ПОВЫШЕННАЯ
СЕКРЕТНОСТЬ
НАДЁЖНОСТЬ
Простота обучения
и обслуживания
Большой задел уже
работающих на
ЛИНТЕР систем
и оборудования
Отечественная
разработка,
обслуживание и
развитие
Мы работаем для Вас !
•
поддержка всей линейки СУБД ЛИНТЕР (версий 5.х, 6.0, 6.х) позволяет
нашим клиентам экономить время и средства на обновление
системного и прикладного программного обеспечения
•
СУБД ЛИНТЕР – хорошее решение для:
– автоматизации мелких и средних предприятий;
– встроенных систем и систем реального времени;
– отказоустойчивых систем «высокой готовности», в т.ч. реального времени;
– систем корпоративной безопасности;
– информационных, справочных, поисковых систем (в т.ч. на read-only
носителях)…
•
простая и гибкая лицензионная политика
Мы открыты к сотрудничеству
• Сотрудничество с разработчиками прикладных систем идёт на
пользу не только его участникам, но, что самое важное –
конечным пользователям, которые получают более качественные
продукты, отвечающие их требованиям
• мы всегда открыты к сотрудничеству с разработчиками как
прикладных, так и системных решений
Это всегда хорошо! Это всегда обогащает не только
партнёров, но и пользователей. Ради которых, собственно,
мы все и работаем.
Мы открыты к сотрудничеству
Плоды сотрудничества:
– некоторые модули подсистемы КСЗ;
– функции реального времени;
– горячее резервирование;
– подсистема полнотекстового поиска;
– in-memory таблицы и т.д…
Мы стремимся быть открытыми и по отношению к государству,
как гаранту качества. НПП «РЕЛЭКС» тратит достаточно много
ресурсов на сертификацию продуктов и качества нашей работы.
Спасибо за внимание!
Вопросы?
•
•
•
•
www.relex.ru
ЗАО НПП «РЕЛЭКС»
Тел./факс: (0732) 711-711
г. Воронеж, ул. 20 лет Октября, 119
Download