对于sqlite,实际中从来没有用过,也几乎没有考虑过其使用场景,更不要说专门去研究它了,今天看最新的数据库流行度排行榜的时候,发现sqlite的长期趋势好像一直在第十位左右徘徊,特地搜索了下其使用场景,下面的应该是比较客观的:
准确地说,SQLite并不应该用来直接和MySQL、Oracle、PostgreSQL、SQL Server这些client/server数据库比较,因为SQLite是用来解决其他的问题的。
client/server数据库力图实现企业数据的共享库,他们强调可伸缩性、并发、集中和控制。
SQLite试图为单独的应用程序和设备提供本地的数据存储,QLite强调经济性、效率性、可靠性、独立性,和简单性。
SQLite does not compete with client/serverdatabases. SQLite competes with fopen().
SQLite的适用场景
·嵌入式设备和物联网
·网站
·数据分析
·企业数据的缓存
·服务端数据库
·文件档案
·替代临时磁盘文件
·内部或临时数据库
client/server数据库是适用场景
·client/server应用程序
·高访问量的数据库
·大容量的数据库
·高并发的数据库
数据库选型的依据:
数据和应用程序被网络隔开? →选择 client/server数据库
大量并发的写操作? →选择 client/server数据库
大量并发的读操作? →选择 client/server数据库
否则,选择SQLite
http://blog.csdn.net/lijinqi1987/article/details/51957545
综上,最适合的场景应该是C/S系统中的客户端(交易客户端、资讯客户端、QQ、微信等,但不太适合于数据需要100%准确的场景)缓存常用数据比如数据字典、配置文件、菜单列表等等,这样就不用额外自己设计数据文件的格式比如xml或json;或者移动端了。浏览器端H5已经有localStorage了。