`
heiliguai
  • 浏览: 14455 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

nosql数据库技术

阅读更多

nosql数据库

 

软件的变化:
1.用户数量的变化:
以前的用户数量少,并且变化量不大;现在的用户数量大,并且随着时间增长;

 

2.应用需求的变化:
以前的软件解决流程固定的问题,把人工做的事情映射给计算机做,达到完成业务流程的速度更快,犯得错误更少,业务流程早就一文本的形式规定好了,如取款机业务,机票预订业务等等。

 

现在软件解决的问题业务流程是未知的,没有现有的模型去模仿的,业务规则随时会改变。实现这种业务所需要的后台数据库必须具备灵活多变的特性。


3.计算设施的变化

以前倾向于使用集中式计算设施,通过提高计算机的计算性能来适应需求的增长;

 

现在倾向于使用分布式计算设施,以达到以下目标:

 

①设施成本随着用户需求的增长线性增长;

 

②通过增加计算节点可以达到响应速度不变的效果;

 

③可以平缓的上线新功能,如果系统有新功能,可以一部分一部分节点更新,而不是先将原有系统下线。

 

 

数据库发展没有跟上发展节奏

 

关系数据库占据了当前数据库的主流,关系数据库是按照集中式计算模型设计的,为了用户需求的增长比较倾向于采用scale-up的策略。

 

然而关系数据库的最大问题是关系数据库的严格的schema,在向数据库插入数据之前必须定义好schema。所以在设计数据库的时候要考虑好以后可能会出现的字段。如果已定义的schema不能满足现有的应用,就必须改变原有的schema,这种操作对系统有较大的破坏性。

 

关系数据库有这些问题,就有一些改变来解决这些问题:

 

1.sharding

sharding就是将数据库中的数据分配到不同的服务器上。比如,全国的人口数据,可以将长江以南的放在一个数据库A,将长江以北放在另外一个数据库B。

 

sharding会带来一些不好的后果:

 

①可能需要re-shard。比如,当长江以北的数据太多,以致数据库B不能装完的时候。可能就要考虑将长江以北数据分为长江以北黄河以南和黄河以北两部分了。做这个改变的时候,原来的应用也要做相应的改变,re-shard之前我们访问长江以北的数据在数据库B,现在要改为数据库B和C了。

 

②损失了关系模型带来的一些好处。

 

③需要为每个服务器维护一份schema。在单机上改变schema就是一件难事了。

 

2.denormalizing

关系数据库是由多张表组成的,要更新一条记录的时候,必须锁定多张表,这样降低了数据库的吞吐量。denormalinzing存储冗余数据,将数据存储为key-value形式,这种做法将关系数据的特性全都丢失了。

 

3.分布式缓存

通过分布式缓存可以提高数据库的性能,但也有以下几个缺点。

①缓存能提高读性能,写数据库仍然是一个瓶颈;

②当某个缓存损坏的时候,原来在缓存的读请求会流向数据库,导致数据库访问压力急剧增大;

③又多了一层系统要维护。

 

以上针对关系数据库的做出的一些改变都是治标不治本的,是强行对关系数据库做一些改变以适应现在的应用需求。关系数据库已经有了一个很大的市场,原来的关系数据库厂商为了保住他们的那块蛋糕,不会积极的去解决现有需求投入研发。于是有些大公司,google,amazon什么的自己开发数据库了。这些数据库与关系数据库相比更适应现在的需求。

 

主要有以下特性:

①不需要定义schema,这可以适应多变的业务需求;

②自动sharding,不需要具体的应用去参与sharding的过程,sharding过程对业务是透明的;

③支持分布式查询;

④集成缓存,这样就不需要另外去维护一个缓存层了。

 


 

分享到:
评论

相关推荐

    NoSQL数据库技术与应用.pptx

    NoSQL数据库技术与应用 NoSQL数据库技术是一种非关系型数据库,适用于大规模、高并发、高灵活性的数据存储和管理。它具有分布式、可扩展、灵活性和高并发等优势。NoSQL数据库技术可以分为四大类:键值存储、图形...

    NoSQL数据库技术实战

    NoSQL数据库技术实战 数据库书籍!

    大数据-大数据挑战与NoSQL数据库技术

    《大数据挑战与NoSQL数据库技术》共分为三部分。理论篇重点介绍大数据时代下数据处理的基本理论及相关处理技术,并引入NoSQL数据库;系统篇主要介绍了各种类型NoSQL数据库的基本知识;应用篇对国内外几家知名公司在...

    大数据挑战与NoSQL数据库技术PDF

    大数据挑战与NoSQL数据库技术是当今信息技术领域中的热门话题,特别是在数据量呈指数级增长的背景下,传统的数据库管理系统已经无法满足高效存储和处理大规模数据的需求。NoSQL(Not Only SQL)数据库应运而生,成为...

    2020~2021学年第一学期 《NOSQL数据库技术》期末考试试卷-附答案.doc

    NoSQL 数据库技术是当前非常流行的一种数据库技术,它不同于传统的关系型数据库,NoSQL 数据库技术具有高可扩展性、高性能和灵活性等特点。下面是 NoSQL 数据库技术期末考试试卷附答案: 1. 创建一个集合 Student:...

    NoSQL数据库技NoSQL最新技术发展趋势.pdf

    NoSQL数据库技术发展趋势 NoSQL数据库技术发展趋势是当前数据库技术发展的热点。近年来,NoSQL数据库技术获得了高速发展,许多企业和机构都在投入巨资来开发和应用NoSQL数据库技术。阿里云作为中国软件行业的领导者...

    大数据挑战与NoSQL数据库技术 (PDF版)- 陆嘉恒编著

    《大数据挑战与NoSQL数据库技术》一书,由陆嘉恒编著,深入探讨了在当前数据爆炸的时代,如何应对大数据带来的挑战,并介绍了NoSQL数据库技术作为解决方案的重要角色。本书内容丰富,旨在帮助读者理解大数据的特性、...

    NoSQL数据库入门 高清PDF

    NoSQL数据库作为一种新兴的数据库技术,在解决大规模数据存储和处理方面展现出巨大的潜力。其高扩展性、高性能和灵活的数据模型使其成为许多现代应用程序的理想选择。然而,选择NoSQL数据库时也需要综合考虑各种因素...

    nosql数据库的发展和应用研究

    nosql数据库的发展和应用研究

    《大数据挑战-NoSQL数据库技术》读书笔记

    ### 《大数据挑战-NoSQL数据库技术》读书笔记 #### 一、概论 NoSQL数据库是一种新型数据库管理系统,它区别于传统的关系型数据库,具备非关系型、分布式、不具备传统意义上的ACID特性的三大特点。 - **非关系型**...

    NoSQL数据库技术数据库资源调度平台架构实践.zip

    本文将深入探讨NoSQL数据库技术以及在构建数据库资源调度平台架构中的实践。 NoSQL数据库的四大类型包括键值存储、列族、文档型和图形数据库,每种都有其独特的优点和适用场景。键值存储如Redis,适合缓存和快速...

    NoSQL数据库原理课件-侯宾.zip

    本课件将深入探讨分布式数据库的原理以及NoSQL数据库的核心概念,帮助读者理解和掌握这两种技术。 一、分布式数据库基础 1. 分布式数据库定义:分布式数据库是一种物理上分散在不同地理位置,但在逻辑上视为单一...

    NoSQL数据库学习教程.pdf

    亚数据库是指使用亚马逊的数据库技术来实现分布式数据库。 MemCached是指使用MemCached来实现分布式缓存。 特点是指使用MemCached的特点和优势。 内存分配是指使用MemCached来分配内存。 缓存策略是指使用...

    NoSQL数据库技术腾讯CMongo架构与优化实践.zip

    本文将深入探讨NoSQL数据库技术,特别是MongoDB的架构原理以及腾讯CMongo的优化实践。 1. NoSQL数据库概述 NoSQL,Not Only SQL,是相对于传统关系型数据库的非关系型数据库。它的出现主要是为了解决大规模数据...

    大数据技术原理与应用之NoSQL数据库.pptx

    "大数据技术原理与应用之NoSQL数据库" 在大数据技术原理与应用领域中,NoSQL数据库扮演着非常重要的角色。NoSQL数据库是指不遵循传统关系数据库管理系统(RDBMS)的数据库管理系统,主要特点是去中心化、可扩展性强...

    NoSQL数据库技术数据库资源调度平台架构实践.pdf

    《NoSQL数据库技术在数据库资源调度平台架构中的实践》 在当今互联网时代,数据库资源调度平台扮演着至关重要的角色,特别是在大规模数据处理和高并发访问的场景下。新浪微博的数据库资源调度平台——Shanks,就是...

    NoSQL数据库技术银联分布式缓存的异地多活实践V2.zip

    在IT行业中,NoSQL数据库技术已经成为了大数据处理和高并发场景下的重要选择。尤其是在金融领域,如中国银联这样的大型金融机构,对数据处理的高效性和稳定性有着极高的要求。本实践案例聚焦于银联如何利用NoSQL...

Global site tag (gtag.js) - Google Analytics