Absolute Database 是一个单文件的嵌入式数据库引擎,专为 Delphi 和 C++ Builder 开发者设计。
主要特性
- 单文件数据库 - 整个数据库存储在单个文件中,便于部署和管理
- 零配置 - 不需要安装或配置数据库服务器
- 高性能 - 采用高效的存储和索引结构
- 完全支持 SQL - 支持标准 SQL 语法
- 加密支持 - 提供强大的数据库加密功能
技术规格
- 支持 Delphi 7 到 Delphi 12
- 支持 C++ Builder 2006 到 C++ Builder 12
- 支持 Windows 32位和64位应用程序
- 数据库文件大小限制:16TB
v7.96 版本更新
此版本主要包含以下改进: - 性能优化 - 修复了若干bug - 改进了与最新Delphi/C++ Builder版本的兼容性
典型应用场景
- 桌面应用程序
- 移动应用程序
- 中小型企业应用程序
- 需要简单部署的数据库解决方案
功能特点
部署便捷
无需BDE,无需DLL
无需特殊安装或配置
数据库引擎直接编译进EXE文件
单文件数据库格式
数据库文件可与应用程序EXE合并
高性能
先进的缓存管理与缓冲架构
智能SQL查询与过滤器优化器
针对SQL查询临时结果的专用优化引擎
支持数千至数百万条记录的B*树高速索引
批处理插入/更新/删除的缓冲事务支持
内存表实现数据快速操作
针对只读数据库(如CD光盘)的优化
多线程应用的高并发设计
超高速内存表
多用户支持
零维护的文件服务器架构
自动记录与表锁定
自动检测其他用户的修改
可配置的并发连接数限制
单用户/多用户模式轻松切换
完整事务支持(ReadCommited隔离级别)
SQL支持
支持SELECT(含DISTINCT、INNER/LEFT/RIGHT/FULL/OUTER JOIN、GROUP BY、ORDER BY子句)
支持CREATE TABLE、DROP TABLE、ALTER TABLE语句
支持CREATE INDEX、DROP INDEX语句
支持INSERT、UPDATE、DELETE语句
支持BETWEEN、IN、LIKE、IS NULL、EXISTS运算符
聚合函数COUNT/SUM/MIN/MAX/AVG
支持绝大多数SQL’92算术/逻辑/日期/字符串函数及运算符
通过CAST函数实现数据类型转换
SQL脚本支持(以分号分隔的多语句)
查询参数化
单查询跨多数据库操作
关联与非关联子查询
紧凑性
数据库引擎单元仅少量增加应用体积
通过可定制页大小/表元数据压缩等技术实现小文件体积
自动回收数据记录/索引页/BLOB块的空闲空间
快速BLOB数据压缩
字符串字段短索引
低内存消耗
兼容性
支持大多数TTable字段类型(含BLOB字段)
完全兼容标准数据感知控件(QuickReport/DBGrid/DBNavigator/DBImage/DBMemo/DBRichEdit等)
计算字段与查找字段
支持绝大多数TDatabase/TQuery/TTable属性/方法/事件
支持IProvider接口(TClientDataSet)
功能性
字符串与备注字段支持Unicode
多字段索引(升序/降序/大小写敏感选项)
可共享表
默认值支持
字段值的最小/最大/非空约束
导出SQL脚本(逆向工程)
安全性
数据库文件强加密
支持多种加密算法:
▸ Rijndael(AES胜出算法)128位密钥
▸ Rijndael 256位密钥
▸ Blowfish 448位密钥
▸ Twofish 128/256位密钥
▸ Square
▸ 单DES与三重DES可靠性
硬件故障或系统错误后的数据库修复
自动检测数据库损坏并修复
易用性
表结构调整时保留现有数据
支持与任意数据集互导数据
通过系统区域设置实现国际化/本地化支持
耗时操作显示进度条
实用工具
DB导入导出工具:将BDE驱动表(Paradox/Interbase/Access/Oracle/SQL Server等)与Absolute Database格式互转
Absolute数据库管理器:轻松执行表操作/数据库管理,支持所有SQL查询
所有工具均提供完整源码,可作为高级示例
开发便利
完全兼容TTable/TQuery/TSession/TDatabase组件
详尽的开发手册覆盖各类开发场景
大量示例演示多样化用例
快速响应的技术支持
成本效益
100%免版税:部署应用无需额外授权费用
灵活授权:提供源码版/无源码版/多开发者授权
最大容量规格
对象 | 多用户版 | 单用户版 |
---|---|---|
字符串字段最大字节数 | 64,000(受页大小限制) | 64,000(受页大小限制) |
BLOB字段最大字节数 | 2GB | 2GB |
索引最大字节数 | 64,000(受页大小限制) | 64,000(受页大小限制) |
单行最大字节数 | 65,400(受页大小限制) | 65,400(受页大小限制) |
单索引最大列数 | 10,000 | 10,000 |
单表最大列数 | 65,000 | 65,000 |
单表UNIQUE索引/约束数 | 30,000 | 30,000 |
数据库最大容量 | 32 TB(受文件系统及操作系统限制) | 32 TB(受文件系统及操作系统限制) |
标识符最大长度(字符数) | 255 | 255 |
单连接最大锁数 | 2,147,483,647 | 不适用 |
单表最大行数 | 2,147,483,647 | 2,147,483,647 |
单数据库最大表数 | 2,147,483,647 | 2,147,483,647 |
单页最大字节数 | 65,536 | 65,536 |
单数据库文件最大页数 | 2,147,483,647 | 2,147,483,647 |
单数据库最大连接数 | 创建数据库文件前配置的最大值(最高2,147,483,647) | 1 |
单事务最大记录数 | 2,147,483,647(受可用内存限制) | 2,147,483,647(受可用内存限制) |
内存表最大容量 | 2,147,483,647(受可用内存限制) | 2,147,483,647(受可用内存限制) |
注:
- 部分限制可能受操作系统、文件系统或硬件资源影响。
- 内存表及事务处理的实际容量取决于运行时的可用内存。
- 多用户版的连接数需在创建数据库文件前配置。
还没有评论,来说两句吧...