什么是NoSQL?
什么是NoSQL?
NoSQL(最初表示Non-SQL,后来有人转解为Not only SQL),是对不同于传统的关系数据库(RDBMS)的统称。允许部分资料使用SQL系统存储,而其他资料允许使用NOSQL系统存储。其数据存储可以不需要固定的表格模式以及元数据(metadata),也经常会避免使用SQL的JOIN操作,一般有水平可扩展性的特征。
NoSQL与大数据
2000年以后,互联网浪潮使得现代的软件系统需要面对海量的非结构化的数据和数以千万的用户。而NoSQL的出现就是为了解决传统的关系型数据库管理系统无法解决的性能、可扩展性的问题:
- 数据量级呈指数级增长(BIG DATA)
- 同时在线人数规模快速增长,这意味着同时需要处理每秒数十万甚至百万的数据读/写(BIG USER)
- 对于复杂和灵活的数据处理需求,同时应对快速的需求变化(数据灵活性 FLEXIBLE DATA)
- 云计算降低了中小企业(SME)的技术门槛,使得他们可以和技术巨头之间进行竞争(CLOUD COMPUTING)
NoSQL近年来的成长也令人侧目,几乎所有的公司都部署有自己的商业数据的NoSQL数据库实例。Gartner公司预测未来90%的数据都将是非结构化的。NoSQL的快速部署和扩展能力,也对软件的快速推向市场提供了巨大的帮助。
但同时,也需要注意到,NoSQL的应用不再需要专业的DBA团队。缺乏正规的设计和更进一步的数据处理会对数据的监管带来一定的困难。比如,你很难确定你的数据到底是存在哪个地方(因为数据是分布式存储和水平分割)。另外,对于公司数据层面的审计和合规报告来说也带来了挑战。
最新的DB-Engine排名,前10的排名中有4个是属于的NoSQL数据库,分别是MongoDB,Redis,ElasticSearch,Cassandra。这说明NoSQL已经占据了半壁江山。
预告:
排名说明了一个什么问题?这说明理解和学会使用NoSQL数据库基本上是一个必知必会的技能。
在下一篇中,我们将会对MongoDB进行重点介绍。
参考:http://terrydhariwal.github.io/the_basics/2015/09/21/nosql-big-data
https://zh.wikipedia.org/wiki/NoSQL#cite_note-7
https://www.cnblogs.com/sunddenly/p/4265861.html
https://creware.asia/best-nosql-database-in-usability-trend/
https://go.54cuatro.com/en/nosql-governance/