第1讲大数据架构设计理论与实践传统数据处理系统存在的问题.pptx
第十九章大数据架构设计理论与实践传统数据处理系统存在的问题系统架构设计师第二版
综合知识精讲培训课讲师:邵宗其
考点分析本章主要学习大数据方向软件架构的发展和工作中的实践。根据考试大纲,本小时知识点会涉及案例分析题和论文题(各占25分)。本小时内容侧重于理解性记忆,按照以往的出题规律,部分基础知识点来源于教材,部分考查内容需要灵活运用相关知识点。知识架构如图所示。大数据架构设计理论与实践
导读大数据架构主要面向大数据的容量体量、类型多样、高速实时、客观真实、价值可观、变化多样和复杂多源的特性,既要构建高质量属性的架构解决方案,又受制于成本、性能、可扩展性等诸多条件。同时,云计算、物联网以及边缘计算等客观环境的发展,也对大数据架构的设计提出了弹性、容器化等新的要求。伴随多年的研究,当前主要技术实践中以Lambda架构、Kappa架构和IOTA架构较为典型,但新版考试大纲中主要考查Lambda架构、Kappa架构在设计中的理论、理解及实践。大数据架构设计理论与实践
传统数据处理系统存在的问题大数据架构设计理论与实践数据量大增加异步处理队列数据量从兆字节?(MB)、吉字节(GB)的级别到现在的太字节?(TB)、?柏字节?(PB)级别。直接访问数据库系统。无法支撑用户请求负载,无法及时响应、超时读写分离技术建立缓冲,分批请求读写分类技术大数据技术数据库分区
增加异步处理队列在Web服务器和数据库中间加入一层异步处理的队列,缓解数据库的读写压力当Web服务器收到页面请求时,会将消息添加到队列中。在数据库端,创建一个工作处理层,定期从队列中取出消息进行处理,例如每次读取100条消息。这相当于在两者之间建立了一个缓冲。没有从本质上解决数据库过载(Overload)的问题当工作处理层无法跟上业务对于数据修改的请求时,就需要增加多个工作处理层并发执行。数据库又将再次成为响应请求的瓶颈。
数据库分区分区的方式通常以Hash值作为key。这样就需要应用程序端知道如何去寻找每个key所在的分区。当之前的分区无法满足负载时,就需要增加更多分区resharding的工作非常耗时而痛苦,因为需要协调很多工作,迁移、更新分区地址可能导致数据写到错误的分区,因此必须要编写脚本来自动完成,且需要充分的测试。在传统架构上进行继续挖掘被证明是“挤牙膏”。数据库分区
读写分类技术需要考虑读写分离技术(Master-Slave)和分库分表技术。应用程序不仅仅需要了解数据的存储位置,还需要了解数据库的存储格式、数据组织结构(schema)等信息,才能访问到正确的数据。什么是分表分库。分为在线库,历史库
大数据技术Kafka、Storm、Trident、Samza、Spark、Flink、Parquet、Avro、Cloudproviders等新技术。基于Hadoop的Map/Reduce管道(使用Kafka,Avro和数据仓库等现代二进制格式,即AmazonRedshift,用于临时查询)。基于新技术,不少企业开发了自己的数据处理方式。
本节小结数据量大引发了传统数据库的负载问题。异步处理队列。数据库分区。读写分类技术和分表分库。Hadoop大数据技术。
谢谢欣赏THANKYOU