贵德县公司网站建设,零售空间设计公司,wordpress网站重定向,网站开发一般会用到什么语言目录
一、NoSQL概述
二、为什么用NoSQL
三、NoSQL特点
四、NoSQL的分类
五、NoSQL适用场景
六、NoSQL不适用场景 一、NoSQL概述 NoSQL(NoSQL Not Only SQL )#xff0c;意即“不仅仅是SQL”#xff0c;泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储#xf…目录
一、NoSQL概述
二、为什么用NoSQL
三、NoSQL特点
四、NoSQL的分类
五、NoSQL适用场景
六、NoSQL不适用场景 一、NoSQL概述 NoSQL(NoSQL Not Only SQL )意即“不仅仅是SQL”泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储而以简单的key-value模式存储数据存储的类型不需要一个固定形式。因此大大的增加了数据库的扩展能力。 不遵循 SQL 标准不支持 ACID远超于 SQL 的性能 二、为什么用NoSQL 传统的关系型数据库如MySQL、SQL Server、Oracle等都是将复杂的数据结构归结为简单的二元关系即二维表形式能够使用SQL语句进行复杂的查询并且支持事务。但是随着互联网web2.0网站的兴起传统的关系数据库在处理web2.0网站特别是超大规模和高并发的社交网络类型的web2.0纯动态网站面临着很多诸如在巨大数据量下查询缓慢单一的关系型数据模型难以应对数据种类复杂等情况。这时就需要用到NoSQL数据库了。 NoSQL 对 SQL 做出了很好的补充。在实际开发中有很多业务需求并不需要完整的关系型数据库功能非关系型数据库的功能就足够使用了。这种情况下使用性能更高、成本更低的非关系型数据库当然是更明智的选择。比如日志收集、排行榜、定时器等。 三、NoSQL特点 易扩展 NoSQL数据库种类繁多但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系这样就非常容易扩展。 大数据量高性能 NoSQL数据库都具有非常高的读写性能尤其在大数据量下同样表现优秀。这得益于它的无关系性数据库的结构简单。Redis 一秒写8万次读取11万NoSQL的缓存记录级是细粒度的缓存性能会比较高 灵活的数据模型 NoSQL无须事先为要存储的数据建立字段随时可以存储自定义的数据格式。而在关系数据库里增删字段是一件非常麻烦的事情。如果是非常大数据量的表增加字段将会非常复杂且消耗时间这点在大数据量的Web 2.0时代尤其明显。 高可用 NoSQL在不太影响性能的情况就可以方便地实现高可用的架构。比如Cassandra、HBase模型通过复制模型也能实现高可用。 四、NoSQL的分类 键值对存储数据库 键值型数据库通过 Key-Value 键值的方式来存储数据Key 作为唯一的标识符优点是查找速度快在这方面明显优于关系型数据库缺点是无法像关系型数据库一样使用条件过滤比如 WHERE如果你不知道去哪里找数据就要遍历所有的键这就会消耗大量的计算。键值型数据库典型的使用场景是作为内存缓存。例如RedisRedis还支持事务和数据的持久化能够快速的增删。应用场景有排行榜、秒杀、抽奖。 列存储数据库 列式数据库是相对于行式存储的数据库Oracle、MySQL、SQL Server 等数据库都是采用的行式存储而列式数据库是将数据按照列存储到数据库中这样做的好处是可以大量降低系统的 I/O适合于分布式文件系统不足在于功能相对有限。 文档存储数据库 文档型数据库可存放并获取文档可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位一个文档就相当于一条记录。文档数据库所存放的文档就相当于键值数据库所存放的“值”。例如MongoDBMongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。Mongo最大的特点是它支持的查询语言非常强大在海量数据中查询速度非常快支持分布式文件系统。 搜索引擎数据库 关系型数据库采用了索引提升检索效率但是针对全文索引效率却较低。搜索引擎数据库是应用在搜索引擎领域的数据存储形式由于搜索引擎会爬取大量的数据并以特定的格式进行存储这样在检索的时候才能保证性能最优。核心原理是“倒排索引”。 Elasticsearch是一个高扩展的分布式全文检索引擎它可以近乎实时的存储、检索数据。分布式实时文件存储并将每一个字段都编入索引使其可以被搜索。 实时分析的分布式搜索引擎。可以扩展到上百台服务器处理PB级别的结构化或非结构化数据。 HBASE HBASE是一个高可靠性、高性能、面向列、可伸缩的非关系型数据库利用 Hadoop 分布式文件系统Hadoop Distributed File SystemHDFS提供分布式数据存储一个表可以有上十亿行上百万列。在实时读写、随机访问超大规模数据集方面十分优秀多用于数据分析、数据挖掘。 图形数据库 图形数据库利用了图这种数据结构存储了实体对象之间的关系。图形数据库最典型的例子就是社交网络中人与人的关系数据模型主要是以节点和边关系来实现特点在于能高效地解决复杂的关系问题。如社交网络中人物之间的关系如果用关系型数据库则非常复杂用图形数据库将非常简单。Neo4j是一款强健的可伸缩的基于Java语言编写的高性能图数据库。能够高效的解决复杂的数据关系。比如好友推荐、商品推荐等就是使用了基于Neo4j的智能推荐引擎。 五、NoSQL适用场景 对数据高并发的读写海量数据的读写对数据高可扩展性 六、NoSQL不适用场景 需要事务支持基于 sql 的结构化查询存储处理复杂的关系需要即席查询 注即席查询Ad Hoc是用户根据自己的需求灵活的选择查询条件系统能够根据用户的选择生成相应的统计报表。