科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL2005 CompactEdition数据存储体系

SQL2005 CompactEdition数据存储体系

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了客户端应用程序和小规模服务器应用程序的数据存储问题,讨论了 SSCE 的功能集以及该功能集如何解决数据存储问题,对各种与 SSCE 相适用的应用程序体系结构进行了介绍。

作者:microsoft.com Brian Noyes 来源:天新网 2008年4月28日

关键字: 数据库 Mssql SQL Server SQL

  • 评论
  • 分享微博
  • 分享邮件

数据存储应用程序:

应用程序的形态和大小各不相同。如前所述,大规模服务器应用程序确实需要使用 SQL Server 2005 Workgroup、Standard 或 EntERPrise 版本,但这些不是本白皮书重点关注的内容。对于客户端应用程序和小规模服务器应用程序,应用程序可以划分为多种应用程序类型。这些类型包括:

• 现场团队应用程序。这些是移动工作人员在现场使用的客户端应用程序。这些应用程序通常运行于便携式计算机或 Tablet PC 之上,但也可以运行在移动设备上。对于客户或设备比较分散的工作环境来说,这些程序可以提供交互式数据展示和交流功能。
• 个人信息管理 (PIM) 应用程序。这些客户端应用程序用于存储和访问信息项集合,例如联系人、计划、任务、便笺等等。它们可以运行在台式机、便携式计算机或移动客户端设备上,但越来越多的这类应用程序是出于要在移动设备上实现低资源占用量而开发的。
• 小规模 Web 应用程序。这些是简单的 Web 平台客户端应用程序,用于通过 Web 向少数用户展示动态信息。例如小型企业、社区和非赢利组织或俱乐部。这些程序需要公开 Web 服务器,但要能够从桌面操作系统(例如,Windows Vista 或 Windows XP Professional)运行。
• 缓存应用程序。无论客户端应用程序是否是为脱机工作而设计的,在需要查找诸如城市、省份、邮政代码、产品目录列表等信息时,每次都执行完整的数据库往返通常是没有意义的。通过实现客户端数据缓存,可以为呈现列表或在很少更改的查找表中进行搜索提供重大的性能改进。另外,某些应用程序在设计时所使用的分布式体系结构可能涉及需要与集中后端应用程序服务器通信的智能客户端、移动设备或 Web 客户端应用程序。应用程序服务器可能需要将数据缓存在本地,以避免发生往返数据库服务器的操作。虽然需要将数据缓存在本地计算机,但不能因此就购买完整的 SQL Server 实例或承担高昂的开销将其安装于本地应用程序服务器上。

数据存储可选方案:

要做出正确的体系结构决策,应当在正确理解可用方案的基础上客观地找出解决方案。对于体系结构的数据存储需要,要考察很多可选方案。再次强调,本文着重介绍客户端和小规模服务器数据存储。针对您体系结构内这些部分的主要可选方案有文件存储、EDB、SSCE 和 SSE。要做出合理的选择,必须研究每种方案的功能和限制,并根据需求对其进行权衡。

平面文件或 XML 文件:

从简单化的角度考虑,使用平面文件或 XML 文件表面上看似乎很吸引人:大多数开发人员已经知道如何使用 Microsoft .net 或 XML 序列化操作对文件进行数据读写操作,或使用数据集的各种功能从文件以 XML 的形式对其进行读写。但是,文件在一致性和可靠性方面存在问题。如果应用程序在没有正确完成 I/O 操作并关闭文件的情况下发生中断或被关闭,则所包含的数据可能会损坏,而文件锁定功能可能导致应用程序无法正常运行。这些问题可以通过编写符合标准的代码和错误处理来解决,但一旦这样做,最初使平面文件吸引人所依靠的简单性也就荡然无存了。

而且其内部也缺乏文件查询功能,通常必须先将文件的全部或大部分读取到内存数据结构中,然后数据才可用。因此,如果在应用程序的整个执行过程中需要对数据进行查询、读取和写入操作,则这些数据不适合采用平面文件和 XML 文件。对于诸如配置设置和首选项等简单数据,采用 XML 配置文件比较合适。另外,最好根据访问模式将较大的文档和文件存储为平面文件,而将元数据保存在数据库中。但应用程序的大多数随机访问读/写数据应当通过数据库引擎进行存储和访问。

EDB:

EDB 嵌入式数据库引擎是 Windows CE 5.x、6.x 和 Mobile 6.x 操作系统自带的一部分。EDB 是一种简单的关系数据引擎,它允许用户使用有限的类型系统和查询功能存储表格数据。如果您希望使用设备上的自带功能,或者希望安装的功能在设备上占用资源最少、开销最低,则 EDB 是个不错的选择。对于某些种类的简单数据检索,EDB 可能比 SSCE 更快,但如果需要执行复杂查询操作,它可能较慢。使用 EDB 的最大缺点之一是只能通过使用 Microsoft Visual C++ 中低级别的 API 来访问它。如果要使用 .NET Compact Framework 来编写应用程序以实现使用托管代码开发所带来的生产力优势,则必须使用 C++ 编写单独的数据访问组件用以处理 EDB 数据库,然后需要通过托管代码与该组件进行互操作。这样做所带来的复杂性很可能会远远抵消使用 EDB 的优势。只有在您编写应用程序时使用了嵌入式 C++ 并且侧重于使资源占用量最小化和使应用程序性能最大化的情况下,才应当考虑 EDB。

SQL Server 2005 Compact Edition (SSCE):

SSCE 是一种轻型的 (< 2 MB)、免费的关系数据库引擎,可以安装在目前任何的 Windows 操作系统上。由于 SSCE 是本白皮书的重点讨论对象,因此在随后一节中将介绍它的完整功能集。从较高的层面上看,SSCE 支持表、关系、约束、复杂查询处理、事务、复制和数据安全性。若要为 SSCE 编程,需要使用 ADO.NET 托管提供程序,其数据访问编码模式与用于其他托管提供程序(例如,SQL Server SQLClient 托管提供程序)的模式类似。还可以使用 OLE DB 从非托管客户端访问 SSCE。SSCE 作为一组通过使用应用程序进行引用的库在进程中运行,很容易用应用程序库或作为单独的 MSI 安装来部署它。SSCE 可以很方便地用 ClickOnce 应用程序进行部署,或者通过 Xcopy 部署到移动设备上。SSCE 还将预安装在 Windows Mobile 6.0 或更高版本上。

SSCE 类型系统是 SQL Server 2005 类型系统的子集,并非支持完整 SQL Server 实例所支持的所有功能。SSCE 不支持的 SQL Server 用于服务器应用程序的常用功能包括存储过程、触发器、视图、函数、用户定义的数据类型以及参与 SQL Server Service Broker 消息传递的功能。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章