百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

大数据最主要的三个工程问题,弄懂之后年薪百万不是梦

mhr18 2024-11-21 18:11 22 浏览 0 评论

随着信息技术的快速发展,人们所能采集、处理、应用的数据量成指数级增长,因此人们也进入了大数据时代。时代特征的改变,为我们的日常生活带来了很多变化,同时也给工程师们带来了很多新的机遇和挑战。


比如一码通、行程卡等技术,可以让之前无法实现的社会治理目标成为简单的数据查询与处理。而同时,如果技术不到家的话,那就可能出现像西安发生的一码通崩溃,导致社会大规模的混乱等现象。


那么,从工程上来讲,大数据技术都需要解决哪些实际问题呢?我们下面一起来看一看。


第一、大规模异构数据存储与处理


大规模异构数据存储与处理是大数据技术最关键的应用之一,大数据,顾名思义,最基本的特征就是数据量巨大,远超平时所用的结构化数据库所能处理的极限。同时数据也具有多样性,除了结构化数据以外,还有各类音频、视频、文本、图像、矢量数据等多种不同类型的数据。

因此,如果快速存取、处理、应用这些数据,就成为工程上一个关键的问题。目前多数公司的数据量早已超过了TB级,PB级,向EB级ZB级迈进。而很多优秀的互联网公司,都已经提供了多种优秀的解决方案,从而使大规模数据存取与使用成为了现实。


像谷歌,早期就出台了基于GFS、MapReduce和BigTable三种系统,而随后开源的HDFS、Hadoop、Hive/Hbase等架构也大行其道。此后,谷歌又推出了Caffeine、Pregel、Dremel这三种新的技术框架,在PB级数据上达到了秒级的处理效果。


同时,国内的各大互联网公司也基于自身的技术,或对开源系统进行改良,或自己研发新的技术,也都成功地解决了这些问题。但是很多小公司因为自己技术实力和数据量的原因,很多还只能做一些计算机辅助办公时代的传统数据库架构。因此,了解大规模数据存取处理的基本技术,是从传统程序向大数据程序转型的一个重要基础。



第二、大规模实时并发处理


大数据工程的另一个重大特征就是并发用户的处理。像“双十一”已经达到了十几亿用户同时在线抢购的程度。


在这种需求的牵引之下,业界发展出了很多为解决高并发实时处理的技术。通常会包括负载均衡、使用缓存、将数据存储在内存数据库、读写分离、优化数据存储、将数据库中的活跃数据分离出来、使用分布式技术、微服务技术、增加消息队列、延迟修改、业务拆分等。


典型的例如负载均衡用到的Nginx、内存数据库Redis、消息队列Kafka、微服务套件SpringCloud。都是常用的解决实时高并发系统问题的工具。


但是万变不离其宗,解决高并发问题的两个主要手段其实就是分治处理和延长处理链。熟悉掌握了这两种方法。解决高并发问题就很容易了。


第三、流式数据处理


区别于原有的静态数据处理,流式处理是大数据应用下的一个重要场景。那么何谓流式处理呢?简单来说,在流式数据处理中,数据是动态的,在数据连续到达的过程中,截取其中一小段数据来进行处理。这就类似于几个美女逛商场,她们逛商场的这个行为是连续的,但是她们突然看了某个商品,这是连续的数据中的一小段。例如说售货员看到美女瞟了一眼货架上的口红,那么她就赶紧过去介绍说这款口红多适合你,涂上必然具有达Q拉伯爵的效果云云。这个就是实时流式数据处理。如果先把美女的运作都监控起来,等晚上回去看视频,发现美女明显对某个产品感兴趣,再去处理,那就来不及了。


流式处理另外一个特征就是静态数据作用不大。例如说微信的在线人数,问这个时候在线多少人是没多大意义的,因为转眼就变了。有意义的是一些数学上的统计信息。例如说最大在线人数,各时段在线人数的数学期望等等。


目前流式处理涉及的主要工具包括Storm、Spark Streaming、Flink等。


随着互联网+的持续发展,掌握新的技术对很多程序员来说,是发展自己职业生涯,提高薪酬待遇的有效路径。因此,掌握大数据技术的主要应用方向和相关工具,对于程序员们来讲,是非常重要的事情。毕竟,持续学习是这个行业最基本的一个特点。


活在信息时代的其它文章:

程序员的三重境界,看看你在哪一重

程序员不可不知的几种软件项目,看看你的项目属于哪一种?

相关推荐

【推荐】一个开源免费、AI 驱动的智能数据管理系统,支持多数据库

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!.前言在当今数据驱动的时代,高效、智能地管理数据已成为企业和个人不可或缺的能力。为了满足这一需求,我们推出了这款开...

Pure Storage推出统一数据管理云平台及新闪存阵列

PureStorage公司今日推出企业数据云(EnterpriseDataCloud),称其为组织在混合环境中存储、管理和使用数据方式的全面架构升级。该公司表示,EDC使组织能够在本地、云端和混...

对Java学习的10条建议(对java课程的建议)

不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种挫败,以下北风网就总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的问题。Java编程的准备:...

SQLShift 重大更新:Oracle→PostgreSQL 存储过程转换功能上线!

官网:https://sqlshift.cn/6月,SQLShift迎来重大版本更新!作为国内首个支持Oracle->OceanBase存储过程智能转换的工具,SQLShift在过去一...

JDK21有没有什么稳定、简单又强势的特性?

佳未阿里云开发者2025年03月05日08:30浙江阿里妹导读这篇文章主要介绍了Java虚拟线程的发展及其在AJDK中的实现和优化。阅前声明:本文介绍的内容基于AJDK21.0.5[1]以及以上...

「松勤软件测试」网站总出现404 bug?总结8个原因,不信解决不了

在进行网站测试的时候,有没有碰到过网站崩溃,打不开,出现404错误等各种现象,如果你碰到了,那么恭喜你,你的网站出问题了,是什么原因导致网站出问题呢,根据松勤软件测试的总结如下:01数据库中的表空间不...

Java面试题及答案最全总结(2025版)

大家好,我是Java面试陪考员最近很多小伙伴在忙着找工作,给大家整理了一份非常全面的Java面试题及答案。涉及的内容非常全面,包含:Spring、MySQL、JVM、Redis、Linux、Sprin...

数据库日常运维工作内容(数据库日常运维 工作内容)

#数据库日常运维工作包括哪些内容?#数据库日常运维工作是一个涵盖多个层面的综合性任务,以下是详细的分类和内容说明:一、数据库运维核心工作监控与告警性能监控:实时监控CPU、内存、I/O、连接数、锁等待...

分布式之系统底层原理(上)(底层分布式技术)

作者:allanpan,腾讯IEG高级后台工程师导言分布式事务是分布式系统必不可少的组成部分,基本上只要实现一个分布式系统就逃不开对分布式事务的支持。本文从分布式事务这个概念切入,尝试对分布式事务...

oracle 死锁了怎么办?kill 进程 直接上干货

1、查看死锁是否存在selectusername,lockwait,status,machine,programfromv$sessionwheresidin(selectsession...

SpringBoot 各种分页查询方式详解(全网最全)

一、分页查询基础概念与原理1.1什么是分页查询分页查询是指将大量数据分割成多个小块(页)进行展示的技术,它是现代Web应用中必不可少的功能。想象一下你去图书馆找书,如果所有书都堆在一张桌子上,你很难...

《战场兄弟》全事件攻略 一般事件合同事件红装及隐藏职业攻略

《战场兄弟》全事件攻略,一般事件合同事件红装及隐藏职业攻略。《战场兄弟》事件奖励,事件条件。《战场兄弟》是OverhypeStudios制作发行的一款由xcom和桌游为灵感来源,以中世纪、低魔奇幻为...

LoadRunner(loadrunner录制不到脚本)

一、核心组件与工作流程LoadRunner性能测试工具-并发测试-正版软件下载-使用教程-价格-官方代理商的架构围绕三大核心组件构建,形成完整测试闭环:VirtualUserGenerator(...

Redis数据类型介绍(redis 数据类型)

介绍Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sortedset:有序集合)。1、字符串类型概述1.1、数据类型Redis支持...

RMAN备份监控及优化总结(rman备份原理)

今天主要介绍一下如何对RMAN备份监控及优化,这里就不讲rman备份的一些原理了,仅供参考。一、监控RMAN备份1、确定备份源与备份设备的最大速度从磁盘读的速度和磁带写的带度、备份的速度不可能超出这两...

取消回复欢迎 发表评论: