简单聊一下NoSQL数据库

作者: 后山人闲言碎语 | 来源:发表于2019-07-31 10:40 被阅读5次

当前负责的AI智慧建筑项目涉及数据库设计,对数据库这块知识领域做了技术边界研究,简单梳理如下,enjoy~

一.什么是NoSQL数据库?

NoSQL数据库,指非关系型数据库。

平时大家见到或听到的数据库类型如 MySQL、Oracle RDBMS 等大多是关系型数据库,使用时会写一些 SQL 语句来做增删改查。NoSQL数据库的出现是为了解决关系型数据库存在的一些问题。

二.都有哪些 NoSQL数据库?

当前市场上主流的NoSQL 数据库有 Redis、MongoDB、Neo4j、HBase 等。 其中,Neo4j是一种图形数据库,近几年大有独占鳌头的势头,在社交网络、推荐引擎、交通运输、物流管理、欺诈检测等领域广泛使用。

这里对Neo4j多说两句。我们这个项目选择Neo4j数据库有2个原因:

1)Neo4j是一个原生图计算引擎,它存储和使用的数据自始至终都是使用原生的图结构数据进行处理。不像有的图数据库,仅在计算处理时才使用图结构数据,在存储时仍将数据保存在关系型数据库中;

2)Neo4j是一个开源的数据库,这一点很重要。Neo4j开源社区得到了开发者的拥趸和支持,聚集了丰富的可供交流和学习的资源与案例,不必重复造轮子,这些反过来也促进了Neo4j的发展。

三. NoSQL数据库有哪些特点?

首先总结下关系型数据库存在哪些问题。

1、高并发时的性能问题

当数据库处于高负荷运转时,关系型数据库的性能会遇 到瓶颈,这个时候的数据库操作会变得更加的费时,虽然可以使用 memcached 解决,但是也 会带来 hash 不一致等问题。

2、产品扩展性

当要给数据增加一个字段时,需要更改大量的表结构,这变相地增加了维护成本。

3、恢复时速度缓慢

当一个关系型数据库的数据存储很多长文本或者大数据时, 恢复数据的过程会变的更缓慢。

而 NoSQL 的优势就在于解决以上问题。

当数据之间解除关系依赖后,NoSQL 的数据库可以轻易地部署在分布式系统上,这样通过多台机器可以分担单一机器的高负荷,解决高负荷下的性能瓶颈问题。同时,由于数据之间无关系,所以可以随时增加或删除字段。还有, 就是因为结构简单,它的反应能力比关系型数据库快多了。

因此 NoSQL 有着高扩展性、分布式计算、低成本、架构的灵活性、半结构化数据等特点。比如在存储微博信息这种场景下,就是非常适合使用 NoSQL 数据库。

四.小结

当然,在挑选数据库时,还是得分具体情况,如果你的业务量小,那么关系型非关系型 数据库都随便选,挑自己顺手的。而当业务量扩大后,就需要分场景处理了,有的业务可 能有复杂的数据关联,这种就离不开关系型数据库,而有的地方只是简单的 key-value 数据,那么就果断地上 NoSQL。

以上

                                                                                                                                                                                                         蜗牛丨2019.07.31

相关文章

网友评论

    本文标题:简单聊一下NoSQL数据库

    本文链接:https://www.haomeiwen.com/subject/rfqzrctx.html