Firebird сегодня: версия 2.5 и вектор дальнейшего развития  Дмитрий Еманов Firebird Project http://www.firebirdsql.org/
Состояние на текущий день <ul><li>Стабильные релизы </li><ul><li>1.5.5 : только критические багфиксы
2.0.5 : все виды фиксов, улучшение   производительности
2.1.2 : то же самое плюс портирование </li></ul><li>В разработке </li><ul><li>2.5 : бета-стадия, финальный релиз в этом году
3.0 : начало разработки, бета-версия в этом году </li></ul></ul>
Краткий обзор версии 2.1 <ul><li>Базовая функциональность </li><ul><li>Интегрированная Windows-авторизация
Мониторинг текущей активности и асинхронная отмена выполнения запросов
Оптимизированный для медленных каналов связи сетевой протокол
Триггеры уровня БД, глобальные временные таблицы
MERGE, WITH [RECURSIVE], NATURAL JOIN, JOIN .. USING ..
Более 50 новых встроенных функций </li></ul></ul>
Версия 2.5 <ul><li>Цели разработки </li><ul><li>Модернизация кодовой базы, отказ от устаревших платформ
Промежуточный релиз между 2.1 и 3.0, первый шаг к архитектурной унификации
Единая потоковая технология и улучшенная поддержка multi-core/SMP «железа»
Более высокие пределы масштабируемости
Новая функциональность </li></ul></ul>
Версия 2.5 <ul><li>Архитектура </li><ul><li>Большинство изменений спрятаны внутри
(Classic + SuperServer) / 2 = SuperClassic
Новый режим работы для Embedded
Upcoming SlideShare
Loading in …5
×

Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)

4,068 views

Published on

Презентация Дмитрия Еманова о текущем состоянии и планах развития Firebird в 2009-2010 годах.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,068
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Firebird 2.5 - вектор дальнейшего развития, Dmitry Yemanov, (in Russian)

  1. 1. Firebird сегодня: версия 2.5 и вектор дальнейшего развития Дмитрий Еманов Firebird Project http://www.firebirdsql.org/
  2. 2. Состояние на текущий день <ul><li>Стабильные релизы </li><ul><li>1.5.5 : только критические багфиксы
  3. 3. 2.0.5 : все виды фиксов, улучшение производительности
  4. 4. 2.1.2 : то же самое плюс портирование </li></ul><li>В разработке </li><ul><li>2.5 : бета-стадия, финальный релиз в этом году
  5. 5. 3.0 : начало разработки, бета-версия в этом году </li></ul></ul>
  6. 6. Краткий обзор версии 2.1 <ul><li>Базовая функциональность </li><ul><li>Интегрированная Windows-авторизация
  7. 7. Мониторинг текущей активности и асинхронная отмена выполнения запросов
  8. 8. Оптимизированный для медленных каналов связи сетевой протокол
  9. 9. Триггеры уровня БД, глобальные временные таблицы
  10. 10. MERGE, WITH [RECURSIVE], NATURAL JOIN, JOIN .. USING ..
  11. 11. Более 50 новых встроенных функций </li></ul></ul>
  12. 12. Версия 2.5 <ul><li>Цели разработки </li><ul><li>Модернизация кодовой базы, отказ от устаревших платформ
  13. 13. Промежуточный релиз между 2.1 и 3.0, первый шаг к архитектурной унификации
  14. 14. Единая потоковая технология и улучшенная поддержка multi-core/SMP «железа»
  15. 15. Более высокие пределы масштабируемости
  16. 16. Новая функциональность </li></ul></ul>
  17. 17. Версия 2.5 <ul><li>Архитектура </li><ul><li>Большинство изменений спрятаны внутри
  18. 18. (Classic + SuperServer) / 2 = SuperClassic
  19. 19. Новый режим работы для Embedded
  20. 20. Общий доступ к БД
  21. 21. Понижен уровень синхронизации, оптимизирован менеджер блокировок
  22. 22. Фоновые нити для сервисных задач, асинхронный контроль состояния портов и т.п. </li></ul></ul>
  23. 23. Версия 2.5: общий доступ к БД SuperClassic Classic Classic Classic Embedded Embedded Embedded Database
  24. 24. Версия 2.5 <ul><li>Новая функциональность </li><ul><li>SIMILAR TO (поиск по регулярным выражениям)
  25. 25. Автономные транзакции уровня подпрограммы (процедуры/триггера) или PSQL-блока
  26. 26. Новые средства системного мониторинга и контроля, включая гибкие средства аудита
  27. 27. Расширения динамического SQL (EXECUTE STATEMENT), включая запросы к удаленным базам данных
  28. 28. HEX-литералы, коды ошибок SQLSTATE, новые встроенные функции и т.п. </li></ul></ul>
  29. 29. Версия 2.5 <ul><li>Расширения EXECUTE STATEMENT EXECUTE STATEMENT (<SQL statement>) (<parameters>) -- для локального доступа WITH CALLER PRIVILEGES -- для удаленного доступа ON EXTERNAL DATA SOURCE <connection string> WITH {AUTONOMOUS | COMMON} TRANSACTION [AS USER <user name> PASSWORD <password>] </li></ul>
  30. 30. Версия 2.5 <ul><li>Трассировка </li><ul><li>Системный аудит — включается в firebird.conf, настраивается в fbtrace.conf, вывод идет в заданный лог-файл
  31. 31. Интерактивная трассировка — управляется через сервисы, настраивается текстом, вывод буферизируется и вычитывается клиентом (через API)
  32. 32. Трассировка с отложенным анализом — аналогично предыдущему пункту, но вывод пишется в заданный лог-файл </li></ul></ul>
  33. 33. Версия 2.5 <ul><li>Пример конфигурации трассировки <database somedb> enabled true include_filter (.*)(INSERT|UPDATE|DELETE)(.*) log_statement_finish true log_procedure_finish true log_trigger_finish true print_plan true print_perf true time_threshold 0 log_filename /opt/firebird/log/trace.log </database> </li></ul>
  34. 34. Версия 3.0: архитектура <ul><li>Внешняя архитектура </li><ul><li>Замена разных редакций сервера модулями, интегрируемыми в конечное решение </li></ul><li>Внутренняя архитектура </li><ul><li>Единый набор бинарников, разные режимы: </li><ul><li>shared (разделение БД процессами)
  35. 35. dedicated (монопольный доступ к БД) </li></ul><li>Конфигурация уровня базы данных, возможность настройки через API
  36. 36. Эффективный общий кеш, грануляция латчей/мьютексов </li></ul></ul>
  37. 37. Внешняя архитектура fbembed.dll fbclient.dll fbserver.exe
  38. 38. Режимы работы версий 2.5 и 3.0 Firebird 2.5 Firebird 3.0 SuperServer SuperClassic Classic Dedicated (in-process) Shared (cross-process)
  39. 39. Версия 3.0: функционал <ul><li>Ядро системы </li><ul><li>Новая ODS 12.0: </li><ul><li>sweep helper map
  40. 40. nbackup helper map
  41. 41. более эффективная упаковка в индексах </li></ul><li>Устранение «закоренелых» ограничений
  42. 42. Новые методы доступа к данным, больше статистики для оптимизатора (включая гистограммы) </li></ul></ul>
  43. 43. Версия 3.0: функционал <ul><li>Прикладные возможности </li><ul><li>Внешняя (не-SQL) реализация хранимых процедур, функций и триггеров
  44. 44. Триггеры для DDL операций
  45. 45. PSQL-пакеты
  46. 46. Аналитические функции (OVER, PARTITION BY)
  47. 47. Новые счетчики мониторинга производительности (MON$-таблицы) </li></ul></ul>
  48. 48. Версия 3.0: функционал <ul><li>Безопасность </li><ul><li>Новые методы авторизации
  49. 49. Привилегии для DDL и сервисных операций
  50. 50. Агрегированные роли (GRANT ROLE TO ROLE)
  51. 51. Группы пользователей и кумулятивный набор прав
  52. 52. Системные роли для административных операций
  53. 53. Встроенные криптографические функции, шифрование БД </li></ul></ul>
  54. 54. Что дальше? <ul><li>Исследования </li><ul><li>Сегментирование (partitioning) таблиц
  55. 55. Point-In-Time Recovery
  56. 56. Высокая доступность (mirroring, replication)
  57. 57. Балансировка нагрузки и «scaling out» (shared-disk кластер на базе RedHat DLM)
  58. 58. Полнотекстовый поиск </li></ul></ul>
  59. 59. Firebird как платформа <ul><li>Red Database </li><ul><li>Основа — Firebird 2.1 плюс некоторые возможности Firebird 2.5
  60. 60. Хранимые процедуры на Java
  61. 61. Полнотекстовый поиск на основе Lucene
  62. 62. Улучшенная подсистема безопасности: </li><ul><li>интегрированная криптографическая подсистема
  63. 63. политики безопасности
  64. 64. многофакторная аутентификация
  65. 65. Контроль доступа на уровне записей и колонок
  66. 66. сертификация на класс защищенности 1Г, затем 1В </li></ul></ul></ul>
  67. 67. Вопросы?

×