前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >普通文件和数据库存储的对比

普通文件和数据库存储的对比

作者头像
八哥
发布2018-01-18 16:14:00
1.6K0
发布2018-01-18 16:14:00
举报
文章被收录于专栏:快乐八哥快乐八哥

在大多数企业开发或Web开发中,都会涉及数据的存储和检索。存储数据有两种基本的方法:保存到普通文件中(File System),或者保存到数据库(Database)中。

文件存储常见,并且简单,操作系统提供的完善的API,所以在早期项目中都会使用文件作存储载体。但是随着企业业务越来越复杂,网站访问量也越来越大时,对数据的并发性和检索速度有更高的要求。所以慢慢的也就引入使用数据库作为数据存储了。

使用普通文件的遇到的问题:

  1. 当文件变大时,使用普通文件将会变得非常慢,访问速度制约了应用性能
  2. 在一个普通文件中查找特定的一个或一组记录将非常困难。
  3. 处理并发访问可能遇到问题。虽然可以使用锁定文件来操作文件,但是多个脚本访问文件时可能导致竞争条件的发生,它可能导致应用出现性能的瓶颈。
  4. 普通文件在顺序访问时具有优势,但是在随机访问数据时可能非常困难。除非你将整个文件读入到内存中,在内存中修改它,然后将整个文件写回去
  5. 除了使用文件访问权限作为限制外,还没有一个简单高效的方法区分不同级别的数据访问权限机制。

关系数据库关系系统如何解决文件存储晕倒的问题:

  1. 提供了比普通文件更快的访问速度。
  2. 可以很容易查找并检索满足特定条件的数据集合
  3. 具有内置的处理并发访问机制。作为一个编程人员,不需要处理这些内容。
  4. 可以随机访问数据
  5. 具有内置的权限系统,有灵活的角色和权限管理功能。

如果要创建一个简单的系统或者应用,而又觉得不需要一个功能全面的数据库系统时,我们可以使用SQLite。使用SQLite来作为一个中间人,一方面操作起来像普通文件一样方便和快捷,另一方面提供了数据库具有基本事务处理能力,和操作文件提供了一个基本的SQL接口。当然SQLite更多是作为应用或产品的嵌入式数据库,最主要是它开源的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-06-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档