简述常用的NOSQL,简述常用的复述策略有哪些

nosql是什么

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

创新互联专注于宁波网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宁波营销型网站建设,宁波网站制作、宁波网页设计、宁波网站官网定制、小程序设计服务,打造宁波网络公司原创品牌,更为您提供宁波网站排名全网营销落地服务。

虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:

不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。

BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。

NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

互联网如何海量存储数据?

目前存储海量数据的技术主要包括NoSQL、分布式文件系统、和传统关系型数据库。随着互联网行业不断的发展,产生的数据量越来越多,并且这些数据的特点是半结构化和非结构化,数据很可能是不精确的,易变的。这样传统关系型数据库就无法发挥它的优势。因此,目前互联网行业偏向于使用NoSQL和分布式文件系统来存储海量数据。

下面介绍下常用的NoSQL和分布式文件系统。

NoSQL

互联网行业常用的NoSQL有:HBase、MongoDB、Couchbase、LevelDB。

HBase是Apache Hadoop的子项目,理论依据为Google论文 Bigtable: A Distributed Storage System for Structured Data开发的。HBase适合存储半结构化或非结构化的数据。HBase的数据模型是稀疏的、分布式的、持久稳固的多维map。HBase也有行和列的概念,这是与RDBMS相同的地方,但却又不同。HBase底层采用HDFS作为文件系统,具有高可靠性、高性能。

MongoDB是一种支持高性能数据存储的开源文档型数据库。支持嵌入式数据模型以减少对数据库系统的I/O、利用索引实现快速查询,并且嵌入式文档和集合也支持索引,它复制能力被称作复制集(replica set),提供了自动的故障迁移和数据冗余。MongoDB的分片策略将数据分布在服务器集群上。

Couchbase这种NoSQL有三个重要的组件:Couchbase服务器、Couchbase Gateway、Couchbase Lite。Couchbase服务器,支持横向扩展,面向文档的数据库,支持键值操作,类似于SQL查询和内置的全文搜索;Couchbase Gateway提供了用于RESTful和流式访问数据的应用层API。Couchbase Lite是一款面向移动设备和“边缘”系统的嵌入式数据库。Couchbase支持千万级海量数据存储

分布式文件系统

如果针对单个大文件,譬如超过100MB的文件,使用NoSQL存储就不适当了。使用分布式文件系统的优势在于,分布式文件系统隔离底层数据存储和分布的细节,展示给用户的是一个统一的逻辑视图。常用的分布式文件系统有Google File System、HDFS、MooseFS、Ceph、GlusterFS、Lustre等。

相比过去打电话、发短信、用彩铃的“老三样”,移动互联网的发展使得人们可以随时随地通过刷微博、看视频、微信聊天、浏览网页、地图导航、网上购物、外卖订餐等,这些业务的海量数据都构建在大规模网络云资源池之上。当14亿中国人把衣食住行搬上移动互联网的同时,也给网络云资源池带来巨大业务挑战。

首先,用户需求动态变化,传统业务流量主要是端到端模式,较为稳定;而互联网流量易受热点内容牵引,数据流量流向复杂和规模多变:比如双十一购物狂潮,电商平台订单创建峰值达到58.3万笔,要求通信网络提供高并发支持;又如优酷春节期间有超过23亿人次上网刷剧、抖音拜年短视频增长超10倍,需要通信网络能够灵活扩充带宽。面对用户动态多变的需求,通信网络需要具备快速洞察和响应用户需求的能力,提供高效、弹性、智能的数据服务。

“随着通信网络管道十倍百倍加粗、节点数从千万级逐渐跃升至百亿千亿级,如何‘接得住、存得下’海量数据,成为网络云资源池建设面临的巨大考验”,李辉表示。一直以来,作为新数据存储首倡者和引领者,浪潮存储携手通信行业用户,不断 探索 提速通信网络云基础设施的各种姿势。

早在2018年,浪潮存储就参与了通信行业基础设施建设,四年内累计交付约5000套存储产品,涵盖全闪存储、高端存储、分布式存储等明星产品。其中在网络云建设中,浪潮存储已连续两年两次中标全球最大的NFV网络云项目,其中在网络云二期建设中,浪潮存储提供数千节点,为上层网元、应用提供高效数据服务。在最新的NFV三期项目中,浪潮存储也已中标。

能够与通信用户在网络云建设中多次握手,背后是浪潮存储的持续技术投入与创新。浪潮存储6年内投入超30亿研发经费,开发了业界首个“多合一”极简架构的浪潮并行融合存储系统。此存储系统能够统筹管理数千个节点,实现性能、容量线性扩展;同时基于浪潮iTurbo智能加速引擎的智能IO均衡、智能资源调度、智能元数据管理等功能,与自研NVMe SSD闪存盘进行系统级别联调优化,让百万级IO均衡落盘且路径更短,将存储系统性能发挥到极致。

“为了确保全球最大规模的网络云正常上线运行,我们联合用户对存储集群展开了长达数月的魔鬼测试”,浪潮存储工程师表示。网络云的IO以虚拟机数据和上层应用数据为主,浪潮按照每个存储集群支持15000台虚机进行配置,分别对单卷随机读写、顺序写、混合读写以及全系统随机读写的IO、带宽、时延等指标进行了360无死角测试,达到了通信用户提出的单卷、系统性能不低于4万和12万IOPS、时延小于3ms的要求,产品成熟度得到了验证。

以通信行业为例,2020年全国移动互联网接入流量1656亿GB,相当于中国14亿人每人消耗118GB数据;其中春节期间,移动互联网更是创下7天消耗36亿GB数据流量的记录,还“捎带”打了548亿分钟电话、发送212亿条短信……海量实时数据洪流,在网络云资源池(NFV)支撑下收放自如,其中分布式存储平台发挥了作用。如此样板工程,其巨大示范及拉动作用不言而喻。

nosql数据库的四种类型

一般将NoSQL数据库分为四大类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图形(Graph)数据库。它们的数据模型、优缺点、典型应用场景。

键值(Key-Value)存储数据库Key指向Value的键值对,通常用hash表来实现查找速度快数据无结构化(通常只被当作字符串或者二进制数据)内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等。

列存储数据库,以列簇式存储,将同一列数据存在一起查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限分布式的文件系统。

文档型数据库,Key-Value对应的键值对,Value为结构化数据,数据结构要求不严格,表结构可变(不需要像关系型数据库一样需预先定义表结构),查询性能不高,而且缺乏统一的查询语法,Web应用。

图形(Graph)数据库,图结构,利用图结构相关算法(如最短路径寻址,N度关系查找等),很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案,社交网络,推荐系统等。

常见的nosql数据库有哪些

顾名思义就是非关系型数据库,它的出现,就是为了解决关系型数据库存在的一些问题,可以用NoSQL来进行弥补,现在听得比较多的NoSQL数据库有Redis、MongoDB、HBase等。

常见NoSQL数据库的应用场景是怎么样的

文档数据库

源起:受Lotus Notes启发。

数据模型:包含了key-value的文档集合

例子:CouchDB, MongoDB

优点:数据模型自然,编程友好,快速开发,web友好,CRUD。

图数据库

源起: 欧拉和图理论。

数据模型:节点和关系,也可处理键值对。

例子:AllegroGraph, InfoGrid, Neo4j

优点:解决复杂的图问题。

关系数据库

源起: E. F. Codd 在A Relational Model of Data for Large Shared Data Banks提出的

数据模型:各种关系

例子:VoltDB, Clustrix, MySQL

优点:高性能、可扩展的OLTP,支持SQL,物化视图,支持事务,编程友好。

对象数据库

源起:图数据库研究

数据模型:对象

例子:Objectivity, Gemstone

优点:复杂对象模型,快速键值访问,键功能访问,以及图数据库的优点。

Key-Value数据库

源起:Amazon的论文 Dynamo 和 Distributed HashTables。

数据模型:键值对

例子:Membase, Riak

优点:处理大量数据,快速处理大量读写请求。编程友好。

BigTable类型数据库

源起:Google的论文 BigTable。

数据模型:列簇,每一行在理论上都是不同的

例子:HBase, Hypertable, Cassandra

优点:处理大量数据,应对极高写负载,高可用,支持跨数据中心, MapReduce。

数据结构服务

源起: ?

数据模型:字典操作,lists, sets和字符串值

例子:Redis

优点:不同于以前的任何数据库

网格数据库

源起:数据网格和元组空间研究。

数据模型:基于空间的架构

例子:GigaSpaces, Coherence

优点:适于事务处理的高性能和高扩展性


名称栏目:简述常用的NOSQL,简述常用的复述策略有哪些
地址分享:http://azwzsj.com/article/hcgceh.html