数据库-2.NoSQL


NoSQL?

Not Only SQL,泛指非关系型的数据库,主要针对的是键值、文档以及图形类型数据存储,并且,NoSQL数据库天生支持分布式,数据冗余和数据分片等特性,旨在提供高扩展的高可用高性能数据存储解决方案

NoSQL数据库可以存储关系型数据,它们与关系型数据库的存储方式不同

NoSQL数据库有哪些?

HBase、Cassandra、MongoDB、Redis

SQL 和 NoSQL有什么区别?

SQL数据库 NoSQL数据库
数据存储模型 结构化存储,具有固定行和列的表格 非结构化存储。文档:JSON文档,键值:键值对,宽列:包含行和动态列的表,图:节点和边
例子 Oracle、MySQL、Microsoft SQL Server、PostgreSQL 文档:MongoDB、CouchDB,键值:Redis、DynamoDB,列宽:HBase,图表:Neo4j、Amazon Neptune、Giraph
ACID属性 提供原子性、一致性、隔离性和持久性 通常不支持ACID事务,为了可扩展、高性能进行了权衡,少部分支持,比如MongoDB,不过MongoDB对ACID事务的支持和MySQL还是有所区别的
性能 性能通常取决于磁盘子系统,要获得最佳性能,通常需要优化查询、索引和表结构 性能通常由底层硬件集群大小、网络延迟以及调用应用程序来决定
扩展 垂直(使用性能更强大的服务器进行扩展)、读写分离、分库分表 横向(增加服务器的数量来横向扩展,基于分片机制)
用途 普通企业级的项目的数据存储 用途广泛,比如图数据库支持分析和遍历连接数据之间的关系,键值数据库可以处理大量数据扩展和极高的状态变化
查询语法 结构化查询语言(SQL) 数据访问语法因数据库而异

文章作者: Feliks
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Feliks !
评论
  目录