云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_个人域名不备案可以吗_多少钱

小七 141 0

尽管SAP HANA"columnar store"代表了2010年代的数据库革命,但很明显,即使是面向列的数据库也无法在不断增长的离线移动场景中发挥重要作用,而到目前为止,由于缺乏优化的数据库平台,离线移动场景一直受到极大限制。

自SAP Mobile Platform(SMP)3.x 2013年,OData网关通过适当的"获取实体设置增量"服务向移动设备提供at-call增量支持—增量不再按照SMP 2.x"缓存数据库"进行管理。根据SAP关于"Delta查询支持"的最新文档:"您可以通过几种方式实现[OData的]Delta令牌,这些选项可以分为两种主要方法。使用这两种方法,响应的有效负载都会减少,但只有第一种方法也能够优化后端系统的性能。

[1]第一种方法在修改时计算增量:ABAP系统[Syclo Exchange Framework]在发生相关更改时跟踪这些更改。在请求时,增量已经准备好,因此可用……

[2]第二种方法是基于请求时的[增量请求日志]增量确定,系统比较新旧状态以找出哪些记录已被更改/删除。实现工作量相当小,中国移动物联网,但它并没有优化后端的性能。也就是说,您在完整集合中的记录越多,请求的响应时间就越长。"

这两种方法中的第二种对于大规模的离线移动场景来说是完全不够的,我们应该直接跳过它。第一种是基于Syclo交换框架(自smp3.x以来属于SAP Agentry框架的一部分)的,它要求每个不同的移动场景:(i)交换框架实现,(ii)交换处理程序,(iii)交换表,以及(iv)交换对象。后端的业务对象更改检测总是使用相应的SAP更新程序(程序、功能模块、类、ABAP例程等)中的钩子(如隐式增强、BAdIs)构建,并导致相应的更改上下文(而不是更改的字段值)存储在"交换表"中专用于特定的业务对象(如采购订单);其特点是为每个配置的"移动应用程序"添加一个单独的条目。

根据SAP,"交换表"并不打算成为历史记录表。它的表内容应该定期清除…为了获得最佳的运行时性能,建议在定义新的exchange表时使用辅助索引。",不仅需要非常重要的配置和开发工作来建立Syclo交换框架(类似的框架可能超出了典型SMB的承受能力,甚至在考虑新的许可证费用之前),还需要在后端对每个离线的新业务对象进行额外的更改;与测试和推出相关的影响,大数据的数据库,包括那些已经完全管理的业务对象。

回到我们开始的地方,虽然HANA"columnar store"可能代表了2010年代的数据库革命,但它是"面向列的表"–这显然提供了"更高的性能"不幸的是,对于越来越多的离线移动用例来说,这并没有什么好处。因此,在20世纪20年代需要一场新的数据库革命,为"增量操作"提供更高的性能,比如实现每个相关业务对象的"GET\u ENTITYSET\u Delta"OData服务所需的性能:ODelta服务。

根据SAP,"数据库表在概念上是一个二维数据按行和列组织的结构…。表可以按行顺序或列顺序表示。"因此,看起来我们所有的增量管理选项都已经用尽了,但事实上它们还没有用尽。我们只需要向一个经典的基于行的表中添加第三个维度:时间维度。下面是事务性ODelta表(存储多个事务性实体类型)的一个示例:

与任何Syclo交换表一样,对于(I)nsert、(U)pdate或(D)elete,可以有一个CHANGE\U标志,区别在于只有一个事务性ODelta表;为主数据创建一个单独的(技术上完全相同的)表,该表的使用寿命更长,并且可能需要支持逻辑删除而不是物理删除(因此根本没有删除,只有更新)。与Syclo交换表不同,两个必需的事务和主数据ODelta表可以基于标准化、低成本、不引人注目的作业,每n分钟轮询一次相关的数据库表/视图,而不是每n分钟乘以企业中移动设备的数量。轮询频率将在实体类型级别进行配置,因为有些实体类型很少更改(如主数据),有些仅用于低值场景(如员工请假请求);这意味着对实时数据库的需求可以针对每种实体类型进行单独定制—不同于每次业务对象更新时触发的Syclo交换框架。

您将从上述示例中看到,采购订单300000000第10项(以黄色突出显示)是(I)于2019年1月11日插入的,(U) 于2019年1月12日更新,最终(D)于2019年1月13日删除。那么,在2019年1月12日使用上午10点的DELTA时间戳调用采购订单项"GET_ENTITYSET_DELTA"ODelta服务时会发生什么呢?PurchaseOrderItem ODelta服务将使用这个Delta时间戳(CHANGED\u ON='20190112'和CHANGED\u AT GT'1000'和ENTITY\u TYPE='PurchaseOrderItem')根据其主键读取底层事务性ODelta表,并且它将立即识别给定PurchaseOrderItem上发生的更改当天上午11:35,几乎没有分贝成本。