如何利用数据架构带动企业增长?

2024-02-18 17:20

本文主要是介绍如何利用数据架构带动企业增长?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

对于架构师而言,技术的发展是无尽的,在搭建和实践智能数据架构的过程中,架构师们都会或多或少地遇到一些疑惑和挑战,如何解决在架构建设中遇到的某些问题?架构建设的领域又有什么新的行业动态和技术方法?

近日,在个推TechDay全国沙龙北京站的现场,几位资深架构师围绕“以智能数据架构,挖掘增长金矿”的主题,开启了对智能数据技术的深入探讨。

 

贝壳金服2B2C CTO 

史海峰 《架构之十年磨剑,大巧不工》

在传统的IT行业中,企业级业务系统是技术水平的高峰,比如电信、金融、税务系统。以电信行业为例,它有其独有的行业特征:业务系统本身就是生产系统,信息化程度高;24小时全天候跨地域不间断地提供服务;业务复杂,功能多样等。电信行业中以中国移动为代表的架构设计规划最为领先,该架构有一套完整的设计规范,整体建设周期也很长。

而在PC互联网时代,电子商务纷纷崛起,很多互联网电商平台都面临着从自营到平台化转变的挑战。自营与平台化最大的区别在于,自营只有一个商户,而真正的平台则需要像云计算一样,支持多商户的入驻与经营。对于架构师来说,要实现这样的平台转型,需要有清晰的业务系统架构总图、系统架构蓝图以及技术架构规划。

进入到移动互联网时代,手机的普及使得O2O快速发展。O2O平台对于系统稳定性的要求非常高,而且对业务发展的响应速度也提出了新的 ,其所需要的技术架构非常复杂、需要有严谨的基础架构和运维机制,还要维持创新能力。

到了产业互联网时代,架构师应该对行业有更深入的理解和实践,同时,也要有相应的架构思维,从“点、线、面、体”各维度提升认知,在进行架构建设时,架构师不仅要考虑到技术上实现的可能性,也要考虑到行业特点,以及企业各个方面对于互联网技术的态度与需求。

 

个推平台架构主管

王志豪 《微服务网关架构实践

微服务是指,将单一的应用程序拆分成多个微小的服务,各个小服务之间低耦合,高内聚,每个小的服务可以单独进行开发,不依赖于具体的编程语言,也可以使用不同的数据存储技术,各个服务可以独立部署,拥有各自的进程,相互之间通过轻量化的机制进行通信,所有的服务共同实现具体的业务功能。

个推整体的微服务架构,主要是基于Docker和Kubernetes进行实践的。个推将应用服务分为三层,最上层是API网关,为服务提供统一的入口;第二层是业务逻辑层,主要实现具体的业务逻辑;最底层是基础服务层,为同一产品线下的不同产品提供共同的基础服务。

在构建整个微服务体系时,个推选择了研发自己的网关。目前市面也有很多优秀的网关产品,但都并不是特别适合个推的微服务体系。

第一,个推的配置和服务注册与发现均基于Consul实现的;

第二,很多的开源的网关的配置相对于个推的需求略显复杂;

第三,由于不同的功能很难用统一的网关去实现,个推更希望在API网关的功能扩展上保持足够的灵活性;

第四,个推的微服务体系是基于Docker和Kubernetes进行实践的,其他的网关较难直接融入个推的微服务体系。

个推选取了OpenResty+Lua作为实现网关的技术选型。其中,OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,Lua则是一个较为轻量的、扩展性较强的语言。同时,个推也借鉴了Kong和Orange的插件机制,通过插件的方式实现网关功能的扩展。

个推的微服务网关的设计重点,体现在插件的设计和请求过程,每个插件都会在OpenResty的一个或多个阶段起作用。在进行请求处理的时候,个推会按照产品配置和插件规则筛选出具体执行的插件,然后实例化插件,对流量进行处理。个推微服务网关还有规则配置简单,不同插件实现灵活,配置基于Conusl实时热更新等特点。在自己的微服务网关中,个推还实现了诸如动态路由、流量控制、Auth鉴权、链路追踪、A/B Testing等功能。

在实践微服务网关的过程中,个推还有一些有待改进的地方,比如:网关的弹性设计不够、网关还需要进一步与DevOps进行结合等。

 

百度主任架构师

郑然搜索引擎的大数据计算架构

搜索引擎的建设主要分为三个方面,第一,是内容抓取部分,爬虫会将海量信息抓取下来;第二,是检索系统部分,系统需要加入对已抓取信息的内容的理解,放到索引中;第三,是索引构建部分。

支持搜索引擎计算的建库部分中,有一个非常核心的系统:Tera,它是一个大型分布式表格存储系统,可以进行高性能、可伸缩的半结构化存储,同时支持存储万亿量级的超链和网页信息。Tera系统有八个核心技术

1、数据模型的全局有序;

2、实时的读写和区间扫描(这一点与数据模型的全局有序也密不可分);

3、可以支持行式存储和列式存储;

4、友好的分布式文件系统;

5、利用SSD cache热数据;

6、数据压缩,异步IO和分组提交等性能优化手段;

7、支持秒级分裂合并,并且能够实现自动负载均衡;

8、在分布式数据库上实现了分布式事务。

Tera是百度搜索引擎从批量处理迈向实时流式计算的最基础的架构,它可以提供实时的读写能力,同时提供海量存储和增量计算,并且节约增量成本。在研发方面,Tare也能够使中间数据可见、Debug能力增强。

本质上来说,Tera是一个分布式存储系统,它需要遵循分布式存储系统的设计要素,包括:明确数据模型、存储引擎的设计、数据分片的方式、如何管理元数据、高可用的设计以及应用的是分层式还是竖井式的存储。同时,存储系统也需要进行性能优化工程的实践,包括指标数据的采集和可视化、先做profiling再手动优化、面向SSD进行编程、Batch&pipeline&asynchronous和学习存储引擎的先进研究成果。

 

京东数科高级DBA

潘娟Sharding-Sphere云架构演化

互联网应用业务的特点是用户和数据量大、产品迭代迅速、业务组合复杂、突发性流量暴增以及7*24小时不间断提供服务,这些特点导致互联网架构从一开始的单体式架构发展到分布式微服务,再到云原生架构。分布式微服务使得系统解耦可用性得到提升,而云原生架构更好地实现了资源按需伸缩、自动化的部署和管理。同时,互联网数据库也在不断地升级,由于早期的RDBMS无法满足数据扩展的需求,NoSQL应运而生。再到后来,囊括分布式数据库、分布式数据库中间件以及云数据库的NewSQL也都纷纷顺应数据扩展的需求而产生。

作为分布式数据库的中间件,Sharding-Sphere可以借助底层成熟的关系型数据库进行增量持续的开发,这满足了分布式的需求,并且能够大大降低运维和接入成本。

同时,Sharding-Sphere也应该拥有四种核心能力:

1、能够通过数据拆分或读写分离,实现数据分片的能力。具体来讲,数据分片需要先通过SQL解析,对查询语句进行优化、合并和改写,再找到可以执行的SQL,最终实现结果归并。

2、分布式事务能够保证数据的一致性。在数据还未打散之前,我们可以用传统的ACID(Atomicity、Consistency、Isolation、Durability)保障数据的一致性;但在数据被打散之后,我们则需要引进新的BASE原则(Basically Available、Soft state、Eventual consistency)来保障数据一致。有两种方式可以实现分布式事务BASE:一种为XA,虽然XA支持回滚,能够达到强一致性,但当并发量变大,它的性能会急剧下滑;而另一种方式是柔性事务,在这种方式下,当业务量急剧上升时,并发性能只会发生略微衰退,并且能够保证,在最终达到一致。

3、数据库治理。Sharding-Sphere可以通过注册中心的操作,实现统一管理、熔断或失效转移的功能,同时可以通过拓扑图和调用链来打造APM监控。

4、弹性伸缩。Sharding-Sphere是由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar这3款相互独立的产品组成的,他们均提供标准化的数据分片、分布式事务和数据库治理功能。Sharding-JDBC更适用于单体应用和分布式微服务,它是一个轻量级的Java框架;Sharding-Proxy实现了MySQL的二进制协议,并且不存储任何数据;Sharding-Sidecar的核心是Service Mesh Sidecar,能够帮助本地的应用层与网络节点进行沟通。

转载于:https://my.oschina.net/u/1782938/blog/2987602

这篇关于如何利用数据架构带动企业增长?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721881

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.