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

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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元