热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

文件系统和数据库系统,数据库和数据库系统的异同

数据库系统中,数据不再仅服务于某个程序或用户,而是以单位的形式共享出来,统一由DBMS软件管理。②分布式方案的出现让文件系统能够在海量数据面前大显身手,极强的可扩展性带来极好的数据


从工作需要出发,我简单了解了文件系统和数据库系统。 总结如下,希望对广大读者有所帮助。


文件系统的简单介绍


文件系统是操作系统的子系统,用于操作系统显式存储设备或分区上文件的方法和数据结构。


文件系统由文件系统的接口、操作管理对象的软件的集合(支持文件的删除、复制、粘贴等操作的软件)、对象以及属性三部分构成。


数据库系统的简单介绍


数据库系统主要包括数据库和DBMS。 (与文件系统的区别在于这两个方面,其他包括主机语言等在内的区别还不清楚。 )


文件系统和数据库系统的对比


第一管理对象不同:


两者最明显的不同在于,文件系统或以文件为载体记录并管理数据,也不仅仅是数据本身,而是记载这些数据的文件,文件的各种形式对应于不同的数据结构。 (作为非常容易理解的比较,重命名文件不会更改文件中记录的数据。)


数据库系统管理着数据本身,在数据库中的操作会立即影响数据。


第二存储数据方式不同:


文件系统用文件长期保存数据。 (这里的文件有各种各样的形式,但后缀不同的文件相当于不同的数据结构。)


数据库系统用数据库统一存储数据。 (有统一的数据结构)


第三程序和数据的关系不同:


在文件系统中,程序必须直接访问数据,对数据的查询修改必须在程序内进行,这依赖于开发人员明确文件的逻辑和物理结构。


在数据库系统中,数据不仅仅提供给某个程序或用户,而是作为单位共享,由DBMS软件统一管理。 所有通过程序进行的数据操作都由DBMS实现,因此程序和数据是完全独立的,可以在更高的抽象级别观察和访问数据。


根据以上三个差异,可以总结出两者在生产环境中的主要优劣:


文件系统的缺点:


文件系统不方便编写APP,往往需要程序根据文件的变化进行修改。


由于文件系统中的文件不能满足各种程序的需要,同一数据往往以不同的文件格式存储,导致数据的冗余和不一致。


文件系统不支持同时访问文件。


文件系统中的数据缺乏统一的管理,表现为数据的结构、编码、显示格式、命名及输出格式等,不容易实现规范化、标准化,因此数据的安全和保密面临更大的挑战。


文件系统的优点:


由于数据冗余,在高可用性方面远远优于数据库系统。 而且,在大量的存储方面,大量的冗馀带来了更大的容错能力。


分布式方案的出现,使文件系统能够在海量数据面前大显身手,具有非常高的可扩展性和出色的数据存储能力。


数据库系统的缺点:


由于DBMS的存在,在不需要简单的数据共享的场景中,性能比文件系统差。


由于数据无冗余,在高可用性方面存在一定风险,只能通过备份解决。


处理海量数据的APP场景是被动的,无法顺利进行。


数据库系统的优点:


由于DBMS的存在,用户不需要了解数据存储和其他实现细节,可以直接通过DBMS获取数据,给数据的使用带来了极大的方便。


具有数据单位共享性,具有同时访问数据的能力。 DBMS保证了并发访问时数据的一致性。


低延迟访问,典型的例子是在线支付系统的应用,在支付规模巨大的情况下,数据库系统的性能远远优于文件系统。


可以比较频繁地修改数据,在需要频繁修改数据的场合,数据库系统可以依赖于DBMS对数据进行操作,与文件系统相比,性能消耗较少。


事务支持。 DBMS支持事务。 这意味着一系列数据操作要么完成,要么不完成。 DBMS中对数据的各种操作都是原子级的。


附录是文件系统和数据库系统的简单工作原理图


数据库系统


文件系统


推荐阅读
  • 本文简述了数据库的概念、作用及发展阶段的特点。数据管理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统阶段,分别描述了各个阶段的特点。数据库、数据库管理系统和数据库系统的含义和联系也进行了简述。数据库是长期存储在计算机内、有组织、可共享的大量数据的集合,而数据库管理系统是整个数据库系统的核心部分,负责统一管理和控制用户对数据库的操作。数据库系统是以数据库为基础的应用系统。总结了数据库的保存方式、管理方式、共享性和独立性等特点。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
author-avatar
静风疾水
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有