转载请在开始处标明来自于http://www.hitai.com.欢迎交流。
本文是自于Firebird 3.0 Release Notes英文翻译而来,为本站原创
Firebird数据库3.0 的主要目标是统一的服务器体系结构,提高对SMP和多核硬件平台的支持。并行对象是改善引擎进程的线程处理和跨线程和连接边界共享页面缓存的选项。
除了这些目标变成了新的策略,以改善性能、 查询优化、 监视和可伸缩性和要解决的需求更多的安全选项。为SQL语言引入了大量的受欢迎的特性,包括被期待已久的支持布尔数据类型和关联的逻辑判断。
新的特点汇总
下面的列表总结了新的特点和变化,章节和主题的链接那里可以找到更详细信息。
可执行文件的统一
Firebird完成了可执行文件的统一,与超级服务器模式(Superserver)对真正的SMP(对称的多重处理器架构)的支持,现在Firebird的核心是一个统一的库,支持一个单一的ODS加载,也可以用于嵌入式引擎方式,或者以"网络监听"执行,服务器模式的选择取决一个新的配置参数
ServerMode的设置,定义锁定和缓存模式。它被指定在firebird.conf中的全局级别中。
默认情况下,ServerMode = Super(线程专用别名) 即,超级服务器模式。
备注:
以前的 aliases.conf文件被databases.conf文件取代,现在包含的不只是数据库别名,还有(可选)配置参数,使之能配置数据库和/或单独替代安全数据库。
在Firebird引擎变化的章节中更详细地介绍了所做的更改。
超级服务器模式对真正的SMP的支持
超级服务器模式下,引擎现在可使用多CPU和多内核当大量生成连接时。
Tracker: CORE-775
由 V. Khorsun实现
新特性,面向对象的C++ API
面向对象的C++ API,允许使外部例程代码插入且在Firebird引擎内部空间安全运行。包含(但不限于):
• 数据加密方案
• 用户身份验证方案,包括安全密钥交换
• 终于为存储过程、触发器和函数提供插件支持,可以用 Java, C++, Object-Pascal来编写。
"Per-Database" 配置
数据库级的自定义配置,现在被以正式条目实现在databases.conf中(以前是 aliases.conf文件)
增大了多个领域的限定值
Transaction 编号, attachment 编号, statement 编号的最大值增加了。为64位服务器增加了页面缓存。最大数据库大小限制被加大。详细参阅第4章对API和ODS的改变
多个安全数据库
Firebird 现在支持在服务器端通过多个安全数据库进行用户存取控制。每数据库可以使用SecurityDatabase参数在 databases.conf中配置使用一个指定的安全数据库,而不是默认的 security3.fdb,用户结构甚至可以被定义在用户本身的数据库中。
备注
监控表 MON$DATABASE 中增加了 MON$SEC_DATABASE 字段,用来确定使用了何种类型的安全数据库——Default, Self 还是Other。
几个新的sql命令,用来管理用户和进行数据存取
体系结构的变化、安全性和数据完整性的规则加强与功能需求一起产生了一系列新的 SQL 命令,用于管理用户和它们对对象的访问。
用户凭据可以使用国际字符
提供用于身份验证的新规定,该系统可以接受包含用户名和密码非ASCII字符。参见国际字符集在安全的章节用户帐户。
支持新的数据类型
一个真正的BOOLEAN类型(True/False/Unknown),完全支持逻辑判断式,例如,
UPDATE ATABLE
SET MYBOOL = (COLUMN1 IS DISTINCT FROM COLUMN2)
详细参阅BOOLEAN类型.
IDENTITY类型. 从内部生成器为定义的列大量生成唯一标识。
详细参阅 IDENTITY-Style Column.
管理NULL/NOT NULL 列/Domain属性
在列或Domain中的NOT NULL属性可以用 ALTER TABLE或ALTER DOMAIN 分别独立管理.
详细参阅 Manage Nullability in Domains and Columns
支持SQL包
详细参考 Packages.
DDL 触发器
当数据库对象被修改或删除时,触发器可以被写入执行。一个典型的用途是阻止未经授权的用户执行这些任务。
详细参考 DDL Triggers.
在DML中使用'window'函数
一个全新系列的分析函数和多个子集在DML中一起工作
参阅 Window (Analytical)Functions.
统计函数
一套统计函数返回值,适用于各种方差,标准差和线性回归公式
参阅 Statistical Functions.
可滚动游标
现在,查询引擎支持双向 ("滚动") 游标,从API支持使两者都能向前和向后导航在 PSQL 和 DSQL中 。
参阅 Scrollable (Bi-directional) Cursor Support.
兼容SQL2008 中OFFSET 和 FETCH 子句
为实现SQL-2008 OFFSET和FETCH子句兼容,{FIRST 和 SKIP} 或 {ROWS 和 TO} 子句作为替代.
参阅 SQL:2008-Compliant OFFSET and FETCH Clauses.
支持IPv6
Firebird 3 能使用IPv6连接在客户端和服务端.参阅新配置参数IPv6V6Only的说明
在线校验数据库
在线校验,在Firebird2.5.4首次实施,已经被移植到Firebird3.0。
参阅 Perform Some Validation Services On-line.
运行时使用gbak进行统计
从gbak详细输出可以包括运行时统计,报告花费的时间,页读取和页写。在API服务中也被支持。