当前位置: 首页 > news >正文

网站建设套餐报价org做后缀的网站

网站建设套餐报价,org做后缀的网站,容城县建设银行网站,达州住房和城乡建设部网站Python是SQL Server 2017的新功能。 它主要是为了允许在SQL Server中使用基于Python的机器学习#xff0c;但是它可以与任何Python库或框架一起使用。为了提供可能的例子#xff0c;Hitendra展示了如何安全地使用该功能来提供智能应用程序缓存#xff0c;其中SQL Server可以… Python是SQL Server 2017的新功能。 它主要是为了允许在SQL Server中使用基于Python的机器学习但是它可以与任何Python库或框架一起使用。为了提供可能的例子Hitendra展示了如何安全地使用该功能来提供智能应用程序缓存其中SQL Server可以自动指示数据何时更改以触发缓存刷新。 MS SQL Server 2017已经通过启用SQL服务器通过“使用Python的机器学习服务”在TSQL中执行Python脚本添加到其高级分析扩展现在称为“机器学习服务”。这基本上提供了一种数据库程序员可以直接从Python传递数据的方法。这样做的有用性不仅限于为数据分析提供机器学习功能因为Python具有许多易于使用的模块和框架来解决许多问题例如使用数据结构执行大量计算工作用于分析的图形处理网络操作数据库操作网络操作或基于本地/网络的文件系统操作。显然其中许多在中间件方面做得最好但在数据库系统中有时候直接与外部系统通信更方便而不是依靠外部进程来轮询数据源来执行任务。这没有问题的如果在数据库或数据层中有一个这样的解决方案并且不提供任何安全性问题时。 在这里我们将尝试演示在Advanced Analytics Extension中使用Python的示例显示数据库如何触发外部进程来对作为参数提供的数据执行活动。这是为了考虑安全性数据可靠性和事务响应时间的问题。    Python的用例 通过从SQL调用Python脚本而不是依赖于中间件可以更容易地完成某些任务。特别是在数据库中事件发起任务的情况下。任务可能包括 通过TCP / HTTP / SOAP向网络系统发送数据或从基于网络的系统接收数据。 利用本地平台资源如文件系统网络或GPU。 通过使用通用数据格式如JSONXML或YAML构建一个或多个系统之间的实时集成。 通过与外部应用程序通信生成数据或文件。 当然很少有潜在的缺点 如果您使用Python需要互联网访问那么存在必须保持安全的数据可能会被意外地通过互联网共享的风险。任何互联网访问必须由网络仔细监管。 允许通过“启用外部脚本执行”在服务器上执行Python脚本来暴露安全风险。 相同服务器上的资源密集型Python脚本可能会影响大型OLTP系统上正在进行的事务的性能。 衡量这些优点和缺点似乎有时候Python可以发挥有用的作用如果可以最小化风险。作为一个例子让我们考虑一下我们如何使用Python构建数据缓存系统供应用层使用。   缓存示例解决方案 缓存数据可以提高应用程序的性能。以缓存的存储开销为代价当遇到与数据库的聊天网络通信以及数据库面临重复查询时资源消耗高的情况下我们可以获得有用的性能提升。当我们构建缓存基础架构时我们面临着什么时候刷新缓存的内容的常见问题。我们倾向于在一定时间间隔之后采用重建缓存的简单解决方案。然而这是非常低效的。当数据更改时刷新缓存更好只刷新改变的内容。在创建更新或删除数据时我们可以实时接近实时。有很多工具和框架可用于解决刷新问题但是他们遇到如何确定数据发生了什么变化以及何时发生变化的问题。数据库是最好的所有能够做到这一点。 对于我们这里提供的缓存系统我们将把自己限制在微软堆栈中以防止Python本身。 Microsoft SQL Server 2017CPT     服务代理隔离事务数据库  Python执行脚本可以通过HTTP更新缓存Python 3.5可执行文件与Anaconda发行版中的库 Net 4.5.2             ASP.Net MVC为我们的示例Web UI             ASP.Net WebAPI封装缓存存储为我们的示例解决方案。 以下是我们的示例解决方案缓存系统的图示   所述WebApplication的提供用户接口来读取和更新数据。 我们示例缓存存储解决方案中的RESTful.Cache应用程序是使用ASP.Net WebAPI2构建的其内容类型为JSON。HTTP-GET操作从本地缓存静态集合传送数据。 MS SQL Server 2017CPT是一个数据库服务器 TransDB OLTP数据库处理事务繁忙。 Cacher执行Python脚本执行的代理数据库启用了启用“外部脚本启用”选项的脚本执行。请参阅 Microsoft.Doc启用外部脚本的服务器配置选项。 Service Broker是SQL服务器的可靠消息传递框架有助于桥接 Cacher -Agent和 TransDB。可以处理 Cacher -Agent接收的消息来更新缓存。 Python是使用SQL 2017CPT的数据库系统的集成脚本语言。 解决方案的架构 在我们的解决方案中我们将在RESTful.Cache应用程序中缓存实体“ 产品类型名称”并且WebApplication将具有创建新产品类型条目并从RESTful.Cache读取的功能。 条件 除此之外还有一些先决条件和一些我们需要考虑的信息。 SQL实例其中CacheDB托管必须有“麻与Python茅根学习服务”安装 要在CacheDB中使用TSQL执行Python脚本应运行SQL Service MSSQLLaunchpad或SQL Server Launchpad。请参阅Microsoft.NetMicrosoft机器学习服务 使用SP_Configure启用外部脚本执行请参阅Microsoft.Doc启用外部脚本的服务器配置选项 sp_configure external scripts enabled, 1;   RECONFIGURE; 该TransDB和cacher的托管环境应该有它的实例创建Service Broker端点如果这是在两个不同的SQL实例独立托管那么每个实例都应该有自己的端点。 该TransDB和cacher的数据库应该启用代理。请参阅Microsoft.Technet如何激活数据库中的Service Broker消息传递   ALTER DATABASE TransDB SET ENABLE_BROKER;   GO   ALTER DATABASE CacheDB SET ENABLE_BROKER;   GO .NET应用程序 该WebApplication的有两个主要的MVC行动; 一个使用HTTP动词POST 更新TransDB中的一个新实体另一个使用HTTP动词GET从缓存返回产品类型列表的操作。   RESTful.Cache有两种操作方法一种是使用HTTP动词POST 更新新添加的实体产品类型的缓存另一种用于从本地缓存获取所有缓存的产品类型。   对于我们的示例解决方案这两个应用程序都在IIS中托管在各个应用程序池标识下以保护应用程序安全 但是对于实际的系统实现托管环境可以是内部网或互联网环境中的单个Web服务器。   该RESTful.Cache授权规则只有两个服务帐户来处理HTTP请求即   abc \ WebApp_SVC和abc \ CacherAgent_SVC。abc \ CacherAgent_SVC服务帐户允许SQL中的Python脚本通过HTTP到达应用程序来刷新缓存。 abc \ WebApp_SVC用户用于具有授权规则模式的WebApplication以允许访问RESTful.Cache应用程序。 SQL数据库和服务代理 OLTP数据库TransDB有几个对象包括表存储过程和Service Broker对象。   为了我们的目的UpdateProductType过程使用新记录更新ProductType表AcknowledgeProductTypeCache过程是CacheIntegration队列的激活过程当处理消息时即从Cacher数据库接收来自目标的确认。它还处理异常如果有的话并将其记录在CacheIntegrationError表中。 有关Service Broker的更多信息请访问Microsoft.DOCSQL Server Service Broker   对于我们的示例解决方案TransDB是创建新的ProductType记录时创建更新缓存消息的源数据库执行操作的消息它具有UpdateMessage消息类型CacheIntegration合同将CacheSource服务发送到目标数据库。该服务具有CacheQueue由Service Broker组件用于执行可靠的消息传递。该ToCacheTarget路由具有信息传递消息到它的目标。 为了消除任何增加事务处理时间的机会以及避免事务数据库中其余数据的任何安全风险我们将通过使用我们的示例解决方案中名为Cacher数据库的代理数据库来解除缓存更新过程。Service Broker消息传递基础设施将有助于连接TransDB和Cacher数据库基于事件的消息处理将使我们能够更新驻留在基于网络的系统上的缓存存储。该cacher的数据库是打在订单的最新消息到达时进行缓存刷新代理的角色。它通过执行Python脚本更新缓存。     Cacher数据库具有 CacheLog和CacheIntegration错误表以跟踪缓存何时被刷新并且具有在缓存刷新过程中可能发生的任何错误的记录。 所述PerformCacheUpdate过程从接收传入消息TransDB通过服务代理。如果消息的类型是UpdateMessage那么它将执行另一个过程UpdateWebCache执行Python脚本执行。 该UpdateWebCache程序的执行结果被在于然后获取插入在表变量保持CacheLog在消息对话结束表。 当接收到的消息具有错误或结束消息类型时过程也会结束对话并且在错误类型上将异常日志写入CacheIntegrationErro r表中。 该UpdateWebCache程序提取标识和名称从作为参数传递传入的XML消息并在Python脚本文本嵌入这些值。脚本执行结果集是类型为UpddateCacheLog的结构化表。     该cacher的的服务代理对象主要是UpdateMessage消息类型和CacheIntegration合同是相同的TransDBCacheQueue有一个称为激活过程PerfomCacheUpdate一个叫服务CacheTarget和路线大约有信息TransDB的服务CacheService和端点地址。 对于我们的示例解决方案数据库队列的最大队列读取器设置为1。如果需要可以增加这一点例如如果数据修改很高并且您需要增加缓存刷新率。 服务代理端点 对于我们的解决方案数据库托管在同一个实例上因此两者都使用相同的Service Broker Endpoint来发送和接收消息。   但是如果我们要在单个实例上托管数据库那么每个SQL实例的服务帐户都应该有一个Service Broker端点。并且这两个SQL实例都应该有权限允许将消息发送到对方的端点。连接的授权和授予可以通过以下TSQL命令集完成。请注意在消息传递基础结构中有一个发送方另一方是接收方正如所提到的如果SQL实例是发送方和接收方的一部分则每个实例都应该有自己的进程标识。下图显示了每个SQL Server在其自身身份下运行的方式。   这是用于在Cacher数据库的SQL实例中授权和授予端点连接到TransDB的SQL实例服务帐户[identity]的SQL代码。 ALTER AUTHORIZATION ON ENDPOINT::ServiceBrokerEndpoint TO [abc\TransDB_SVC]   GO   GRANT CONNECT ON ENDPOINT::ServiceBrokerEndpoint TO [abc\TransDB_SVC]   GO 类似地这里是用于授权和授予端点连接到Cache的SQL实例服务帐户[Identity]的代码在TransDB数据库的SQL实例中。 ALTER AUTHORIZATION ON ENDPOINT::ServiceBrokerEndpoint TO [abc\CacherAgent_SVC]   GO   GRANT CONNECT ON ENDPOINT::ServiceBrokerEndpoint TO [abc\CacherAgent_SVC]   GO Python脚本 这是Python脚本文本在TSQL变量UpdateCache中保存为字符串。它具有具有逻辑的UpdateCache方法通过传递具有作为输入参数接收的Name和Id字段的数据对象来对RESTful.Cache执行HTTP POST调用。它接收一个JSON对象并将其作为方法的输出结果返回给调用者。 在脚本结束时返回的对象被转换为数组因此可以将其结构化为SQL结果。 DECLARE UpdateCache NVARCHAR(MAX) N import pandas as PND #data structure package def UpdateCache(name,id):   import requests as HTTP #http request package   #Perfom HTTP POST to update cache   httpRequest HTTP.post( http://localhost/RESTful.Cache/ProductType/UpdateCache ,{ Name :name, Id :id})   cacheLog httpRequest.json()   return cacheLog   #Update cache and build log element log [UpdateCache( Name , CAST(Id as VARCHAR(10)) )] #Return data frame i.e. table structure from SQL OutputDataSet PND.DataFrame(datalog) ; 在SQL Server中使用Python脚本时有一些值得注意的事情。 我们可以编写一个连续的脚本或将它们分组到我们在这个解决方案中所做的方法中。或者我们可以创建一个内联类或创建一个包并在命令提示符下使用PIP命令在python中导入它们。 在这个MST的CPT版本中import语句只能在它放置的范围内导入包因此我们可以注意到ImportCache中存在导入请求import语句并且import语句导入熊猫存在于脚本的顶部在脚本的最后。 方法UpdateCache的输出对象立即转换为数组这样pandas.DataFrame可以将对象转换成数据结构SQL Server可以轻松地将其解释为具有行和列的表。 分配给OutputDataSet对象的数据结构在SQL Server的TSQL执行上下文中可用。 最后一行程序dbo。UpdateWebCacheWITH RESULT SETSAS TYPE dbo.UpdateCacheLog; 具有用户定义的表类型dbo.UpdateCacheLog它有助于保持底层列的顺序并避免在从接收的数据结构生成结果集的过程中发生任何不匹配。另一种方法是在Python和结果集中构建映射列结构。 数据库安全 TransDB是一个OLTP数据库我们不希望对系统发生任何安全漏洞因此通过我们的示例解决方案这种数据库可以托管在未安装“机器学习服务”的SQL实例上。Cacher是能够到达基于网络的系统的代理因此可以保留在安装机器学习服务的SQL实例上。两个SQL实例都可以具有单独的服务帐户身份该身份已被授权仅连接到特定端口的Service Broker端点。安全认证通信的另一种方法是使用证书。对于Service Broker端点授权请参阅Microsoft.Technet如何通过使用证书允许服务代理程序网络访问Transact-SQL 更多细节。 所有组件放在一起 放置所有组件后我们的WebApplication允许我们创建一个新的ProductType并通过RESTful HTTP调用从刷新的缓存中列出相同的产品类型。在墙后面有管理数据的组件高速缓存对前端应用程序是不可见的。   结论 诸如电子商务医疗电子治理等应用可以从良好的缓存实现中受益。通过扩展我们熟悉的技术的使用我们可以获得易于维护的解决方案而无需学习新框架或功能的成本。 我们的示例解决方案符合我们所需要的 当通过其中一个OLTP事务创建或修改数据时系统刷新基于网络的缓存系统进行读取访问。 它能够使用异步事件来刷新缓存靠近实时。这不会影响原始交易的表现。 它可以通过HTTP在事务和缓存系统之间绘制一条安全线以保持数据在OLTP数据库中的安全。 它具有最小的监控功能; 一个缓存日志和异常日志可以进一步加强构建管理控制台。 使用Service Broker消息组件解决方案足够灵活可以在异步消息处理发生时触发或到达基于网络的系统。换句话说数据库与SQL Service Broker消息集成在一起并且基于接收到的数据执行一个动作来获取或发送数据到外部数据层以外的系统。 通过使用服务代理消息隔离外部系统触发专用数据库内的事件有助于保护OLTP数据库的事务和数据。  本帖转译于Hitendra Patel2017年8月04日发布于redgote 枢纽上的帖子Python和SQL Server 2017的强大功能   地址链接https://www.scarydba.com/2017/06/20/database-fundamentals-3-whats-database/ 原文地址http://www.cnblogs.com/fenglianchen/p/7670328.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.pierceye.com/news/126031/

相关文章:

  • 提交网站的入口地址网站建设灬金手指下拉十五
  • 连云港建设局网站学校网站建设管理相关规定
  • 什么网站做玩具的外贸网站监控系统
  • 从事网站美工建设厦门网站制作企业
  • 网站后台传图片南昌做网站要多少钱
  • 网站包括什么国内最大的域名交易平台
  • 做营销型网站 公司哈尔滨展览设计公司
  • 网站设计费用多少钱产品网页设计教程
  • 深圳公司网站建设设计网站推广的意义和方法
  • 网站需要哪些费用免费营销型网站模版
  • 如何做购物网站的教程wordpress酷炫插件
  • 建设信用卡网站登录网站建设和微信小程序
  • 邓州企业网站艺术设计方案
  • 广州市住房住建局网站永久免费的云电脑
  • 建设网站后如何上线不用服务器做网站
  • 建站服务论坛国外做外贸哪个网站好些
  • 营销型网站试运营调忧仿别人网站
  • 低价网站制作企业云南网站开发公司
  • 成都市建设厅网站查询十九冶成都建设有限公司网站
  • 建电商网站要多少钱建设绿色食品网站
  • 建行个人网上登录入口优化网站结构一般包括
  • 好看的网站页面WordPress知更鸟主题怎样安装
  • 如何查网站是否备案免费建网站代码
  • 曲沃网站开发新注册的公司怎么做网站
  • 企业网站无线端怎么做塑胶科技东莞网站建设
  • 图片发到哪些网站 seo阜沙网站建设
  • 企业开源建站系统大连百度首页优化
  • 通辽做网站有没有智慧软文发稿平台
  • 网站别人做的我自己怎么续费福州网站建站公司
  • 青岛高端网站开发wordpress修改logo地址