传统关系数据库与海量数据存储及安全性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
海量数据存储的方法及安全性
2013308880017 吴双可
摘要:随着信息技术的飞速发展,我们已进入了大数据时代。
传统的关系型数据库在数据存储上已无法满足海量数据存储在在容量、性能、存储效率和安全性等方面的要求。
而近年来,海量数据存储技术也迅速发展。
本文重点介绍传统关系型数据库在海量数据存储上的局限性,以及主要的海量数据存储方式,并且讨论了海量数据存储安全性的保障。
1 传统关系型数据库
1.1 传统关系型数据库概念
关系数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。
现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
1.2传统关系型数据库特点
传统关系型数据库在数据存储上主要面向结构化数据,聚焦于便捷的数据查询分析能力、按照严格规则快速处理事务(transaction)的能力、多用户并发访问能力以及数据安全性的保证。
其结构化的数据组织形式,严格的一致性模型,简单便捷的查询语言,强大的数据分析能力以及较高的程序与数据独立性等优点获得广泛应用。
2 海量数据存储方式
2.1 主要的存储介质
2.1.1 磁盘
优点:数据读取、写入速度快,操作方便
缺点:发热量大、噪声大、硬盘易损
应用环境:海量数据的即时存取
2.1.2 光盘
优点:单位存储容量成本低,携带方便,数据查询时间短
缺点:表面易磨损,寿命短
应用环境:海量数据的在线访问和离线存储
2.1.3 磁带
优点:容量大、保存时间长
缺点:数据顺序检索,定位时间长
应用环境:海量数据的定期备份
2.2 海量存储的模式
2.2.1 直连式存储
直连式存储(DAS)即磁盘驱动器和服务器直接连接,存储作为外围
设备,在这种存储结构中,数据管理是以服务器为中心的,而且所有的应用软件都是和存储子系统配套。
DAS适用于一个或有限的几个服务器环境,但存储容量增加时,不但存储供应的效率变得越来越低,而且可升级和扩展性受到很大限制,当服务器出现异常时,更使数据不可获得,同时存储资源和数据也无法进行共享。
2.2.2 网络存储
网络存储分为:网络附加存储(Network AttachedStorage,NAS)、光纤存储区域网FC—SAN、IP存储区域网IP—SAN。
NAS将存储设备连接到现有的网络上来提供数据和文件服务。
NAS服务器一般由存储硬件、操作系统以及其上的文件系统等几个部分组成。
NAS通过网络直接连接磁盘阵列,磁盘阵列具备了高容量、高效能、高可靠等特征。
NAS将存储设备通过标准的网络拓扑结构连接,可以无需服务器直接上网,不依赖通用的
操作系统,而是采用一个面向用户设计的、专门用于数据存储的简化操作系统,内置与网络连接所需的协议,从而使整个系统的管理和设置较为简单。
光纤存储区域网FC—SAN指的是通过一个单独的高速光纤网络把存储设备和挂在TCP/IP网络上的服务器群相连。
当有海量数据的存取需求时,数据可以通过存储区域网在相关服务器和后台存储设备之问高速传输。
SAN以光纤通道为基础,不但提供了主机和存储设备之间的高速互联,实现了存储设备的共享,服务器通过存储网络直接同存储设备交换数据,不占用LAN的网络资源。
IP—SAN由于主要部分采用光纤通道,因此设备昂贵的成本一直未能得到解决,为此将iSCSI卡集成到NAS存储设备上,支持数据块形式的I/O访问,最后发展成主机通过带TCP卸载引擎(TCP Offioad Engine,TOE)的iSCSI主机总线适配器(Host Bus Adapter,HBA)卡接入IP网络来访问iSCSI存储设备。
IP存储采用基于IP协议的网络传输数据,由于IP环境下数据包可以被捕捉解码,对此iSCSI 存储要采用多种安全措施以提高数据访问和数据存储的安全性。
2.3海量数据存储系统
2.3.1 非集中式数据存储管理系统
1)亚马逊(Amazon)的Dynamo
Dynamo是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。
在Dynamo 中,数据按照键/值对(key-value)进行组织,主要面向原始数据的存储。
这种架构下,系统中每个节点都能相互感知,自我管理性能较强,没有单点失效。
2)Google的Bigtable
Bigtable 是谷歌开发的一套结构化存储系统。
数据以多维顺序表的方式进行存储。
整个系统采用传统的服务器群形式,由一个主控服务器和多个子表服务器构成,并使用分布式锁服务Chubby进行容错等管理。
这种架构下,将存储(依靠GFS)和服务的管理分离开来,简化了管理难度,易于维护且人为可控。
但是由于底层存储依赖分布式文件系统,使得Bigtable 只能在集群中部署。
hadoop中Hbase就是Google BigTable的开源实现。
2)Facebook 的Cassandra
CassandraCassandra最初由Facebook开发,后转变成了开源项目. 是一套采用对等网络计算(peer to peer,P2P)技术实现的结构化数据存储系统。
以Amazon
专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型.P2P去中心化的存储。
很多方面都可以称之为Dynamo 2.0。
与Dynamo 有所不同的是,Cassandra 采用类似Bigtable 的多维表数据模
型组织数据。
其主要功能比Dynamo更丰富,但支持度却不如文档存储MongoDB (介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。
支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。
)
主要特性:
● 分布式
● 基于column的结构化
●高伸展性
3 传统关系型数据库与海量数据存储
3.1传统关系型数据库在海量数据存储中的缺点
虽然关系型数据库具有第1部分所述的优点,但是面向结构化数据存储的传统关系型数据库已经不能满足当今互联网数据快速访问、大规模数据分析挖掘的需求。
它的主要缺点有:
1)对于半结构化、非结构化的海量数据存储效果不理想。
像电子邮件、超文本、标签(Tag)以及图片、音视频等各种非结构化的海量数据。
2)关系模型束缚对海量数据的快速访问能力:关系模型是一种按内容访问的模型。
即在传统的关系型数据库中,根据列的值来定位相应的行。
这种访问模型,会在数据访问过程中引入耗时的输入输出,从而影响快速访问的能力。
虽然,传统的数据库系统可以通过分区的技术(水平分区和垂直分区),来减少查询过程中数据输入输出的次数以缩减响应时间,提高数据处理能力,但是在海量数据的
规模下,这种分区所带来的性能改善并不显著。
3)在海量规模下,传统数据库还有一个致命弱点,就是其可扩展性差。
数据的高速膨胀及发展的不确定性对于存储系统的可扩展性提出了较高的要求。
但是传统数据库并不具有可扩展能力,所谓的“扩展”技巧也不符合真正的可扩展性好的要求,甚至有更深层的问题。
例如分片方式,根据系统某种特定的边界限制对数据进行划分,存储到不同的库。
但是由于传统数据库是关系型数据库,其存储的大部分内容之间都是存在关系的,一旦将这些数据记录分割到多台服务器,你需要维护这些关系,并且需要在客户端重建这些关系,因此分片也同时抹杀了关系型数据库最大的优点。
4海量数据存储未来趋势
在存储介质方面,磁盘、光盘、磁带作为数据存储的主要载体,
会向着小型化、大容量、高速读写、高可靠性发展,三种主要存储介质还可能同时存在一段时间,随着科技的进步与发展全新的存储介质也许会很快出现。
海量数据存储技术的发展前展,可以归结为以下几个方面:
高容量光存储技术的到来可以说改变了目前的存储格局,为原本暗淡的光存储带来了一线生机。
虽然光存储器的支持者们一直宣传该技术将成为下一代伟大的存储技术,但是即便在它得到广泛推广之后,其企业客户基础在整个市场上的份额仍然很小。
分布式存储与P2P存储:分布式存储概念提出较早,目前再次成为热点。
P2P 存储可以看作分布式存储的一种,是一个用于对等网络的数据存储系统,它的目标是提供高效率的、鲁棒和负载平衡的文件存取功能。
数据网格:为了满足人们对高性能、大容量分布存储能力的要求所提出的概念,类似于计算网格,是有机的智能单元的组合。
智能存储系统:包括主动的信息采集,主动信息分、主动调整等。
存储服务质量QoS:应用环境越来越复杂,存储需求区别也越来越明显,这就需要为应用提供区分服务。
目前的研究以基于网络存储的QoS为主。
存储容灾:通过特定的容灾机制,能够在各种灾难损害发生后,最大限度地保障计算机信息系统不间断提供正常应用服务。