数据库可以存放很多用户行为记录,比如用户注册信息,登陆时间,在网站操作过什么,都可以在记录在数据库字段,同时也会记录网站看得的数据,比如 文字,图片连接 ,时间,页面地址,等等。反正可以用字段记录的数据 都可以存到数据库的字段当中,实体的就不了,比如图片,文件压缩这些就的存放到服务器硬盘中,提供给数据库调用。
Ⅱ 网络数据是直接到内存,然后再去硬盘吗
网络数据是直接到内存,然后再去硬盘的。
1.
所有的网络的数据,都是要写入硬盘的。
2.
但所有的硬盘数据,一定是要经过内存的。
3.
内存是一台电脑最基本的存储器之一,它和硬盘的分工是内存是辅助CPU工作的,硬盘是存储数据的。
4.
内存不是存储数据用的,数据从网上下载,先读入内存,很快就写入硬盘,然后内存就释放空间,去做其它的事情。
5.
上网所看到的所有东西,基本都是要写入硬盘的。
网络数据是现实世界中最常用的数据类型之一。人与人之间的关系,城市之间的道路连接,科研论文之间的引用都组成了网络。树形结构表达了层次结构关系,而不具备层次结构的关系数据,可统称为网络数据。
Ⅲ 什么是数据仓库,数据仓库在哪里保存数据。BI项目需要用到哪些技术
一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。先大概列一下互联网行业数据仓库、数据平台的用途:
整合公司所有业务数据,建立统一的数据中心;
提供各种报表,有给高层的,有给各个业务的;
为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;
为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;
分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;
开发数据产品,直接或间接为公司盈利;
建设开放数据平台,开放公司数据;
。。。。。。
上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;
其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;
建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。
整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:
逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。
我们从下往上看:
数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。
数据源的种类比较多:
网站日志:
作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,
一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;
业务数据库:
业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapRece来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案(可参考文章 《异构数据源海量数据交换工具-Taobao DataX 下载和使用》),有资源的话,可以基于DataX之上做二次开发,就能非常好的解决,我们目前使用的DataHub也是。
当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。
来自于Ftp/Http的数据源:
有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;
其他数据源:
比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;
数据存储与分析毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。
离线数据分析与计算,也就是对实时性要求不高的部分,在我看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapRece要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;
当然,使用Hadoop框架自然而然也提供了MapRece接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapRece来做分析与计算;Spark是这两年非常火的,经过实践,它的性能的确比MapRece要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群,关于Spark On Yarn的相关文章,可参考:《Spark On Yarn系列文章》
实时计算部分,后面单独说。
数据共享这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;
前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。
另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。
数据应用
业务产品
业务产品所使用的数据,已经存在于数据共享层,他们直接从数据共享层访问即可;
报表
同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;
即席查询
即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;
这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。
即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,目前我的解决方案是SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。
当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。
OLAP
目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;
这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;
比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。
其它数据接口
这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。
实时计算现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。
我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。
做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。
任务调度与监控在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;
这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。
前面有写过文章,《大数据平台中的任务调度与监控》,这里不再累赘。
总结在我看来架构并不是技术越多越新越好,而是在可以满足需求的情况下,越简单越稳定越好。目前在我们的数据平台中,开发更多的是关注业务,而不是技术,他们把业务和需求搞清楚了,基本上只需要做简单的SQL开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。
Ⅳ 网络上那么多的信息,都储存在哪里会轻易被别人查到吗
这是一个大家都普遍非常关心的问题,因为我们每个人都有着很多数据与资料,而这些数据与资料有很多是非常私密的,是不希望别人能够看到的,如果是在过去其实我们根本就没有必要担心,因为我们的所有资料都存在自己的电脑,本地的磁盘当中也就不会有泄密的风险。
很多人都会担心我们的数据会不会被别人轻易的拿到,其实这种担心也是很有必要的,因为毕竟网络安全现在关乎着我们每一个人的利益,其实大体上分析一下,我认为这些数据还是应该比较安全的,因为每一家的平台网络公司,都会有自己的防火墙和一些专业人士来对这些资料进行加密,如果不是黑客故意去攻击或者有着超高科技的手段,我们的资料是绝对安全的。总而言之一句话,社会在发展,时代在进步,我们储存数据的方式也在发生着变化,这种变化带来的只能是让我们的数据更加安全更加可靠所以大家根本不必担心。
Ⅳ 网络上的数据、文字、图片、视频等都存储在哪里
网络上你所看到的各种数据,多媒体,一烂激物般都存储在各种数据中心。数据中心也就是机房,里面有大量的机柜,机柜上插满了存储设备(硬盘、闪存)等。果壳网有一篇文章:《云到底有多大》,摘抄部分如下:根据科技网站ExtremeTech的统计,整个互联网的下载流量中,有40%是访问YouTube这样的视频网站产生的; *** 则占了另一大山头,占据整体流量的30%;剩下的30%由网络硬盘数据下载、访问网址、电子邮件等日常网络服务产生。当电脑前的人们从互联网上获取信息时,大概没有人会去关注信息究竟来自何处。如果大家顺藤铅神摸瓜,便可以发现这些信息中的绝大部分都来源于互联网的云端。
如今提供云存储服务的服务商不仅有亚马逊(旗下Amazon Web Services),微软(旗下Microsoft Azure)和谷歌(旗下Google Drive)这样的网络巨头,还有成百上千的小公司机构。他们中或拥有一整个数据中心,或只有几个机箱的存储设备,规模参差不齐。从这些大大小小的公司身上我们大可窥探整个云储存产业的火爆程度。
云计算因其出众的能力备受青睐,它可以最快的效率为网络中的任何一方提供相关服务。谷歌麾下单单一个为YouTube服务的“云团”就可以存储管理几个PB(1PB=1024TB)的数据。云计算可以有几TB的RAM与几千核的CPU,远非传统计算机可比。而云计算延伸发展出的云存储又究竟有着怎样的魅力,引得谷歌、微软和Dropbox这样的巨头竞相折腰?让我们从数据入手。
通常,谷歌、Facebook、亚马逊和微软这样的大公司都很少对外发布自己的详细数据。不过如果用心去多方核查,还是可以得到一些大概的数值:
Facebook:在Facebook的IPO档案中,他们提到自己存储着约为100PB的图片及视频信息。如果考虑了Facebook还要对用户状态这些信息进行网络备份,我们猜测100PB绝对不是他们的存储上限。这里,把这个数值估为300PB应该不为过。
微软:微软近日承认自己的Hotmail服务器内存有超过100PB的信息,而有着1700万用户的SkyDrive也存有10PB的信息。合理预测整个微软的存储规模应该不在Facebook之下,我们也把它的存储上限估为300PB。
Megaupload:和上面两个网络巨头相比Megaupload自然是小巫见大巫,不过它在业内确也有着一席之地,算是25PB吧。
亚马逊:亚马逊旗下有Simple Storage Service这一网络储存服务(简称S3)。亚马逊从来没有向公众透露过S3究竟存有多大规模的数据量,不过今年四月他们却对外宣布S3中存有9050亿份文件。假设平均每份文件的大小为100KB,则S3的存储量在90PB上下;假设平均每份文件为1MB,那么S3的存储规模将达到900PB,它将成为唯一一个储存规模接近1EB的服务商。
Dropbox,:去年还只有2500万用户的Dropbox当时对外宣布,自己存储着逾10PB的数据。如今Dropbox的用户数已经上升到了一亿,那么他们的存储规模应该在40PB上下。
储存这些数据究竟多耗地方呢?我们得把这些虚拟数据的大小具体化。一台普通电脑的硬盘平均存储空间为500GB或者1TB,1PB=1024TB,也就是说微软和Facebook最少也得有100000个硬盘用于存储信息。普遍情况下,一个4U机箱内可以塞进48个硬盘。考虑到还要塞一些其他的连接设备,那么一个40U的机柜大概可以存储400个硬盘。一个40U的机柜饥液占地约为一平方米,也就是说要存储100000个硬盘还是很占地方的。不过对于谷歌、亚马逊、Facebook或是微软这样有着30000多平米大楼的地主公司来说,找个地方放机柜还是不成问题的。事实上, CPU、服务器和网关比硬盘要占地得多。
原文地址:guokr/article/204956/