数据库技术发展之路

一切技术的出现都是源于问题,而数据库的主要问题就是性能问题。本文章简单介绍了数据库由于web发展带来的性能问题而引入

的技术历程。这样方便大家在以后数据库的学习中有一个清晰的思路,不要为了技术而学技术,而要因解决问题而学习技术。

如有不对的地方,也请大家多多指教。


数据库分为两大类,关系型数据库(如Mysql)和非关系数据库(NoSQL)。

最开始人们使用关系型数据库,它有着不错的性能,也稳定,但随着论坛,微博等web领域访问量的增加这时候MySLQ的性能就不行了(MySQL读取是基于磁盘上的I/O操作)。


这时程序员们就使用缓存技术,优化数据库结构和索引来提高性能。但访问量继续增加时,多台服务器间缓存也不能共享,多个缓存文件也带来了I/O压力。


这时就引入了Memcached,作为一个独立的分布式服务器,为多个服务器提供了一个可共享缓存。


Memcached没有缓解了写操作的压力,这时候便引入了MySQL主从复制技术来达到读写分离来缓解写操作压力。


但随着web的发展,数据量持续增加,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发MySQL应用开始使用InnoDB引擎代替MyISAM。同时也采用分库分表技术来缓解写压力。


但一方面分库分表需要经验,而且面对着需求变更与扩展,可能又需要一种新的变更方式。另外数据库也会存储很大的字段,导致

一个数据库可能非常大,恢复的就非常慢了。总而言之,MySQL虽然好,但是不能总是很好的用于所有场景。


这时便引入了一种非关系型数据库NOSQL,它主要有以下特点

1.它去除了关系性,数据之间没有关系,因此有着高扩展性。

2.高读写性能,因为无关系性,并且采用记录级的Cache。

3.灵活的数据模型,无需事先建立字段,可存储自定义的数据模型。


总结:NoSQL数据弥补了MySQL数据库一些方面的不足,实践中我们要结合这两者使用才可以兼顾性能与开发成本。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值