美文网首页
NoSql初探

NoSql初探

作者: 北你妹的风 | 来源:发表于2016-09-26 18:11 被阅读38次

    首先,NoSql不是 no sql,而是Not Only Sql,意思为"不仅仅是sql",是非关系型数据库的统称。

    NoSql主要用于超大规模数据的存储,这些类型的数据不需要固定的模式,无需多余操作就可以横向扩展。它主要有以下一些特点:

    1.没有预定义的模式,不需要预定义表结构

    2.没有声明性查询语言

    3.非事务的,不具备ACID属性,区别于关系型数据库。

    4.非结构化和不可预知的数据

    5.高性能、高可用性、以及弹性扩展

    NoSq通常分为4种类型,分别是

    1.列存储数据库  特点是按列存储数据的方便存储结构化和半结构化数据,方便数据压缩,对一列或多列的数据查询有非常大的IO优势。代表产品有HBase,Cassandra

    2.文档存储数据库 一般用json格式存储,存储内容是文档型的,这样有机会对某些字段建立索引,实现关系型数据库一些功能。代表产品有MongoDB,CouchDB

    3.键值存储数据库  特点是能通过key快速找到value,通常用hash table实现。代表产品有大名鼎鼎的redis,tokyotyrant等。

    4.图形存储数据库  图形关系的最佳存储,利用图结构相关算法实现,专注于关系图谱的构建,典型应用场景是社交网络。代表产品有Neo4J,InfoGrid等

    那么,了解了这么多之后,NoSql的应用场景有哪些呢?

    首先明确一点,NoSql不是要取代关系型数据库的。要知道,NoSql比关系型数据库诞生的还要早,要是NoSql没有问题,关系型数据库怎么可能会诞生?

    NoSql不支持事务以及ACID属性,所以具有事务编程模型的场景,是不适用的。比如银行转账、电商的订单等。

    假如你的应用需要处理快速读写,可以试试文档数据库和key-value数据库

    假如你的应用需要实现社会化网络,可以试试图形数据库

    假如你的应用数据类型不固定,经常发生变化,可考虑文档数据库和key-value数据库

    假如你的应用需要存储Blob类型的数据,可以尝试key-value数据库

    所以,用不用NoSql,用那个产品,取决你的业务场景,不要迷信。

    相关文章

      网友评论

          本文标题:NoSql初探

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