变电站远程监控系统后台设计(5)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

变电站远程监控系统后台设计(5)

(2)高并发读写的性能低 当关系数据库的存储的数据达到一定数量时,容易出现死锁等一系列问题,将会

影响数据库的读写性能,引发性能。

(3)支撑容量有限

(4)数据库的可扩展性和稳定性低 当需要对服务进行升级时,需要暂停数据库的使用,会对服务的使用造成困扰。

同时关系型数据库的扩展成本很高。

为了解决上述的缺点,NoSQL 数据库应运而生,和关系型数据库不同的是,NoSQL 数据库善于处理非结构化的数据,该数据库是通过键值对存储方式进行数据存储的, 它的主要特点是采用不特定的数据存储结构,每一个记录都可以包含不一样的内容, 能够依据系统的需求随时加入任意的键值对,大大减少成本的开销。

NoSQL 数据存储能够满足数据在横向伸缩性上的要求,尽管 NoSQL 数据库的编写 语言各有不同,其中有的是用 C/C++编写的,有的是用 Java 编写的,每个都有各自 的特点,但总体而言 NoSQL 都有一些共同的特点:

(1)它们可以处理超大量的数据。

(2)运行在便宜的 PC 服务器集群上。

该数据库扩展方便,通过简单的 PC 服务器集群可以扩展数据库,这样可以大大 减少成本的开销。

(3)击碎了性能瓶颈。

使用 NoSQL 可以节省大量数据类型转换的时间,加快数据处理的速度。

(4)没有过多的操作。

NoSQL 没有关系型数据库过多的功能,一定程度上简化了要求,也避免了功能过 多带来的问题。

(5)支持者源于社区。

由于 NoSQL 的源程序都是开源的,所以得从社区中寻求技术支持[5]。

3。3MongoDB 数据库

对于 MongoDB 而言,它是最接近关系型数据库的 NoSQL 数据库,它具备了两者之 间的优点。它支持的数据结构可以用来存储相对复杂的数据类型,并且该结构是比较 类似 json 的,所以它可以用来处理大量的数据且能够发挥出自己的优势。文献综述

MongoDB 的功能特性主要有:

(1)该数据库是面向集合的,比较容易进行数据存储。

(2)支持动态查询

(3)该数据库支持全索引

(4)支持查询

(5)支持复制和故障恢复

(6)通过二进制进行存储,效率较高

(7)方便支持云扩展

(8)支持 RUBY,PYTHON,JAVA,C++,PHP 等多种语言

(9)文件存储格式为 BSON(一种 JSON 的扩展)

(10)可通过网络访问[5]

MongoDB 的 逻 辑 结 构 是 一 种 层 次 结 构 , 主 要 是 由 文档 (document) 、集合 (collection)、数据库(database)组成的[1][2],如图 3-1 所示。

图 3-1 MongoDB 数据逻辑结构

文档、集合、数据库这三部分的关系如下:

(1)MongoDB 中的一篇文档相当于关系型数据库的一条记录。

(2)一个集合包含多个文档,相当于关系型数据库中的表。

(3)数据库中逻辑上包含了多个集合。

(4)一个 MongoDB 实例可以同时支持包含多个数据库[1][2]。 由于绝大部分人都比较习惯关系型数据库,于是表 3-1 将关系型数据库与

MongoDB 的逻辑结构进行了比较。

表 3-1 关系型数据库和 MongoDB 的逻辑结构对比

关系型数据库 MongoDB

database(数据库) database(数据库)

table(表) collection(集合)

row(行) document(文档)

3。4 小结 (责任编辑:qin)