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

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

3天内不再提示

为什么不建议把数据放入db中呢?

lhl545545 来源:Linux爱好者 作者:Linux爱好者 2020-06-18 10:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

产品经理(PM)过来找你要最近某某的数据,而你知道这些数据目前只能通过日志文件去分析,因为我们知道,我们不可能把所有数据都放入db中(这不科学啊!)。每当有这样任务的时候,你就用php或java(又或c)写一个特殊任务的程序,这真是一件令人头痛的事情。

放入db???

为什么我不建议把数据放入db中呢?优点不言自明,我们可以通过sql语句很容易把数据拿出来。

缺点呢?首先就是我们不能把什么东西都往db里放?

原因,我归纳了以下几点:

1、数据的抽风型:

一般都是某某(不敢指明点姓,怕打击报复)脑门子一拍,突然想要某些数据,这就会来找你要。等这股抽风劲一过,很长时间没人再找你要数据了。

2、数据的臃肿型:

与其说是臃肿还不如说是乱七八糟。你不能把那一坨一坨的杂七杂八的数据,一股脑放入db中吧?那你的后台db成什么样子了?所以我们要管好我们的后院,不能什么东西都放到家里面。

3、成本:

干什么事情,我们不能做赔本的买卖。像这种一次性的买卖,我们就要降低成本去做。

为了解决以上问题,我们请出awk神器吧?一种“短小精悍”的神器,常常用一两行代码就能搞定一些复杂的任务。

本文宗旨

awk不难,关键是看我们怎么思考?我的思考方式是:在这么多数据行中,我要找什么(行位置)?找到之后,我们要干什么(如{})?

故我的主题就出来了:找什么和干什么。我不想讲什么语法之类的东西(不要在意这些细节)。

找什么?

这个世界最难的不是做什么,而是找什么?李清照的“寻寻觅觅”,最后把自己寻觅没了。仿古人,俺也寻寻觅觅了一阵子,结果跟清照大姐一样,迷失在寻寻觅觅中,到现在都不知道我在寻觅什么?——个人认为找什么不是体力活,而是技术活。awk吸引我的,也就是它教会了我怎么找我想要的东西?

cat netstat.txt Proto Recv-Q Send-Q Local-Address Foreign-Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 1 1 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 yuedu.com:80 124.205.5.146:18245 TIME_WAIT tcp 0 0 yuedu.com:80 61.140.101.185:37538 FIN_WAIT2 tcp 0 0 yuedu.com:80 110.194.134.189:1032 ESTABLISHED tcp 0 0 yuedu.com:80 123.169.124.111:49809 ESTABLISHED tcp 0 0 yuedu.com:80 116.234.127.77:11502 FIN_WAIT2 tcp 0 0 yuedu.com:80 123.169.124.111:49829 ESTABLISHED tcp 0 0 yuedu.com:80 183.60.215.36:36970 TIME_WAIT tcp 0 4166 yuedu.com:80 61.148.242.38:30901 ESTABLISHED tcp 0 1 yuedu.com:80 124.152.181.209:26825 FIN_WAIT1 tcp 0 0 yuedu.com:80 110.194.134.189:4796 ESTABLISHED tcp 0 0 yuedu.com:80 183.60.212.163:51082 TIME_WAIT tcp 0 1 yuedu.com:80 208.115.113.92:50601 LAST_ACK tcp 0 0 yuedu.com:80 123.169.124.111:49840 ESTABLISHED tcp 0 0 yuedu.com:80 117.136.20.85:50025 FIN_WAIT2 tcp 0 0 :::22 :::* LISTEN

(基础条件匹配):

查询所有tcp中,接受队列非0的网络包。

localhost:zhoubc Guest$ awk ‘$1 ==“tcp” && $2 》 0’ netstat.txt tcp 1 1 0.0.0.0:80 0.0.0.0:* LISTEN

打印出来的内容,我们不知所云。如果把第一行打出来,就一目了然了。这时候我们要用到awk的全局常量(如果想知道AWK的全局常量,我们可以往下看,附录,我把常用的罗列出来了)NR。

localhost:zhoubc Guest$ awk ‘NR==1 || $1 ==“tcp” && $2 》 0’ netstat.txt Proto Recv-Q Send-Q Local-Address Foreign-Address State tcp 1 1 0.0.0.0:80 0.0.0.0:* LISTEN
责任编辑:pj

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

    关注

    8

    文章

    7366

    浏览量

    95182
  • DB
    DB
    +关注

    关注

    0

    文章

    49

    浏览量

    23689
  • 代码
    +关注

    关注

    30

    文章

    4985

    浏览量

    74568
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    组态屏变量地址映射 / 数据类型匹配解决方法

    在工业自动化领域,组态屏作为人机交互的核心设备,其与控制器(如PLC、单片机)之间的数据交换依赖于准确的变量地址映射与数据类型匹配。然而,实际工程,因地址规划混乱或数据类型不一致导致
    的头像 发表于 04-22 10:41 359次阅读
    组态屏变量地址映射 / <b class='flag-5'>数据</b>类型<b class='flag-5'>不</b>匹配解决方法

    PCB别人包地你包地,但别人的隔离度比你好10dB不止

    为什么在这个节点看起来没意义的阻抗结果show出来了。那包地的串扰是多少?如下面这个3D模型。 那个,等等哈,总好像感觉这个包地的设计有什么不确定的设计因素。在原来包地的基础上进行包地,有没发现
    发表于 04-13 11:21

    为什么建议用匿名结构体

    bit_1:1 ;uint8_t bit_2:1 ; }; uint8_t value; }info2; }info_t; 在这个例子,下面这个就是所谓的匿名结构体,因为这个 struct 没有
    发表于 12-04 07:39

    聊聊怎么 SAW 滤波器量“准”:VNA、S 参数和群时延那些坑

    /how-to-measure-saw-filter.html 1. 同一颗 SAW,为什么大家测出来都不一样? 实际项目里,经常能听到类似吐槽: 数据手册写通带损耗 typ. 1.6 dB,实测却是 3 dB+ 3
    发表于 11-19 17:38

    提高土压力监测数据质量的策略与建议

    确保土压力监测数据的准确性和可靠性需要从仪器选型、安装埋设、数据管理和分析应用等环节进行全面优化。以下是一系列提高数据质量的具体策略和建议。一、仪器选型与设计优化选择适合的仪器是保证监
    的头像 发表于 11-03 16:40 622次阅读
    提高土压力监测<b class='flag-5'>数据</b>质量的策略与<b class='flag-5'>建议</b>

    工业互联网数据台有什么作用

    分析: 一、数据整合与治理:打破数据孤岛,构建统一数据资产 设备层数据集成 数据台可集成PLC
    的头像 发表于 10-14 11:07 547次阅读
    工业互联网<b class='flag-5'>中</b>的<b class='flag-5'>数据</b><b class='flag-5'>中</b>台有什么作用

    通用bootloader无法使用45db161flash怎么解决?

    通用bootloader选“支持spi flash”,download放于片内flash,正常启动,ota正常,app驱动at45db161读写正常。通用bootloader选“支持spi
    发表于 09-18 08:23

    dB、dBm、dBc等概念的解释

    纯计数单位首先,dB是一个纯计数单位:对于功率,dB=10*lg(A/B)。对于电压或电流,dB=20*lg(A/B).dB的意义其实再简单不过了,就是
    的头像 发表于 09-03 17:33 3605次阅读
    <b class='flag-5'>dB</b>、dBm、dBc等概念的解释

    请问编译程序时如何将数据放入Flash固定地址?

    编译程序时如何将数据放入Flash固定地址?
    发表于 08-29 06:40

    请问使用 NUC505 时如何将代码放入 SRAM 执行?

    使用 NUC505 时如何将代码放入 SRAM 执行?
    发表于 08-28 08:25

    编译程序时如何将数据放入Flash固定地址?

    编译程序时如何将数据放入Flash固定地址?
    发表于 08-27 13:16

    工业数据台在智能制造的作用

    智能制造场景下,数据分散在PLC、SCADA、MES、ERP等异构系统,格式统一且难以互通。工业数据台通过标准化接口(如OPC UA
    的头像 发表于 08-26 14:29 958次阅读

    鸿米系列:家的触感做细,智能做轻

    预期长了不少——他们一个全新的系列放在了C位,名字绕,叫“鸿米”。不是另起炉灶的子品牌,而是鸿雁在全屋智能领域的全新产品系列。更特别的是,这套产品并不是单打独
    的头像 发表于 08-26 12:33 1368次阅读
    鸿米系列:<b class='flag-5'>把</b>家的触感做细,<b class='flag-5'>把</b>智能做轻

    UART在freertos中断时接收数据,怎么解决?

    我使用带有 freeRTOS 的 nuvoton M453 mcu,一切都工作正常,除了 UART 在中断时没有接收数据意味着中断没有触发,但我在没有 RTOS 代码的情况下也是如此,然后 UART
    发表于 08-15 06:44

    如何为ADC增加隔离而损害其性能

    到影响。 关于隔离,有三方面需要考虑: 确保热端有电的隔离电源 确保数据路径得到隔离的隔离数据 ADC(采样时钟或转换信号)的时钟隔离,以防热端产生时钟 隔离电源(反激拓扑与推挽拓扑的比较) 反激式转换器被
    发表于 05-29 10:37