根据什么来决定你的项目用sql还是nosql database?

根据什么来决定你的项目用sql还是nosql database?

根据什么来决定你的项目用sql还是nosql database?

NoSQL具有灵活的数据模型,可以处理非结构化/半结构化的大数据

NoSQL很容易实现可伸缩性(向上扩展与水平扩展)

动态模式

关系型数据库需要在添加数据前先定义好模式。比如说,你需要存储客户的电话号码、姓名、地址、城市与州等信息,SQL数据库需要提前知晓你要存的是什么。这对于敏捷开发模式来说是场灾难,因为每次完成新特性时,数据库的模式通常都需要改变。

自动分片

NoSQL数据库通常都支持自动分片,这意味着他们本质上就会自动在多台服务器上分发数据,应用甚至都不知道这些事情。数据与查询负载会自动在多台服务器上做到平衡,当某台服务器当机时,它能快速且透明地被替换掉。

使用场景:

数据库表schema经常变化

数据库表字段是复杂数据类型

高并发数据库请求

海量数据的分布式存储