软件设计 - 大数据 - 性能优化篇2

这篇具有很好参考价值的文章主要介绍了软件设计 - 大数据 - 性能优化篇2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

偶然之间想到,在数据库中我们存储的数据放置在了某个列中,但这个数据的体积很大。且已明确知晓这个数据不会用于查询操作。只会在业务需要的时候从数据库中拿出来使用即可。

举例 - 新闻稿件编辑

根据场景我们知道,当新闻内容比较多时,占用的存储体积比较大。
如果某些特殊的场景,在新闻稿中上传的图片不是由专门的文件系统处理存储,而是转成了base64编码直接放置在了页面上的话,这个文件的内容会更大。

因为编辑的新闻稿件内容大,导致后端在和数据库交互传输数据的时候需要耗费更多的时间用于数据传输。对数据库表的体积也有压力。

那么,我们如何来处理这个问题呢?
我们想达到的目标
1、后端和数据库之间的数据交互传输速度提升。
2、对数据库表的体积进行压缩

方案

采用php 函数 gzcompress 压缩字符串;gzuncompress 解压字符串

public function index9()
{
    $data = User::query()->get()->toArray();
    $string = json_encode($data,JSON_UNESCAPED_UNICODE);
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    $string.= "\n".$string;
    //压缩字符串,并将内容写入文件,这里也可以改为写入数据库。
    //(写入数据库时要注意存储的字段类型为空间存储如 blob)
    $gzString= gzcompress($string);
    $this->writeProccess($gzString);
	
	dd(gzuncompress($gzString));
}

protected function writeProccess(string $msg) : void
{
    //设置文件日志文件对象
    $file = fopen(__DIR__ . "/test.txt","a+");
    fwrite($file,"\n".$msg);
    fclose($file);
}

经过测试解析将 40M 的用户数据字符串,压缩到了360kb 左右。极大减少了数据传输的开销和存储的体积,但此方式不支持加入索引。

总结

在我们明确知晓某个数据不会参与到查询且这个数据的体积较大的时候可以考虑此种方案提升速度。但需要注意的是此种方案对cpu有压力(压缩/解压 都需要耗费一定的cpu资源,数据体越大耗费的资源越多)。采用的是以 性能换空间 方式。(另称为 以时间换空间 )文章来源地址https://www.toymoban.com/news/detail-776419.html

到了这里,关于软件设计 - 大数据 - 性能优化篇2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • php代码编写性能、安全、规范、效率优化教程

    PHP作为一种非常流行的服务器端语言,是开发Web应用程序的重要工具之一。尤其是随着互联网的快速发展和Web应用程序的广泛普及,PHP代码的编写变得越来越重要。下面我们将介绍如何规范的编写PHP代码、PHP代码编写性能以及运行效率优化建议、PHP代码的安全性如何优化、以

    2024年01月17日
    浏览(10)
  • 分布式系统架构设计之分布式数据存储的安全隐私和性能优化

    分布式系统架构设计之分布式数据存储的安全隐私和性能优化

    在前面分布式系统部分,有对安全性做过介绍,如前面所述,在分布式系统中,确保系统的安全性和隐私是至关重要的。安全性关注系统的防护措施,而隐私是关注用户的个人信息保护。 身份认证:确保用户和系统组件的身份是合法的,通过通过密码、令牌或证书实现 授权

    2024年02月02日
    浏览(48)
  • PHP调优策略和性能测试工具的详细解析 - 大规模网站性能优化

    当面临大规模网站性能优化时,对PHP进行调优是至关重要的。这涉及到评估现有系统的性能瓶颈,并采取适当的策略来提高网站的响应速度和吞吐量。本文将深入探讨PHP调优的策略,以及可用于性能测试的工具。 使用缓存 :合理使用缓存可以减少数据库查询和计算操作,提

    2024年02月12日
    浏览(17)
  • Redis缓存设计与性能优化

    Redis缓存设计与性能优化

    缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中 , 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个:

    2024年02月07日
    浏览(12)
  • 【FPGA】优化设计指南(二):性能指标

    【FPGA】优化设计指南(二):性能指标

    Fmax可通过时序报告计算得出。在Vivado中,可通过命令report_timing_summary生成时序报告.WNS越大越好. 输入到输出的延迟通常用时钟周期个数来表示,称为Latency,该指标也反映了设计的流水级数。Latency越小越好。但Latency小意味着流水级数低,这可能会导致Fmax降低。 可通过命令

    2024年04月28日
    浏览(13)
  • 6. Redis缓存设计与性能优化

    6. Redis缓存设计与性能优化

    本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1、多级缓存架构详解 2、缓存穿透缓存击穿缓存雪崩详解 3、热点缓存key重建优化 4、缓存与数据库双写不一致终极解决 5、Redis开发规范与性能优化 ngnix到Lua到web层,到re

    2024年02月11日
    浏览(14)
  • 49.Redis缓存设计与性能优化

    缓存与数据库双写不一致 小概率事件 //线程1 写数据库stock = 5 ---------------》更新缓存 //线程2 写数据库stock = 4 -----》更新缓存 //线程1 ------》写数据库stock = 10 -----》删除缓存 //线程2 -----------------------------------------------------------------------------------------------》写数据库stock = 9 -

    2024年02月08日
    浏览(13)
  • React组件设计之性能优化篇

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:空山 由于笔者最近在开发中遇到了一个重复渲染导致子组件状态值丢失的问题,因此关于性能优化做了以下的分析,欢迎大

    2024年02月16日
    浏览(16)
  • Redis缓存设计与性能优化【缓存和数据库不一致问题,解决方案:1.加过期时间这样可以一段时间后自动刷新 2.分布式的读写锁】

    Redis缓存设计与性能优化【缓存和数据库不一致问题,解决方案:1.加过期时间这样可以一段时间后自动刷新 2.分布式的读写锁】

    在大并发下,同时操作数据库与缓存会存在数据不一致性问题 1、双写不一致情况 2、读写并发不一致 解决方案: 1、对于并发几率很小的数据(如个人维度的订单数据、用户数据等),这种几乎不用考虑这个问题,很少会发生缓存不一致, 可以给缓存数据加上过期时间,每隔一

    2024年04月13日
    浏览(18)
  • PostgreSQL性能调优:优化查询和索引设计

    PostgreSQL性能调优:优化查询和索引设计

    随着数据量的增长和业务需求的变化,数据库性能成为了许多企业关注的焦点之一。在众多的数据库管理系统中,PostgreSQL因其稳定性和可靠性而备受青睐。然而,即使是最强大的系统也需要合适的调优,以确保其能够高效地处理大规模数据和复杂查询。 本文将介绍如何在P

    2024年02月07日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包