数据的存储和管理
2018-05-26 本文已影响9人
乘瓠散人
数据存储
云存储是一个新型的云状结构的存储系统,这个存储系统由多个存储设备组成,通过集群功能、分布式文件系统或类似网格计算等功能联合起来协同工作,并通过一定的应用软件或应用接口,对用户提供一定类型的存储服务和访问服务。
云存储是在大数据时代下,应对存储新需求而发展起来的一种新的模式。大数据时代下,对数据库存在高并发读写的需求,要实现对海量数据的高效率存储和访问,不仅要支持对数据库的高可扩展性和高可用性的需求,还要满足非结构化数据的处理能力的需求。
严格来说,云存储其实不是一种存储媒介,而是一种数据访问服务。云存储的核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变。
云存储的优点在于:
- 可扩容能力强
云存储采用的架构是并行扩容,容量不够了,只要采购新的存储服务器即可,容量立即增加。 - 易于管理
大部分数据迁移到云存储上后,所有的升级维护任务都由云存储服务提供商来完成。 - 成本低廉
- 可以实现量身定制
这个主要是针对私有云。
数据管理
数据的管理大致经历了三个阶段:人工管理阶段——文件系统阶段——数据库管理系统阶段。
非关系型数据库(NoSQL, 即Not only SQL)是一种与关系型数据库管理系统截然不同的数据库管理系统,它的数据存储格式是松散的,并且易于横向扩展,它的重点被放在了分布式数据管理上。
NoSQL的优势在于:
- 易扩展
NoSQL数据库种类繁多,但是一个共同的特点就是没有关系数据库的关系型特性,数据之间无关系,这样就非常容易扩展。 - 大数据量,高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下同样优秀,这得益于它的无关系性,数据库的结构简单。 - 灵活的数据类型
NoSQL无须事先为要存储的数据建立字段,随时可以存储自定义的数据格式。 - 高可用性
NoSQL在不太影响性能的情况下,可以方便地实现高可用的架构。
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。
开源的NoSQL数据库软件:
- MongoDB
一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。它最大的特点是支持的查询语言非常强大,其语法有点类似面向对象语言的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,还支持为数据建立索引。
它的特点是高性能、易部署、易使用、存储数据非常方便。MongoDB把数据存储在文件中(默认路径是: /data/db),为提高效率,使用内存映射文件进行管理。 - Hypertable
一个开源、高性能、可伸缩的数据库,它采用与谷歌的Bigtable相似的模型。Bigtable让用户可以通过一些主键来组织海量数据,并实现高效查询。Hypertable是Bigtable的一个开源实现,并且根据人们的想法进行了一些改进。 - Cassandra
一套开源分布式Key-Value存储系统,它最初由Facebook开发,用于存储特别大的数据。主要特性为:分布式、基于Column的结构化、高伸展性。
Cassandra的主要特点是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对它的一个写操作,会被复制到其他节点上去,对它的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只要在群集里添加节点就可以了。