变电站远程监控系统后台设计(5)
时间:2022-08-21 14:23 来源:毕业论文 作者:毕业论文 点击:次
(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) |