淺談Windows Phone 7本地資料庫的選擇

l_serein發表於2012-10-26
簡介

  最近在選擇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,這個資料庫很不錯,可惜不開源。

本文來自Jake Lin的部落格,原文地址:http://www.cnblogs.com/procoder/archive/2010/09/27/Windows-Phone-Database.html

相關文章