浅谈Windows Phone 7本地数据库的选择

简介:

简介

最近在选择Windows Phone 7的本地数据库,把经验记录下来。数据库的选择,我考虑以下几点: 性能, 稳定性, footprint(占用文件和内存大小),费用(许可证类型),易用性(访问方式,是否提供管理工具等)。下面讲述Windows Phone下我所了解到的一些数据库实现以及其优缺点。 

 

Windows Phone 7 database

http://winphone7db.codeplex.com/  

Windows Phone 7 database是一个基于Isolated Storage (独立存储)来实现的数据库,发布在codeplex的开源数据库,使用MS开源许可证,可以自由使用到开源或者商业项目中,优点是免费,footprint非常的小,支持LINQ。缺点是太新,没有商用经验,稳定性不明确,没有管理工具,不支持SQL。


Perst Embedded Database For Microsoft Windows Phone 7

http://www.mcobject.com/perst_eval  
Perst是一个开源的对象数据库(object-oriented embedded database system),有.NET和Java的实现。 .NET的实现支持Silverlight和Windows Phone 7。这是双许可证,GPL和商用。GPL免费用在开源项目,商用需要购买许可证。支持多平台:.NET, .NET Compact Framewrok, Silverlight, Windows Phone.支持LINQ和JSQL,丰富的文档和例子程序。Footprint不大也不小,499k。 

db4o

http://developer.db4o.com/  
db4o 是老牌的对象数据库(object-based database), 有Java和.NET版本的实现。 db4o for Silverlight版本可以用于Windows Phone。 db4o文档和例子程序都非常的丰富。支持Mono, .NET, .NET Compact Framework和Silverlight等平台,是最为成熟的产品。 其支持LINQ也同时支持原生查询,功能非常强大。db4o采用双许可证,GPLv2和商用,开源免费使用,商用需要购买。由于功能十分强大,footprint也非常的大,光Db4objects.Db4o.dll就有688k,加上其他组件差不多1M的大小。 

siaqodb

http://siaqodb.com/  
siaqodb 是一个非开源的对象数据库, 可以运行在.NET 3.5+, Mono 2.4+, Silverlight 3/4 以及Windows Phone. LINQ是唯一支持的接口,不支持SQL,由于只是支持高版本,没有兼容性问题,footprint非常的小,只有128k,非常适合使用在Windows Phone上。而且siaqodb包含了Windows Phone 7的例子程序,方便开发,文档也比较全,还有包含查询工具,非常好用。是我觉得比较好的选择。唯一考虑的是非开源,只有商业许可证,$180个人许可证。还在考虑是否购买ing。 

Sqlite for Windows Phone 7

http://sviluppomobile.blogspot.com/2010/03/sqlite-for-wp-7-series-proof-of-concept.html

Sqlite大名鼎鼎的嵌入式数据库,基本是智能手机设备的事实标准。Sqlite for Windows Phone 7修改自C# Sqlite,把存储介质改为Isolated Storage。其实我开始的时候偏向与使用Sqlite,因为其方便易用,移植性强,具有大量的商业经验,管理工具也十分的丰富,而且完全免费使用,没有许可证限制。但是Sqlite比较大,有514k,而且不支持LINQ,甚至不支持ADO.NET,只是支持sqlite原始的API,开发很不方便,例如读出的结果集不能放到DataSet和DataReader里面。

 

EffiProz Database for Windows Phone 7

http://www.effiproz.com/product_wp.aspx

http://effiproz.codeplex.com/

EffiProz Database 是另外一个开源的RDBMS数据库,支持Windows Phone,支持存储过程,触发器等功能,支持ADO.NET甚至Entity Framework,功能也异常强大。支持双许可证,开源使用MS开源许可证,商用单用户$400。可是这个数据库的footprint非常大,1361k,这么大的footprint令我失去了使用的兴趣了。同时开源版本不怎么更新,新功能模块都在商业版上实现。

 

我在看Windows Phone 7 database的源代码,Windows Phone 7 database支持从XAP中导出XML文件到Isolated Storage数据库中。  如果性能ok,我就选择Windows Phone 7 database了,但是担心这个数据库太新,以后还要自己修改源码来实现功能。也考虑是否购买siaqodb,这个数据库很不错,可惜不开源。

 

 

系列文章

如果对Windows Phone 开发感兴趣,推荐阅读我的系列文章,适合具有.NET经验的开发者,入门Silverlight for Windows Phone的开发。 

林永坚(Jake Lin)的Silverlight for Windows Phone 7开发系列文章 – From zero to hero



    本文转自Jake Lin博客园博客,原文链接:http://www.cnblogs.com/procoder/archive/2010/09/27/Windows-Phone-Database.html,如需转载请自行联系原作者
相关文章
|
6月前
|
关系型数据库 数据库 C++
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
|
4月前
|
SQL 关系型数据库 MySQL
Windows服务器的最佳数据库是什么?
【7月更文挑战第20天】Windows服务器的最佳数据库是什么?
68 5
|
6月前
|
安全 测试技术 数据库
达梦数据库Windows安装教程:从准备到完成
达梦数据库Windows安装教程:从准备到完成
243 6
|
6月前
|
NoSQL 关系型数据库 MySQL
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
不同系统下进行MySQL安装、MongoDB安装、Redis安装【2月更文挑战第5天】
555 5
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
|
6月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】
|
6月前
|
存储 JSON NoSQL
【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
【1月更文挑战第26天】【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
|
6月前
|
Java 数据库连接 数据库
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
957 0
|
6月前
|
关系型数据库 MySQL Linux
MySQL 数据库安装详解(linux系统和windows系统)
MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。
239 0
|
17天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
52 3
Mysql(4)—数据库索引
|
2天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
20 2