A. 怎样的架构设计才是真正的数据仓库架构
一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。
先大概列一下互联网行业数据仓库、数据平台的用途:
整合公司所有业务数据,建立统一的数据中心;
提供各种报表,有给高层的,有给各个业务的;
为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;
为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;
分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;
开发数据产品,直接或间接为公司盈利;
建设开放数据平台,开放公司数据;
。。。。。。
- 上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;
- 其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;
- 建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。
- 整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:
- 逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。
- 我们从下往上看:
- 数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。
- 数据源的种类比较多:
网站日志:
- 作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,
- 一般是在每台网站日志服务器上部署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开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。
B. 移动档案密集架的优势表现在哪里
手动档案密集架可以节省大量空间。而密集架与使用普通文件柜相比手动档案密集架可节省约30%的空间,并且操作简单的程度与使用文件柜差不多,使用手动档案密集架的管理人员可以更方便地存储和查找相关数据文件的速度比使用文件柜提升60%以上有效提高工作效率。
手动档案密集架相比文件柜而言,更加高端的地方就在于它有更大的储物空间可以使用更好的防火防潮技术进行加工。普通的文件柜比较适合刚刚成立的小公司,要处理的档案资料并不是太多,而且也不需要进行多精细的管理,那么使用文件柜是完全足够的。
C. 数据存储架构
全国地质钻孔基本信息数据库主要采用关系数据库管理方法,栅格图片、与文本等非结构化数据采用扩展的关系数据库管理方法。
根据全国地质钻孔资料的管理状况,以保管单位为基本单元构建全国及各省(区、市)地质钻孔数据库建设构架,具体架构如图2.2所示。
图2.2 地质钻孔基本信息数据架构
D. 传统大数据存储的架构有哪些各有什么特点
数据源:所有大数据架构都从源代码开始。这可以包含来源于数据库的数据、来自实时源(如物联网设备)的数据,及其从应用程序(如Windows日志)生成的静态文件。
实时消息接收:假如有实时源,则需要在架构中构建一种机制来摄入数据。
数据存储:公司需要存储将通过大数据架构处理的数据。一般而言,数据将存储在数据湖中,这是一个可以轻松扩展的大型非结构化数据库。
批处理和实时处理的组合:公司需要同时处理实时数据和静态数据,因而应在大数据架构中内置批量和实时处理的组合。这是由于能够应用批处理有效地处理大批量数据,而实时数据需要立刻处理才能够带来价值。批处理涉及到长期运转的作业,用于筛选、聚合和准备数据开展分析。
分析数据存储:准备好要分析的数据后,需要将它们放到一个位置,便于对整个数据集开展分析。分析数据储存的必要性在于,公司的全部数据都聚集在一个位置,因而其分析将是全面的,而且针对分析而非事务进行了优化。
这可能采用基于云计算的数据仓库或关系数据库的形式,具体取决于公司的需求。
分析或报告工具:在摄入和处理各类数据源之后,公司需要包含一个分析数据的工具。一般而言,公司将使用BI(商业智能)工具来完成这项工作,而且或者需要数据科学家来探索数据。
“大数据” 通常指的是那些数量巨大、难于收集、处理、分析的数据集,亦指那些在传统基础设施中长期保存的数据。大数据存储是将这些数据集持久化到计算机中。
E. 存储的架构有哪些
目前市场上的存储架构如下:
(1)基于嵌入式架构的存储系统
节点NVR架构主要面向小型高清监控系统,高清前端数量一般在几十路以内。系统建设中没有大型的存储监控中心机房,存储容量相对较小,用户体验度、系统功能集成度要求较高。在市场应用层面,超市、店铺、小型企业、政法行业中基本管理单元等应用较为广泛。
(2)基于X86架构的存储系统
平台SAN架构主要面向中大型高清监控系统,前端路数成百上千甚至上万。一般多采用IPSAN或FCSAN搭建高清视频存储系统。作为监控平台的重要组成部分,前端监控数据通过录像存储管理模块存储到SAN中。
此种架构接入高清前端路数相对节点NVR有了较高提升,具备快捷便利的可扩展性,技术成熟。对于IPSAN而言,虽然在ISCSI环节数据并发读写传输速率有所消耗,但其凭借扩展性良好、硬件平台通用、海量数据可充分共享等优点,仍然得到很多客户的青睐。FCSAN在行业用户、封闭存储系统中应用较多,比如县级或地级市高清监控项目,大数据量的并发读写对千兆网络交换提出了较大的挑战,但应用FCSAN构建相对独立的存储子系统,可以有效解决上述问题。
(3)基于云技术的存储方案
当前,安防行业可谓“云”山“物”罩。随着视频监控的高清化和网络化,存储和管理的视频数据量已有海量之势,云存储技术是突破IP高清监控存储瓶颈的重要手段。云存储作为一种服务,在未来安防监控行业有着客观的应用前景。
与传统存储设备不同,云存储不仅是一个硬件,而是一个由网络设备、存储设备、服务器、软件、接入网络、用户访问接口以及客户端程序等多个部分构成的复杂系统。该系统以存储设备为核心,通过应用层软件对外提供数据存储和业务服务。
F. 海量数据离线存储柜有谁用过
海量数据离线存储系统分为:
1、 数据存储的备份登记管理系统
2、 数据存储管理系统
3、 离线存储设备——硬盘离线存储柜
4、 海量离线存储的综合管理系统
每个系统又分为多个分支系统。北京汉龙思琪研发的离线存储柜保证整个海量数据离线存储系统的运行流畅性,便捷性,安全性,保密性,数据的可读取性,检索便捷性等。
G. 搭建家用数据存储系统|磁盘阵列|硬盘组
1.
这是和你存储容量有关的,如果是1TB-3TB,一个PC
就可以解决
2.
3TB-16TB
一个存储服务器(包含整列)可以解决
3.
16TB+
像你所说的100TB+
的话最好还是自己搞个机房,搭建一个分布式存储的系统,openstack
比较适合你
4.
远程终端的要求很简单,大家现在都是这样做的,服务器上装上ssh
就可以了
5.
你的存储需求比较大,可以找专门的公司提供解决方案
H. 数据存储的三类简介
一、DAS(Direct Attached Storage)直接附加存储,DAS这种存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分。
DAS存储方式主要适用以下环境:
(1)小型网络
因为网络规模较小,数据存储量小,且也不是很复杂,采用这种存储方式对服务器的影响不会很大。并且这种存储方式也十分经济,适合拥有小型网络的企业用户。
(2)地理位置分散的网络
虽然企业总体网络规模较大,但在地理分布上很分散,通过SAN或NAS在它们之间进行互联非常困难,此时各分支机构的服务器也可采用DAS存储方式,这样可以降低成本。
(3)特殊应用服务器
在一些特殊应用服务器上,如微软的集群服务器或某些数据库使用的原始分区,均要求存储设备直接连接到应用服务器。
(4)提高DAS存储性能
在服务器与存储的各种连接方式中,DAS曾被认为是一种低效率的结构,而且也不方便进行数据保护。直连存储无法共享,因此经常出现的情况是某台服务器的存储空间不足,而其他一些服务器却有大量的存储空间处于闲置状态却无法利用。如果存储不能共享,也就谈不上容量分配与使用需求之间的平衡。
DAS结构下的数据保护流程相对复杂,如果做网络备份,那么每台服务器都必须单独进行备份,而且所有的数据流都要通过网络传输。如果不做网络备份,那么就要为每台服务器都配一套备份软件和磁带设备,所以说备份流程的复杂度会大大增加。
想要拥有高可用性的DAS存储,就要首先能够降低解决方案的成本,例如:LSI的12Gb/s SAS,在它有DAS直联存储,通过DAS能够很好的为大型数据中心提供支持。对于大型的数据中心、云计算、存储和大数据,所有这一切都对DAS存储性能提出了更高的要求,云和企业数据中心数据的爆炸性增长也推动了市场对于可支持更高速数据访问的高性能存储接口的需求,因而LSI 12Gb/s SAS正好是能够满足这种性能增长的要求,它可以提供更高的IOPS和更高的吞吐能力,12Gb/s SAS提高了更高的写入的性能,并且提高了RAID的整个综合性能。
与直连存储架构相比,共享式的存储架构,比如SAN(storage-area network)或者NAS(network-attached storage)都可以较好的解决以上问题。于是乎我们看到DAS被淘汰的进程越来越快了。可是到2012年为止,DAS仍然是服务器与存储连接的一种常用的模式。事实上,DAS不但没有被淘汰,近几年似乎还有回潮的趋势。 二、NAS(Network Attached Storage)数据存储方式
NAS(网络附加存储)方式则全面改进了以前低效的DAS存储方式。它采用独立于服务器,单独为网络数据存储而开发的一种文件服务器来连接所存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有的网络用户共享。
NAS的优点:
(1)真正的即插即用
NAS是独立的存储节点存在于网络之中,与用户的操作系统平台无关,真正的即插即用。
(2)存储部署简单
NAS不依赖通用的操作系统,而是采用一个面向用户设计的,专门用于数据存储的简化操作系统,内置了与网络连接所需要的协议,因此使整个系统的管理和设置较为简单。
(3)存储设备位置非常灵活
(4)管理容易且成本低
NAS数据存储方式是基于现有的企业Ethernet而设计的,按照TCP/IP协议进行通信,以文件的I/O方式进行数据传输。
NAS的缺点:
(1)存储性能较低(2)可靠度不高 三、SAN(Storage Area Network)存储方式
1991年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术。它是基于光纤介质,最大传输速率达17MB/s的服务器访问存储器的一种连接方式。在此基础上,进一步推出了功能更强的ESCON Director(FC SWitch),构建了一套最原始的SAN系统。
SAN存储方式创造了存储的网络化。存储网络化顺应了计算机服务器体系结构网络化的趋势。SAN的支撑技术是光纤通道(FC Fiber Channel)技术。它是ANSI为网络和通道I/O接口建立的一个标准集成。FC技术支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议,其最大特性是将网络和设备的通信协议与传输物理介质隔离开,这样多种协议可在同一个物理连接上同时传送。
SAN的硬件基础设施是光纤通道,用光纤通道构建的SAN由以下三个部分组成:
(1)存储和备份设备:包括磁带、磁盘和光盘库等。
(2)光纤通道网络连接部件:包括主机总线适配卡、驱动程序、光缆、集线器、交换机、光纤通道和SCSI间的桥接器
(3)应用和管理软件:包括备份软件、存储资源管理软件和存储设备管理软件。
SAN的优势:
(1)网络部署容易;
(2)高速存储性能。因为SAN采用了光纤通道技术,所以它具有更高的存储带宽,存储性能明显提高。SAn的光纤通道使用全双工串行通信原理传输数据,传输速率高达1062.5Mb/s。
(3)良好的扩展能力。由于SAN采用了网络结构,扩展能力更强。光纤接口提供了10公里的连接距离,这使得实现物理上分离,不在本地机房的存储变得非常容易。 DAS、NAS和SAN三种存储方式比较
存储应用最大的特点是没有标准的体系结构,这三种存储方式共存,互相补充,已经很好满足企业信息化应用。
从连接方式上对比,DAS采用了存储设备直接连接应用服务器,具有一定的灵活性和限制性;NAS通过网络(TCP/IP,ATM,FDDI)技术连接存储设备和应用服务器,存储设备位置灵活,随着万兆网的出现,传输速率有了很大的提高;SAN则是通过光纤通道(Fibre Channel)技术连接存储设备和应用服务器,具有很好的传输速率和扩展性能。三种存储方式各有优势,相互共存,占到了磁盘存储市场的70%以上。SAN和NAS产品的价格仍然远远高于DAS.许多用户出于价格因素考虑选择了低效率的直连存储而不是高效率的共享存储。
客观的说,SAN和NAS系统已经可以利用类似自动精简配置(thin provisioning)这样的技术来弥补早期存储分配不灵活的短板。然而,之前它们消耗了太多的时间来解决存储分配的问题,以至于给DAS留有足够的时间在数据中心领域站稳脚跟。此外,SAN和NAS依然问题多多,至今无法解决。
I. 数据存储盘柜 是什么,那个牌子的好!
IBM或者戴尔的都不错,但是要用宏基的