视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
轻量级数据库比较:SQLite、H2和MySQLEmbedded
2020-11-09 11:23:47 责编:小采
文档

对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松、自容器、无配置、无服务的数据库环境,所有数据保存在一

对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松、自容器、无配置、无服务的数据库环境,所有数据保存在一个文件里。当使用 MySQL 作为最终生产平台时,SQLite 是不可替代的开发环境解决方案。但真的没有其他兼容性更好的选择了吗?好吧,仅举几个原因:MySQL的兼容性和支持哈希索引,还不止这些!

当我们寻找 SQLite 的替代方案时,有两个可选,,分别是 H2 和 MySQL Embeded 版本。我关注的是可像 SQLite 一样方便使用,但又必须兼容 MySQL。

下面我们对三个数据库进行简单的比较:

比较项目
SQLite H2 database engine MySQL Embedded

Footprint 350KiB <2MB

授权协议
Public domain Dual: Modified MPL 1.1 / EPL 1.0 (commercial friendly) GPL 2.0 (only commercial friendly if not redistributed)

自容器

单文件

无服务器

服务器模式

零配置

事物处理

索引 (B-tree, R-tree, full-text) (B-tree, tree, hash, full-text) (B-tree, R-tree, hash, full-text)

MySQL 兼容性
(but not 100%)

兼容其他数据库 MySQL, PostgreSQL, Oracle, MSSQL, DB2, HSQLDB and Derby

加密

内存中数据库
(MEMORY storage engine)

看似 H2 管理最简单,因此我在 PHP 下体验了 H2 后发现的一些:Quercus 的 MySQL 驱动无法和 H2 的 MySQL 兼容模式良好的工作,我必须使用 Quercus 的 PDO 驱动来替代。

MySQL Embedded 则是 100% 兼容 MySQL,我还没有开始测试。但也有一些不确定的问题,我不清楚是否可以分发包含 MySQL Embedded 的应用程序,这可能需要购买商业授权。

下载本文
显示全文
专题