一、 数据库概述
存储和管理数据作为计算机应用的重要基础,其发展经历了三个阶段:手工管理、文件管理和数据库管理。使用数据库来管理数据,使得大型计算机的广泛应用成为可能。数据库技术历经半个多世纪的发展,已经取得了很大的进步。
云计算在快速发展的同时也催生了各种类型网络应用的兴起,这些应用同时也对数据库系统相关的架构、存储策略、数据模型、访问接口等关键技术提出了新的需求,我们先来看看随着软件行业的发展,关系型数据库面临了哪些挑战。
1)高并发
一个最典型的就是电商网站,例如双11,几亿大军的点击造成在某一时刻的并发量是很高的,传统的关系型数据库肯定已经是不堪重负了,如Oracle的Session数量推荐的才只有500。随着系统投入运营,数据量以飞快的速度增长,面对用户频繁读写请求带来的巨大并发量,关系数据库常由于复杂的逻辑设计导致响应慢甚至死锁等问题,
降低了并发读写的性能。
2)高效率存储海量数据
大数据时代,数据量已经不是用GB、TB来衡量了,而是EB、ZB了,面对这海量的数据,如何高效率的存储这些数据,关系型数据库无法解决这个问题,以Oracle为例,单机的物理扩展不仅成本高,而且难度也加大了。
像Facebook、Twitter、新浪微博等 Web2.0
社交类网站,用户既是网站内容的浏览者,同时也是网站内容的创造者,数亿用户的频繁使用会使网站在短期内积聚巨大的数据量,面对如此庞大用户群产生的海量用户动态,试想关系数据库在有着数亿条记录