现代数据架构的7个关键技术

本文涉及的产品
简介:

企业IT基础设施平台的重新构建是一项复杂的任务。重新构建平台通常由一系列变化的关键业务驱动因素引发,现在情况正是如此。简而言之,主导企业IT技术的近30年的平台无法再满足推动业务发展所需的工作负载的需求。

数字化转型的核心是数据,它已成为商业中最有价值的事务。由于格式不兼容,传统数据库的局限性,以及无法灵活地合并来自多个来源的数据,组织长期以来一直受到其使用数据的困扰。新兴技术的出现有望改变这一切。

改善软件部署模式是消除数据使用障碍的一个主要方面。更高的“数据灵活性”还需要更灵活的数据库和更具可扩展性的实时流式传输平台。实际上,事实上,至少有七种基础技术可以结合在一起,为企业提供一种灵活的、实时的“数据结构”。

与他们正在取代的技术不同,这七种软件创新能够扩展以满足许多用户和许多用例的需求。对于企业而言,他们有能力实现更快、更明智的决策,并创造更好的客户体验。

1、NoSQL数据库

RDBMS在数据库市场上占据了近30年的主导地位。但是,面对数据量的不断增长以及数据处理速度的加快,传统关系数据库已经显示出其不足。NoSQL数据库由于其速度和扩展能力而被接管。就文档数据库而言,它们从软件工程的角度提供了一个更简单的模型。这种更简单的开发模式可加快产品上市速度,并帮助企业更快响应客户和内部用户的需求。

2、实时流媒体平台

实时响应客户对客户体验至关重要。在过去的10年中面向消费者的行业经历了巨大的颠覆,这并不神秘。这与企业对用户实时做出反应的能力有关。转向实时模型需要事件流。

消息驱动的应用程序已存在多年。然而,如今的流媒体平台的规模比以往要大得多,成本要低得多。最近流媒体技术的进步为许多优化业务的新方式打开了大门。通过为软件开发和测试团队提供实时反馈循环,事件流还可以帮助企业提高产品质量,并更快地开发新的软件。

3、Docker和容器

容器对开发人员和操作人员,以及组织本身都有很大的好处。传统的基础设施隔离方法是静态分区,即为每个工作负载分配一个单独的固定资源块(无论是物理服务器还是虚拟机)。静态分区可以更容易排除故障,但是实质性未充分利用的硬件成本很高。例如,Web服务器平均只使用了可用总计算量的10%。

容器技术的巨大好处是它能够创造一种新的隔离方式。那些最了解容器的人员可能会相信他们可以通过使用Ansible、Puppet或Chef等工具来获得同样的好处,但实际上这些技术具有很强的互补性。此外,无论企业如何努力,这些自动化工具都无法实现在不同基础设施和硬件设置之间自由移动工作负载所需的隔离。同一个容器可以在本地数据中心的裸机硬件上或公共云中的虚拟机上运行,无需进行任何更改。这是真正的工作负载移动性。

4、容器存储库

容器存储库对于敏捷性至关重要。如果没有用于构建容器映像的DevOps进程以及用于存储它们的回收站,每个容器都必须建立在每一台机器中,才可以运行。通过存储库,可以在读取该存储库的计算机上启动容器映像。在多个数据中心处理时,这变得更加复杂。如果在一个数据中心内建立一个容器图像,那么如何将图像移动到另一个数据中心?理想情况下,通过利用融合数据平台,企业将有能力在数据中心之间对存储库实现镜像。

这里的一个关键细节是,内部部署和云计算之间的镜像功能可能与企业的数据中心之间的镜像功能差异很大。融合数据平台将通过提供这些功能为企业解决这个问题,而不管组织中使用的是数据中心基础设施还是云计算基础设施。

5、容器编排

每个容器看起来都有它自己的私有操作系统,而不是静态硬件分区。与虚拟机不同,容器不需要计算和内存的静态分区。这使管理员能够在服务器上启动大量容器,而无需担心大量的内存量。有了像Kubernetes这样的容器编排工具,启动容器,移动它们并在环境中的其他地方重新启动容器变得非常容易。

在新的基础设施组件到位之后,诸如MapR-DB或MongoDB之类的文档数据库,MapR-ES或Apache Kafka之类的事件流式传输平台(诸如Kubernetes之类的编排工具),以及在Docker容器中实现用于构建和部署软件的DevOps过程之后,人们必须了解应该在这些容器中部署哪些组件的问题。

6、微服务

从历史上看,微服务的概念并不新鲜。如今的差异在于,启用技术(NoSQL数据库、事件流、容器编排)可以随着数千个微服务的创建而扩展。如果没有这些数据存储、事件流和架构编排的新方法,大规模微服务部署将不可能实现。管理大量数据、事件和容器实例所需的基础设施将无法扩展到所需的级别。

微服务都是与提供敏捷性有关。微服务通常由一个功能或一小组功能组成。工作的功能单元越小且越集中,创建、测试和部署服务就越容易。这些服务必须解耦,否则企业将失去具有敏捷性的微服务承诺。微服务可以依赖于其他服务,但通常通过负载平衡的REST API或事件流。通过使用事件流,企业可以利用请求和响应主题轻松跟踪事件的历史记录。由于整个请求流和请求中的所有数据都可以在任何时间点重播,因此这种方法对故障排除具有重大的益处。

由于微服务封装了一小部分工作,并且由于它们彼此分离,所以随着时间的推移更换或几乎没有障碍地升级服务。在原有模式下,依赖像RPC这样的紧密耦合意味着不得不关闭所有连接,然后重新建立它们。负载均衡是实现这些的一个大问题,因为人工配置使它们容易出错。

7、功能即服务

正如人们已经看到微服务在行业中占据主导地位,所以人们也会看到无服务器计算的兴起或者可能更准确地将其称为功能即服务(FaaS)。 FaaS以这样一种方式创建微服务,即代码可以包装在轻量级框架中,内置于容器中,按需执行(基于某种触发器),然后自动进行负载平衡,多亏有了轻量级框架。FaaS的美妙之处在于它让开发人员几乎完全专注于该功能。因此,FaaS看起来是微服务方法的合乎逻辑的结论。

触发事件是FaaS的关键组成部分。没有它,只有在需要完成工作的情况下,才能调用功能和消耗资源。功能的自动调用使得FaaS真正具有价值。想象一下,每当有人读取用户的配置文件时,都会有一个审计事件,这是一个必须运行以通知安全团队的功能。更具体地说,它可能仅过滤出某些类型的记录。它可以是具有选择性的,毕竟它是一个完全可定制的业务功能。需要注意的是,使用像FaaS这样的部署模型来完成这样的工作流程非常简单。

把事件放在一起

触发服务背后的魔力实际上不过是事件流中的事件。某些类型的事件比其他事件更频繁地用作触发器,但是企业如果希望成为触发器的事件都可能成为触发器。触发事件可以是文档更新,对新文档运行OCR过程,然后将OCR过程中的文本添加到NoSQL数据库。如果人们以更有趣的方式思考,每当上传图像时,都可以通过机器学习框架进行图像识别和评分。这里没有根本的限制。如果定义了一个触发器事件,发生了一些事件,该事件触发该功能,并且该功能完成其工作。

FaaS将成为采用微服务的下一个阶段。然而,接近FaaS时必须考虑一个主要因素,那就是供应商锁定。 FaaS隐藏了特定的存储机制、特定的硬件基础架构和编排,这对开发人员来说都是伟大的事情。但由于这种抽象,托管的FaaS产品是IT行业有史以来最大的供应商锁定机会之一。由于这些API不是标准化的,因此从公共云中的FaaS产品迁移几乎是不可能的,不会丢失已经完成的近100%的工作。如果通过利用来自融合数据平台的事件以更有条理的方式接近FaaS,那么在云计算提供商之间移动将变得更加容易。


原文发布时间为:2018-11-28

本文来自云栖社区合作伙伴“大数据地盘  ”,了解相关信息可以关注“大数据地盘  ”。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
设计模式 前端开发 测试技术
Flutter 项目架构技术指南
探讨Flutter项目代码组织架构的关键方面和建议。了解设计原则SOLID、Clean Architecture,以及架构模式MVC、MVP、MVVM,如何有机结合使用,打造优秀的应用架构。
Flutter 项目架构技术指南
|
1月前
|
算法 数据挖掘 调度
隐语实训营-第3讲:详解隐私计算框架的架构和技术要点
主要介绍隐语的隐私计算架构,并对每个模块进行拆解、分析,以期望不同使用者找到适合自己的模块,快速入手。
48 4
|
1月前
|
Kubernetes 开发者 Docker
基于容器技术的微服务架构
基于容器技术的微服务架构
33 0
|
1月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
84 1
|
1月前
|
监控 负载均衡 安全
构建高效微服务架构的五大核心技术实践
【2月更文挑战第14天】 在当今软件开发领域,微服务架构已成为构建复杂系统的首选模式。它通过将大型单体应用拆分成一系列小型、自治的服务来提高可维护性和扩展性。本文深入探讨了构建高效微服务架构的五大核心技术实践,包括服务拆分策略、API网关设计、服务发现与注册、熔断机制以及分布式追踪与监控。文章不仅分享了实践中的经验教训,还提供了实施这些技术时的具体建议和最佳实践。
28 1
|
1月前
|
分布式计算 算法 调度
课3-详解隐私计算框架的架构和技术要点
隐语架构涵盖产品、算法、计算、资源和硬件五层,旨在实现互联互通和跨域管控。产品层包括SecretPad等,简化用户和集成商体验。算法层涉及PSI/PIR、SCQL和联邦学习,提供隐私保护的数据分析和学习。计算层如RayFed、SPU、HEU等,支持分布式计算和密态处理。资源层的KUSCIA用于跨机构任务编排,硬件层涉及FPGA等加速器。互联互通支持黑盒和白盒模式,确保不同平台协作。跨域管控则强调数据流转控制,保护数据权益。
|
1月前
|
存储 前端开发 BI
基于云计算技术的B/S架构智能云HIS系统源码 集挂号、处方、收费、取药、病历于一体
云HIS是针对中小医院机构、乡镇卫生室推出的一套基于云端的云HIS服务平台,借助云HIS,将医院业务流程化,大大提高医院的服务效率和服务质量,为客户提供医院一体化的信息解决方案。云HIS主要功能:包含门诊收费管理,住院收费管理,门诊医生工作站,住院医生工作站,住院护士工作站,辅助检查科室管理,药房药品管理,药库药品管理,报表查询。满足诊所、中小医院业务中看诊、收费、发药、药库管理、经营分析等多环节的工作需要。
45 4
|
28天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
32 0
|
1月前
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
51 0
|
28天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0