nosql的三种类型
NoSQL数据库根据数据模式的不同分为四种类型:键值数据库、文档型数据库、列族型数据库和图数据库。
1.键值数据库
键值数据库以键/值对形式存储数据,键必须唯一,这和哈希表的存储/操作方式类似。主键对应的值可以是任意二进制数据(包括文本数据),NoSQL数据库不知道数据内部细节,应用程序负责解析其语义。应用编程接口非常简单,支持读、写和删除键值对。有些键值数据库支持主键排序和范围(Range)操作。键值数据库性能出色,扩展性很好。流行的键值数据库包括Riak、Redis(由于可以存储集合、列表等,也称为数据结构服务器)、Memcached等。
2.文档型数据库
文档型数据库的核心数据模型是文档(半结构化数据),以键/文档对存储。文档可以是XML、JSON、BSON等格式。文档多为树形结构,可以包含数组、子文档等。不同的文档可以有不同的字段,相同的字段可以有不同的数据类型。和键值数据库相比,文档内容对数据库可见,因而支持对文档的特定字段建立索引以实现高效检索。常见的文档型数据库包括MongoDB、CouchDB等。
3.列族型数据库列族型(Column-family)\
数据库支持定义多个列族,每个列族内允许定义可变数量的列,支持动态定义新列。通常将逻辑上相关、经常同时访问的数据放在一个列族内。和关系数据模型相比,可以把列族看成关系模型的一个列,列对应的值是一个复杂结构。常见的列族型数据库有Cassandra、HBase、Hypertable等。
4.图数据库
图数据库支持非常灵活的实体关系,实体称为顶点,实体间的关系称为边。在图数据库中,边是内嵌的概念。常见的图数据库有Neo4J、OrientDB等。
nosql数据库的特点
Nosql数据库的特点:
1.易扩展
当一台机器不够用了,很容易添加一个新的服务器,只要配置好环境之后,自动使用。
2.大数据量、高性能
读写速度快,nosql基本都是内存数据库,比硬盘存储要快很多,查询数据快
3.灵活性
NoSQL无需事先为 要存储的数据 建立字段,随时可以存储自定义的数据格式,在关系型数据库添加字段和删除字段是非常麻烦的。
4.高可用
一台机器宕机出问题了,不会影响其他的机器
nosql和mysql的区别
nosql和mysql是两种不同类型的数据库系统。它们之间的主要区别在于以下几个方面:
数据结构不同: MySQL是关系型数据库,使用表格来存储数据。而NoSQL数据库可以使用多种数据模型,包括键值对、文档模型、图形模型等。
扩展性不同:NoSQL数据库通常比MySQL更容易扩展。因为NoSQL数据库通常使用分布式体系结构,可以更容易地将数据分片和复制到多个节点上,从而实现水平扩展。
一致性不同:MySQL通常使用强一致性模型,这意味着在读取数据时,会始终返回最新的数据。而NoSQL数据库通常使用最终一致性模型,这意味着在读取数据时,可能会返回旧的或不完整的数据,但随着时间的推移,所有节点最终都将达到一致状态。
灵活性不同:NoSQL数据库通常比MySQL更灵活,因为它们不需要遵循预定义的表格结构,可以更容易地适应不同的数据模型和需求。
存储量不同:NoSQL数据库通常可以存储比MySQL更大的数据量。因为NoSQL数据库通常使用水平扩展,可以将数据分布到多个节点上。
查询语言不同:MySQL使用SQL查询语言,而NoSQL数据库通常使用它们自己的查询语言或API。
总的来说,nosql适用于大规模的、分散的、非结构化的数据存储和处理,mysql适用于小规模的、结构化的数据存储和处理。
还没有评论,来说两句吧...