文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql系列——数据库设计(1)——关系型数据库使用情景

2024-04-02 19:55

关注

为什么使用数据库

许多人会问为什么软件存储数据会使用数据库?记得当时有一位做Flash开发的朋友说,你们做后端开发的一旦牵涉到存储数据就会想用数据库。其实存储数据可以使用文件。他的说法有一定道理。那么需要存储数据时,什么情况使用文件、什么情况使用数据库呢?前端存储数据使用文件都能解决吗?这篇文章会解答这些问题。

关系型数据库优点

关系型数据库的理论依据是笛卡尔的关系数学理论,但是实际上,大多数使用维护数据库的同行对关系数学都是一知半解,不幸的是我也是其中一位。我知道的是基于关系数学理论设计的关系数据库能够满足减少数据冗余(不是绝对避免,数据冗余有一定的好处),去除数据不一致性的要求。这是关系型数据库数学理论给它带来的优点,因此学习一些理论知识武装头脑能够提高软件开发效率、降低运维成本,甚至创造更高的价值。

关系型数据库跟文件存储数据最大的区别不仅于此,更在于关系型数据库能够带来高性能。一个关系型数据库能够支持成百上千的进程同时读写数据,而一个文件在有多个进程读写数据时会锁死,甚至带来数据的不一致性。那么关系型数据库是怎样做到在保证高性能的同时保证数据的一致性呢?(这句话有一定片面,本质上这两个指标之间是一对矛盾,数据的一致性有多个级别:强一致性、弱一致性、最终一致性,而越高的一致性则带来越低的性能。这需要看您在系统设计时更重视哪个指标)

因为数据库系统在设计时运行了多个进程,并且将数据文件按照块为单位进行了划分,同时在内存中也对相关数据及索引区域以块为单位进行了划分。在进行数据写入时,有些数据库会先写日志,然后返回给程序。在数据库根据管理员配置的参数及内存相关区域容量的情况下决定是否将数据回写磁盘。在多个进程的配合下,数据库能够保证高性能与一致性。同时,数据库系统的设计者们运用了B+树等结构对数据在存储时进行了索引,您在查询数据时数据库尽可能的应用索引,因此数据的读取也会更加快速。同时,数据库会将热数据存储在较快的存储中作为缓存(内存、固态系统硬盘等),这样也能够显著的提高效率。

(至于怎样调整参数优化MySQL数据的效率,将在 数据库的性能的几个关键参数(为什么参数设置后未生效)进行讲解。)

因此,关系型数据库相比文件存储数据来说具有:高性能、一致性等优点。而关系型数据库相对Nosql数据来说,高性能并不能算作他的长处,一致性则成为关系型数据库的长处。

怎样选择存储系统

如果您像我的朋友一样制作一个单人的Flash系统,可以考虑文件存储数据。而据我做手机软件的同事来说,他们在做手机软件时也会选择文件存储数据。但是,大多数学习了关系型数据库理论与设计的开发人员在选择存储系统的时候则选择另外一种轻量的关系数据库:Sqlite。这种关系型数据库语法与mysql有较好的兼容性,能够提高编程质量与效率。在此,推荐同行们在制作手机软件、前端软件时使用Sqlite进行开发。

写在后面的

关系型数据库之所以在今天仍然被大量采用,是因为他的高性能与可靠性。在笔记本刚出来的时候,有很多人说台式机将会消失。同样,在Mongo出现后,有些人预言关系数据库会被替代。但是,关系型数据库仍然在不断发展,因为尺有所短、寸有所长。多样才多彩,可爱的朋友,您说呢?


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯