欢迎来到天天文库
浏览记录
ID:23463218
大小:55.00 KB
页数:6页
时间:2018-11-08
《使用sqlserver数据服务开发功能强大且可扩展的应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用SQLServer数据服务开发功能强大且可扩展的应用程序>>教育资源库 本文使用了以下技术: SQLServer 本文将介绍以下内容: SSDS数据模型 管理实体、容器和颁发机构 创建示例icrosoft数据平台由一组丰富的产品和技术组成,它包括所有数据类型并涵盖了整个领域范围,从一端的非结构化二进制数据到另一端的高度结构化在线分析处理(OLAP)多维数据集。虽然这些技术可以解决您将面临的任何应用场合,但通常必须要在时间和硬件资源方面进行一些前期投资,然后才能开始对解决方案进行编码。 对于应用程序开发人员而言,通常很难估计某个应用程序在其整
2、个生命周期过程中所需的存储和处理要求。如果您面对的是新兴的创业公司,其资金比较紧张而且用来制定硬件投资决策的数据不足,则此问题可能尤为明显。为解决有关这些前期投资的问题,Microsoft最近在其已经很强大的数据平台中又增添了一项新技术:SQLServer®数据服务(SSDS)。 SSDS并非传统意义上的盒装软件产品术语,而是一个强大的、无尺度的数据服务,它在内部使用可靠的SQLServer技术并依据行业标准icrosoft®.Frameo的颁发机构,则可以通过以下URI访问它:复制代码ssdsdemo.data.beta.mssds.
3、图2基本SSDS组件 颁发机构还可以是地理位置单元,这意味着创建的DNS名称将会映射到您托管数据的指定Microsoft数据中心。如果您创建了两个颁发机构americasdemo.data.beta.mssds.和europedemo.data.beta.mssds.,则每一个都将分别与距离用户最近的不同数据中心建立关联。 颁发机构包含容器的集合,而容器则类似于关系型数据库中的表。主要差别在于您需要将架构附加到数据库表中以使表中的所有行都属于同类。SSDS中的容器不需要架构,因此您可以将异类实体存储在一个方便的位置。它只是一个实体集合。在当前发布的SSD
4、S中,所有查询都被控制在单一容器内。 还需重点指出的是,每个容器都位于SSDS群集的不同节点中。在SQLServer中,要获得额外的性能,应将不同的表放在不同的心轴上以最大程度地发挥读/写功能。这与SSDS非常相似,只不过每个容器都将位于单独的计算机中。通过将数据分割到多个容器中并将请求分为多个线程,您可以获得额外的性能提升,因为读和写将不再受到单一计算机的限制。 关于容器最后要注意的一点是,虽然每个容器都被放置在SSDS群集中的单独节点上,但出于灾难恢复目的,还应将数据复制到多个其他节点上。如果容器所在的计算机发生故障,系统会自动提升一个备份副本以确保
5、您的应用程序不会损失任何数据或性能。 实体可以看作是关系型数据库中表的一行。实体只是名称/值对的属性包。这些名称/值对可被分组为两个类别:可分辨系统属性和灵活属性。 可分辨系统属性是所有实体共有的,包括ID、Kind和Version等。ID用于唯一标识实体。ID在其所在的容器中必须是唯一的,但不同容器中的实体可以具有相同的ID。Kind用于将类似的实体分类在一起。实体上没有附加任何架构,因此具有相同Kind的实体并不能保证其结构也相同,Version用于标识当前的实体版本。此值在每次操作后都会进行更新。 灵活属性是开发人员在其中存储应用程序数据的位置。
6、灵活属性支持简单的类型:String、decimal、bool、datetime和binary。每种灵活属性的前256个字节都被编制了索引。 构建分类广告系统 为了说明SSDS的功能并概要介绍开发体验,我将带您实现一个在线分类系统ContosoClassifieds示例。此示例包含两个独立的应用程序:一个是essageBox.ShoSchemaSaved,CustomSchemaSaved, MessageBoxButtons.OK,MessageBoxIcon.Information); this.Hide();} 管理客户端的最后一项工作是在列表
7、类别被删除时删除自定义列表架构。我之前讨论过删除实体和容器,但那时我知道要删除的实体或容器的ID。删除架构意味着首先要发出LINQ查询以检索附加到列表类别的所有列表架构,然后再将其删除。查询内容如下所示:string.Format(fromeinentities a实体的列表,此时您需要做的就是将其删除。图10显示了完整的DeleteListingSchema方法。图10DeleteListingSchema//RetrievethecustomschemaentityforthislistingstringlinqQuery= string.Format(
8、 fromeinentitiesorethan1fl
此文档下载收益归作者所有