var _hmt = _hmt || []; (function() {   var hm = document.createElement("script");   hm.src = "https://hm.baidu.com/hm.js?8c9c5a8618dc4aea3be27b32962e5871";   var s = document.getElementsByTagName("script")[0];    s.parentNode.insertBefore(hm, s); })();
400 050 6600
数据分析师

手机号

验证码

30天自动登录

具有内存技术服务未来的高性能微数据服务应用程序

来源:CPDA数据分析师网 / 作者:数据君 / 时间:2020-08-27

您如何在微服务架构中处理数据?

在将应用程序分解为一组服务的过程中,会想到的一个问题是如何处理数据。应用程序很可能会将数据存储在关系数据库中,在转向微服务时,通常认为让每个服务拥有自己的数据是一种好习惯。原因很明确:将一个应用拆分为一组服务,可以使不同的组件以不同的速度发展;有些可能非常稳定,而另一些可能会非常频繁地更改,但是如果它们全部共享一个公共的基础数据库,那么您就不能在不影响所有服务的情况下更改数据库架构,从本质上讲,您仍然受与应用程序整体时相同的规则和限制的约束。

 

有不同的处理方法

一种当然是拆分数据,将服务之间的碎片分开,您得到一个数据库…您得到了一个数据库…您得到了一个数据库。如果服务要求访问它不是数据所有者的数据项,那么它将调用该数据所有者的服务。这是接近微服务实践的方法,但是(专有数据库的)软件许可成本以及具有许多微安装的数据库管理工作量的增加可能使其不切实际。

 

更好的方法是应用关注点分离

并保留记录系统不变,同时添加可操作的数据存储来满足微服务的需求,这提供了向每个服务提供自定义数据视图的能力,而不必更改基础数据库架构,运营数据存储中重要的特征是什么?考虑到我们之前探讨的趋势,特别是支持越来越在线和移动的用例,并且对速度(低延迟)的需求日益增长,我认为对于这种服务,需要使用内存技术要求高性能。

 

我们的运营数据存储的基本缓存用例

有许多开源的内存平台可以充当运营数据存储的角色,它们都提供了基本的键值存储功能,可用于基本的缓存用途,非常适合于操作数据存储,有些还远远超出了诸如分布式计算之类的功能,给出建议的标准以确保我们工具箱中的技术是多功能和多功能。

 

1、高速,低延迟的缓存功能,可减轻其他记录系统的负担,同时将检索速度提高至少一个数量级。

2、缓存部分或全部数据的能力;支持根据应用程序需求的缓存模式,例如直读,直写和后写。

3、使用生存时间和逐出策略管理缓存大小的能力。

4、不仅可以通过主键来检索数据,还可以使用布尔逻辑或类似SQL的谓词语法来查询缓存。

5、在缓存中存储完整对象的能力;任何对象关系映射都可以在不加载缓存的情况下完成,而不是在每次使用数据时完成,如果在从数据库中获取O / R映射时需要这样做。

 

正如我们的应用程序服务可以按比例扩展或缩小以满足工作负载需求一样

我们的运营数据存储区也可以弹性扩展-可以将其他节点添加到数据网格中,并且该软件将自动重新平衡数据分区以利用以下优势增加的容量(按比例放大时)或将数据合并到较少的节点上(按比例缩小时),每个数据分区的备份都会自动维护,因此,如果计划外的节点中断,则不会丢失任何数据。

 

缓存的重点是小化缓存大小并在内存中保留可能使用的对象

随着内存成本下降和延迟要求变得越来越严格,通常情况下会看到100%的数据保留在缓存中,以便所有访问都符合所需的SLA的情况,对于部分缓存,我们可以根据缓存未命中而延迟加载数据。如果是完整缓存,我们很有可能会在启动时完全加载缓存。如果基础数据库发生更改,则在这种简单的体系结构中,缓存中将包含陈旧的数据;设置生存时间将导致我们定期刷新缓存以将其小化。在不可接受的陈旧数据的情况下,如下所示的更高级的缓存体系结构可以将缓存与数据库更紧密地集成在一起。

 

如果我们的应用程序更改了缓存中的数据

则数据网格软件将同步更新记录系统(直写式缓存)或事后更新记录(后写式缓存),从而可以有效地批量更新数据库并提高交易吞吐量),具有流处理功能的运营数据存储的高级缓存用例到目前为止,我们已经描述了作为一组微服务部署的应用程序,以及作为保存数据的位置的可操作数据存储-但是数据初是如何进入系统的?我们假定数据已经保存在数据库中,但是显然它必须以某种方式到达那里。我们将注意力转移到系统的那一部分,看看是否可以改进它。

 

现代应用程序架构越来越多地包含某种流数据源

数据可能来自网页,移动设备,边缘设备或其他地方,但它们正在快速传递给我们,需要在到达时进行处理,可以为您提供处理此传入数据流的功能,可以对数据进行过滤,转换,分析和存储,一个有用的组合是让您的流处理引擎充当您的运营数据存储或记录系统的提取转换加载引擎,以通过将数据库更改作为事件进行流传输来帮助使您的运营存储与记录系统紧密同步,根据传入的数据速率以及对延迟的容忍度,您可能还希望此解决方案在内存中。

 

流处理引擎是一个如此强大的处理平台

一旦到位,您无疑会发现它扮演着多个角色-数据摄取和更改数据捕获(如上所示)以及分析和事务处理,这些用例是引入流处理的好方法,因为我们已经有了一个缓存用例,并且流处理引擎为我们提供了一些扩展缓存功能的有用方法,但是当我们使用流处理引擎执行需要低延迟和高吞吐量性能特征的重要应用程序处理时,便可以为业务启用更有用的,通常更具战略意义的应用程序。

 

传入事件流是来自世界各地商人的销售点交易

由于仅在往返于中央数据中心的数据传输过程中就存在网络延迟,因此信用卡处理器通常具有非常狭窄的时间窗口(在某些情况下为几位毫秒)来决定是否是否批准交易。在这段时间内,处理器将需要进行多次检查,同时进行-帐户是否信誉良好?交易是否超出了持卡人的可用信用额度?根据卡的历史记录,当前位置,商家信息以及许多其他因素,交易似乎有欺诈性吗?如果所有确定所需的数据都存储在内存中,并且所有计算和计算都可以在很大程度上分散和并行化。

 

在许多行业中都发现了类似的用例-用各种边缘设备(例如,物联网传感器)替换信用卡销售点终端

并且相同的体系结构可以支持对车辆队列的实时跟踪,或监视主要制造商整个工厂的物料流,事实证明,在流处理技术的一个更令人兴奋的新兴市场之一中,流处理引擎也是使机器学习投入运营的理想工具。数据科学家开发的模型可能无法使用数据科学家用来构建和训练模型的相同工具集轻松进行大规模操作,同样这个问题主要是规模问题之一,训练模型非常成批处理,可以按顺序执行,并且完成训练的时间很重要,但它并不妨碍业务运营,但是一旦模型成为生产工作流程的一部分,就可以将其扩大规模以处理许多并发任务变得至关重要。

 

我们用于缓存体系结构的相同组件可以在事务处理体系结构中重用该事务处理体系结构支持对流输入数据的高容量,低延迟处理,并与使用机器学习模型进行分析相集成在交易上。

 

CPDA企业内训

https://www.cpda.cn/trainning/

 

cpda项目数据分析师为什么要更名?

https://www.chinacpda.com/question/4504.html

 

海南智企数据分析师事务所

https://www.chinacpda.com/shiwusuo/14202.html

 

王兴海老师 高级经济师

https://www.chinacpda.com/shizi/9433.html

 

用数据改变人生,获得CPDA证书仅是一个开始

https://www.chinacpda.com/shouquanzhongxin/14854.html

 

大数据专业就业前景及就业方向如何?

https://www.chinacpda.com/wenti/11706.html

 

CPDA数据分析师学习方式和课程体系

https://www.chinacpda.com/xuexiarea/18089.html

 

数据分析师的职业进阶之路

https://www.chinacpda.com/zixun/4048.html

 

《大数据人才培养体系标准》正式发布!

https://www.chinacpda.com/dongtai/9669.html

 

CPDA数据说给你带来精彩的视频案例讲解

https://www.chinacpda.com/videocenter/

 

数据分析师考核

https://www.chinacpda.com/examine/

 

数据分析师职业规划

https://www.chinacpda.com/career/

 

CPDA数据分析师授权中心

https://www.chinacpda.com/train/

 

数据分析相关动态

https://www.chinacpda.com/data/?page=3

 

数据分析师为您解答更多问题

https://www.chinacpda.com/qa/

 

数据分析案例展示

https://www.chinacpda.com/case/

 

查找您周边省份授权培训中心:

https://www.chinacpda.com/train/

 

2020CPDA数据分析师线上报名:

https://www.chinacpda.com/baoming.php

 

CPDA数据分析明星导师:

https://www.chinacpda.com/startutor/

 

CPDA数据分析师培训优秀学员:

https://www.chinacpda.com/student/

 

免费客服热线:400-050-6600

商业联合会数据分析专业委员会

 

Prev article

为什么企业越来越多地使用图技术

Next article

CPDA数据分析师专属沙龙 |学霸亲授 考试通关秘笈

数据分析师

报名咨询

数据分析师

报名缴费

数据分析师

客服中心

数据分析师

课程服务

数据分析师

认证服务