0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件系统的数据存储设计

h1654155333.5939 来源:laobabab 作者:laobabab 2024-08-22 11:13 次阅读

软件系统的数据存储设计

数据库的设计是系统开发必不可少的环节,数据库设计的合理性将会节省大量数据存储空间,同时保证了数据的完整性以及整个系统运行的畅通高效性。此外,优秀的数据库设计还应当考虑到数据库应用系统的后续开发,保证数据查询的高效性,满足用户的应用需求,加快网页访问浏览速度,给用户带来良好的使用体验等等。

一般涉及大规模数据的查询处理时,用户查询数据的效率就会体现的越发明显,而查询数据的效率将会直接影响到用户的使用感,如果数据库表设计不合理, 数据访问迟缓造成系统的卡顿,这对于系统的性能而言无疑是致命的。因此在系统设计的初期就需要对数据的特征作详细分析整理,当充分了解到被处理数据互相之间的联系后再设计数据库表就会避免很多后续工作意外的发生,既减少冗余和耦合同时也减少了不必要的工作量。如下表所示是系统内所有数据表的说明,后续主要对他们中的核心字段以及字段对应之间的联系和信息进行介绍说明。

RDBMS 读写分离

读写分离是基于主从复制架构,一个主库,有多个从库,主库主要负责写,写完后主库会自动把数据给同步给从库。主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。一台服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中,并会维护文件的一个索引用来跟踪日志循环,这个日志可以记录并发送到从服务器的更新中去。一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新。

wKgZombGqmOAZDLSAAFPCkHEqHQ364.png

​读写分离原理图

主库将变更写入binlog日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay中继日志(relay log)中。接着从库中有一个SQL线程会从中继日志读取binlog,然后执行binlog日志中的内容,也就是在自己本地再次执行一遍SQL语句,从而使从服务器和主服务器的数据保持一致。

主从配置就是围绕这个原理配置,也就是说:从库会生成两个线程,一个I/O线程,一个SQL线程;I/O线程会去请求主库的binlog,并将得到的binlog写到本地的relay-log(中继日志)文件中;主库会生成一个log dump线程,用来给从库I/O线程传binlog;SQL线程,会读取relay log文件中的日志,并解析成sql语句逐一执行。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据存储
    +关注

    关注

    5

    文章

    948

    浏览量

    50790
  • 软件系统
    +关注

    关注

    0

    文章

    61

    浏览量

    9466
收藏 人收藏

    评论

    相关推荐

    基于分布式存储系统医疗影像数据存储解决方案

    基于分布式存储系统医疗影像数据存储解决方案
    的头像 发表于 09-14 09:53 172次阅读
    基于分布式<b class='flag-5'>存储系统</b>医疗影像<b class='flag-5'>数据</b><b class='flag-5'>存储</b>解决方案

    软件系统数据检索设计

    软件系统数据检索设计 随着业务量加大,数据检索量也会日益增多,为了减轻数据库压力,本系统采用E
    的头像 发表于 08-22 14:08 172次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>系统</b>的<b class='flag-5'>数据</b>检索设计

    软件系统数据库的分库分表设计

    软件系统数据库的分库分表设计 系统读写分离、分库分表技术实现采用MyCat中间件,MyCat 是一款开源(遵循 Apache License 2.0 协议)的大
    的头像 发表于 08-22 11:39 237次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>系统</b><b class='flag-5'>数据</b>库的分库分表设计

    数据中心提高存储性能的方法是什么?

    这些技术是走向云计算的重要的第一步。 重复数据删除 在任何数据存储系统最大的阻碍是相关的冗余数据。采用智能压缩技术,可以删除重复数据,只保留
    的头像 发表于 08-05 11:40 321次阅读

    闪存的哪些扇区可用于用户数据存储

    界面(通过 AP 获得),然后在闪存中存储数据,以便设备自动以 ST 模式连接,并保存用户密码以保护配置。变化。 我已经准备了这样的软件,但使用了外部存储器。
    发表于 07-12 08:13

    数据中心存储系统出现故障的处理方法有哪些?数据中心存储系统出现故障怎么办?

    互联网+时代,大数据非常重要,如果保护好如数据存储系统相当关键。如今,随着互联网的快速发展,各种攻击变得越来越严重,数据存储系统也变得越来越
    的头像 发表于 06-19 11:30 557次阅读

    态势数据如何存储

    智慧华盛恒辉态势数据存储主要依赖于数据库技术和文件存储系统。以下是一些关于如何存储态势数据的建
    的头像 发表于 04-22 17:29 267次阅读

    态势数据分析系统软件

    智慧华盛恒辉态势分析软件系统的功能描述、部署环境、界面使用、技术支持及一些常见问题及其解决办法等。为数据态势分析软件系统的管理人员和使用人员
    的头像 发表于 04-22 11:36 351次阅读

    软件定义存储中,企业级SSD扮演了什么角色?

    、弹性地应对每一次数据洪峰的冲击,可靠的数据存储架构变得尤为关键。在诸多解决方案中,软件定义存储很快受到了欢迎。
    的头像 发表于 04-10 16:31 367次阅读
    <b class='flag-5'>软件</b>定义<b class='flag-5'>存储</b>中,企业级SSD扮演了什么角色?

    数据时代的存储革命:理解分布式存储系统

    管理的效率极低。因此,分布式存储系统应运而生。 分布式存储就是将数据存储在众多的服务器或网络节点上,而不是集中在单个位置。这种方式的好处包括:方便扩容、
    的头像 发表于 03-07 15:40 343次阅读

    什么是智能存储系统?对比传统存储柜,智能存储柜有哪些优点?

    智能存储系统(IntelligentStorageSystem)是一种先进的数据存储解决方案,它结合了硬件、软件和自动化管理功能,以实现对数据
    的头像 发表于 03-05 13:53 395次阅读
    什么是智能<b class='flag-5'>存储系统</b>?对比传统<b class='flag-5'>存储</b>柜,智能<b class='flag-5'>存储</b>柜有哪些优点?

    ​简单认识软件定义存储(SDS)

    软件定义存储(SDS)即利用分布式和虚拟化等软件技术,将存储硬件资源按需进行分割和重新组合,达到灵活按需拓展、提高存储利用率等目标。在数字
    的头像 发表于 01-02 11:07 736次阅读
    ​简单认识<b class='flag-5'>软件</b>定义<b class='flag-5'>存储</b>(SDS)

    文件存储和块存储的区别和联系

    文件存储和块存储是两种常见的数据存储方式,它们在设计思想、数据组织方式、应用场景等方面存在着一些区别和联系。 首先,文件
    的头像 发表于 12-20 17:16 976次阅读

    华为存储携手优炫软件,共促中国多主数据库加速发展

    2023年12月5日,华为数据存储与优炫软件共同发布“数据库存算分离联合解决方案”。此次发布内容包含满足金融、运营商、能源、制造、政务等多个行业不同业务场景的三大
    的头像 发表于 12-11 09:12 603次阅读

    存储程序的FLASH中分出一个区域用来存储数据,这样做难度大不大呀?

    我们的一个FPGA项目需要存储数据。 想在存储程序的FLASH中分出一个区域用来存储数据,这样做难度大不大? 我们的
    发表于 10-18 06:31