zoukankan      html  css  js  c++  java
  • 浅谈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,这个数据库很不错,可惜不开源。

    经验在于积累----小伟
  • 相关阅读:
    python 中多个装饰器的执行顺序:
    Python基础思维导图
    怎样写出靠谱的RESUTful API接口?
    python中yield()的用法详解
    Flask思维导图
    Django的设计模式
    MySQL
    MySQL
    Linux
    zsh oh-my-zsh 插件推荐
  • 原文地址:https://www.cnblogs.com/xiaowei0705/p/2315578.html
Copyright © 2011-2022 走看看