关系型数据库和非关系型数据库

关系型数据库和非关系型数据库

NOSQL

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

NoSQL数据库主要分为键值存储、列存储、文档存储、图形存储几种类型

类型部分代表特点
列存储Hbase、Cassandra、Hypertable顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
文档存储MongoDB、CouchDB文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。
key-value存储Tokyo Cabinet / Tyrant、Berkeley DB、MemcacheDB、Redis可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)
图存储Neo4J、FlockDB图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。
对象存储db4o、Versant通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。
xml数据库Berkeley DB XML、BaseX高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

SQL与NoSQL的区别 整理于于原文

区别SQLNOSQL
存储方式SQL数据存在特定结构的表中灵活和可扩展,存储方式可以省是JSON文档、哈希表或者其他方式。
表/数据集合的数据的关系必须定义好表和字段结构后才能添加数据,表结构可以在被定义之后更新,但是如果有比较大的结构变更的话就会变得比较复杂数据可以在任何时候任何地方添加,不需要先定义表,适合初始化数据结构还不明确或者未定的项目中
外部数据存储SQL中如何需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表在NoSQL中除了这种规范化的外部数据表做法以外,我们还能用如下的非规范化方式把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,更新审核人数据的时候将会比较麻烦。
SQL中的JOIN查询可以使用JOIN表链接方式将多个关系数据表中的数据用一条简单的查询语句查询出来暂未提供类似JOIN的查询方式对多个数据集中的数据做查询
数据耦合性SQL中不允许删除已经被使用的外部数据没有这种强耦合的概念,可以随时删除任何数据
增删改查语法SQL语法NoSQL语法
查询性能
适合存储的结构储结构化数据,如用户的帐号、地址:1)这些数据通常需要做结构化查询,比如join,这时候,关系型数据库就要胜出一筹 2)这些数据的规模、增长的速度通常是可以预期的 3)事务性、一致性NoSQL适合存储非结构化数据,如文章、评论: 1)这些数据通常用于模糊处理,如全文搜索、机器学习 2)这些数据是海量的,而且增长的速度是难以预期的 3)根据数据的特点,NoSQL数据库通常具有无限(至少接近)伸缩性 4)按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差

常用数据库端口:

数据库端口
MongoDB27017
Redis6379
MySQL3306
SqlServer1433
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值