html5引入了localStorage来做缓存,又感觉只支持key-value的方式,有所局限,所以又添加了本地数据库的支持。
1、Web SQL
w3c最早提出的本地数据库方案是Web SQL,但是现在已经停止了对其的更新
功能要点,也是H5 Sqlite数据库三个核心API:
- 打开数据库
- 执行SQL语言
- 创建数据表table
- 增加、修改、删除数据
- 获取数据
- 清空数据
- 事务处理
2、indexedDB
indexedDB是H5规范里的浏览器内置数据库,是nosql数据库的一种。因为另一种数据库Web SQL不再受W3C支持,所以还得学习下这个。
相比较Web SQL而言,indexedDB多了自己的很多内置方法,省了一些sql语句的执行。
总体功能而言,与Web SQL类似,基本上是常规的数据库操作
3、思考
兼容性
现在先进的浏览器,都支持了本地数据库,尤其是对indexedDB的支持。
安全性
存储在客户端的数据,注定了不是十分安全的,别人一下子就可以获取到。
实用性
由于不是安全的,像用户信息、金融信息等重要的数据,肯定是不能存在这里的。
本地数据库,只能是做为localstorage的一个扩展,存储一些不疼不痒的数据,便于缓存,提高相关业务的性能。
但是同时又增加了数据的操作难度,相对比操作ocalstorage,甚至cookie,操作数据库都是很繁琐的,尤其某些是对数据库技术不了解的前端同学,还得专门去学习数据库技术
4、总结
本地数据库本地承担着明天的责任,但是貌似大家对该技术都不感冒,大家都是积极的研究了一下,然后断定“发展不起来”
我也是觉得本地数据库未来空间有限,具体拭目以待吧。