加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

NoSQL数据库简介

平时大家见到或听到的数据库类型如MySQL、Oracle RDBMS等大多是关系型数据库,使用时会写一些SQL语句来做增删改查,而今天要说的NoSQL数据库,顾名思义就是非关系型数据库,它的出现,就是为了解决关系型数据库存在的一些问题,可以用NoSQL来进行弥补,现在听得比较多的NoSQL数据库有Redis、MongoDB、HBase等。

NoSQL的出现时为了解决关系型数据库的问题,那么关系型数据库有哪些问题呢?

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

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

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

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

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

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

作者:果果

文章出处:给产品经理讲技术(订阅号ID:pm_teacher)

转载请注明:运维派 » NoSQL数据库简介

3
4.8k
0