自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(333)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 对于侵犯我著作权无良人员的一个汇总

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。文章目录引言汇总侵权证据[侵权人 极致Linux内核] [被侵权著作 Linux 内核网络栈分析: 接收数据][侵权人 极致Linux内核] [被侵权著作 浅谈内存屏障,C++内存序与内存模型][侵权人 极致Linux内核] [被侵权著作 浅谈内存屏障,C++内存序与内存模型]引言只要我还在写博客,这篇文章我就会永远置顶。事情总是经历过才

2022-05-04 22:53:10 2398 8

原创 从一到无穷大 #24 LogReducer:讨论日志中热点的影响,识别及在线解决方法

LogReducer这篇文章阐述了微信的工程师如何通过在线和离线的方式减少日志对于程序的影响,我认为这篇文章的主要贡献分为以下两个方面:1. 对真实世界系统中的日志热点进行了系统研究,以揭示日志热点的影响、日志热点出现的原因以及如何解决这些问题2. 提出了一种基于eBPF的非侵入式、不依赖语言且高效的日志缩减框架,可自动识别日志热点并即时缩减日志,将日志热点的修复时间从平均 9 天缩短到测试中的 10 分钟

2024-02-18 17:41:54 1058

原创 从一到无穷大 #23 《流计算系统图解》书评

现有的时序数据库只是实现了窗口仅为时间,无状态的,且非DAG的简化批处理系统,想以此替代流系统的全部份额基本不太现实,但是确实可以拿下其中部分收益,领域垂直公司需要故事去活下去,但是公有云需要关注业务上真正需要解决的问题,可见的未来我们的精力不会投入到完善时序的流计算系统中去。

2024-02-09 18:32:01 1157

原创 从一到无穷大 #22 基于对象存储执行OLAP分析的学术or工程经验,我们可以从中学习到什么?

这篇文章于我而言最大的启发有四点:1. 基于对象存储执行分析需求的数据支持2. 基于对象存储执行分析需求的实践经验3. 使用对象调度器平衡数据检索和数据处理的资源使用,这种思路可以用在很多地方4. 基于对象存储性能存在下降(复杂的cache策略可以部分缓解,这里的研究很多),所以这里其实是成本和性能之间的权衡

2024-02-05 22:56:15 941

原创 从一到无穷大 #21 从基于多数据模型分析负载的Benchmark讨论多模数据库的发展方向

结论1:基于统一kv/宽表底座的多模型数据库是错误的方向,只有不同模型拥有不同的存储引擎才可以带来最大的综合性能优势结论2:哪怕是最优秀的存储引擎也只是在Trade-off,没有一种设计可以保证所有情况下的最优,所以需要智能化调优,并在项目选型之初选择最适合业务场景的引擎。结论3:完全独立的多个不同模型数据库对于联合分析的场景性能较差

2024-01-21 19:12:02 1443 6

原创 从一到无穷大 #20 TimeUnion,适用于混合云的时序数据库?是玩具还是真实可用

工作上有一段攻坚时期,使得距离上一次写文章已经过了两个月,终于把拖了很久的《TimeUnion: An Efficient Architecture with Unified Data Model for Timeseries Management Systems on Hybrid Cloud Storage》学习完,并有时间记录一下,结合昨天的国足比赛,有一种吃了两颗屎味巧克力的感觉。

2024-01-14 19:47:16 937

原创 从一到无穷大 #19 TagTree,倒排索引入手是否是优化时序数据库查询的通用方案?

工程不是学术,对于一个新结构我们最关心的是这个特性的普适程度以及各种负载下的稳定性

2023-11-19 22:23:28 732

原创 从一到无穷大 #18 时序数据库运营SLI思考

1. 读写差异巨大,读写的SLI设定应该分离,而且写入偶尔的失败是可预料的,频繁的告警没有意义2. 数据库内的写可能只是链路的一部分,我们希望跟踪全链路的写入指标3. 时间范围不同的查询告警指标的设定应该不是一致的4. 我们希望通过session做服务降级,也希望更好的理解业务层面的SLI,单独的查询分析不能cover这一场景

2023-10-15 18:00:16 483

原创 和琪宝的深圳,香港之旅~

好好工作,好好吃饭,好好睡觉,好好处对象

2023-10-15 00:48:45 395

原创 从一到无穷大 #17 Db2 Event Store,A Purpose-Built IoT Database Engine

给我的感觉Db2 Event Store是一个私有的InfluxDB IOX,只不过没有InfluxDB IOX功能那么强大而已,其在写入流程,COS的利用,存储格式,以及架构上给我的感觉是后者好像也可以这么实现,只不过后者计算节点可以不挂盘,且控制面更为强大而已

2023-09-17 20:48:37 216

原创 从一到无穷大 #16 ByteSeries,思考内存时序数据库的必要性

线上负载要求写入和实时查询高性能,时序数据库+缓存(内存时序数据库)可行。

2023-09-16 16:20:20 359

原创 从一到无穷大 #15 Gorilla,论黄金26H与时序数据库缓存系统的可行性

缓存系统的高效存在前提,在满足前提的情况下可以接受缺陷便没有理由不引入缓存系统,但是具体影响因素需要仔细权衡,时序数据库只有常态极端场景下缓存有显著效果。

2023-09-15 22:04:04 459 1

原创 从一到无穷大 #14 Online, realistic data, querying variable Time Series Database Benchmark

通用的时序数据库BenchMark是一个看似简单,实则极具挑战的问题。

2023-09-10 20:46:41 96

原创 从一到无穷大 #13 How does Lindorm TSDB solve the high cardinality problem?

云原生时序数据库目前来看还是一个没有行业标准架构特殊数据库分支,各大云厂商都有自己的集群化实现,从谷歌的Monarch,阿里的Lindorm,腾讯的CTSDB,到垂直领域的InfluxDB IOX,TDengine,IotDB,都是各有的特点和适合的领域。终究不存在银弹,强如各大头部厂商也只是在做Trade off...

2023-09-05 23:56:37 479

原创 从一到无穷大 #12 Planet-Scale In-Memory Time Series Database, Is it really Monarch?

Monarch这篇文章的重点不在于In-Memory的存储引擎,而在于其新颖的数据模型,路由方式,查询下推和FHI,其中提出的不少点值得学习。

2023-09-03 21:10:38 141

原创 从一到无穷大 #11 Is mmap shit or not?

最近正在研究InfluxDB1.8的series file实现,竟发现其中大量使用mmap,这和我的固有认知有非常大的差异。

2023-08-20 17:41:48 297

原创 从一到无穷大 #10 讨论 Apache IoTDB 大综述中看到的优劣势

边缘设备(时序数据的产生点)边缘服务器中需要一个用于写入,存储和查询的数据库云端的计算集群,用于OLAP分析不断变化的模式,即对于SchemaLess的支持(传感器经常被替换,移除,新增)周期性的数据采集强相关的series(利用2,3可以增加压缩的可能性)多样化延迟数据的写入高并发的数据写入一天之内10万数据点的selection在100ms三年之内1000万数据点的aggregation在100ms。

2023-08-13 19:52:35 627

原创 从一到无穷大 #9 Firestore:开发者友好的Serverless NoSQL Database

在另外一个系统之上建立一层多租户层,尤其是当底层系统是偏向于分析型场景时,因为此时一个RPC请求的资源消耗基本无法准确预测,此时请求本身无法作为隔离指标,遂需要在其他维度解决这个问题。

2023-05-14 20:13:22 606 1

原创 从一到无穷大 #8 Arrow,Parquet and ORC

不同介质导致的瓶颈使得数据存储格式的决策有很大的优化空间,主内存列存储和磁盘列存储之间存在根本差异。

2023-05-07 17:01:55 831

原创 从一到无穷大 #7 Database-as-a-Service租户隔离挑战与解决措施

所以核心要解决的问题是:在云环境Serverless的环境中,运营商如何在保证成本效益的情况下向用户提供一系列有意义的保障。

2023-05-04 18:28:54 864

原创 从一到无穷大 #6 盘满排查过程

核心在于执行df和du的时候发现显示的存储量完全不同,我本地系统盘有99G空间,du显示占用了45G,但是df却显示使用了99G,排查的过程本文所示。

2023-05-02 20:37:44 826

原创 从一到无穷大 #5 公有云时序数据库定价

使得公有云中架构不得不改变的关键因素有三个,disaggregation,multi-tenancy,serverless。

2023-05-02 19:24:31 1157 3

原创 从一到无穷大 #4 Lossy compression

目前监控业务中绝大多数数据仍旧是浮点,且更让人关心的其实是大盘的趋势而不是精确的秒级数据,虽然Continuous Queries,预降采样可以以极低的成本满足部分查询的需求,但是源数据本身的存储也是必不可少的;分层存储已经可以使得冷数据可以降低到COS这样的低成本介质中,但是存储带宽也是一个不可忽略的因素,所以对于时序数据来说数据量本身是需要仔细斟酌的点。

2023-02-05 22:11:23 556

原创 从一到无穷大 #3 对象存储.浅谈

扁平的名称空间可以高度概述对象存储,但是我认为这不是选型的核心因素,对象存储的各种操作可以轻松的用Nosql代替。

2022-12-03 20:08:37 582

原创 从一到无穷大 #2 优雅的感知与处理Elephant Flows

热点直到现在依旧是一个“热点”问题,在不同的基础系统中对其的要求有不同的约束。

2022-11-06 21:11:24 934

原创 从一到无穷大 #1 隔离变化,机制与策略分离

区分机制和策略是Unix设计背后隐含的最好思想之一。

2022-10-23 21:36:06 581 2

原创 蹄疾步稳,勇毅笃行,小白的大学四年

很可惜我是一个没有丰富大学经历的人,我没法通过各种五彩斑斓的故事告诉你大学应该是一个充满浪漫主义色彩的乌托邦,你可以在其中放肆,快乐而又充实的走过转瞬即逝的四年,但是我终究还是想向还在读书的学弟学妹提一些建设性的意见的,但无奈一次又一次自信后被打脸的经历告诉我个人的想法很多时候愚昧且短浅,且计算机市场还是如此瞬息万变的情况下,我实在不敢误导学弟学妹们,只能说阐述我摸爬滚打的一路遇到了怎样事情,以及我学习路上的一系列自己遵守的铁律。............

2022-06-15 21:25:18 1682 5

原创 和琪宝的重庆之旅~

因为疫情的原因,毕业旅行我和琪宝并没有选择一次到多个地方,而是打算把想去的地方一次一次去,我们的第一站是重庆,因为来回是坐的高铁,西安到重庆基本是5小时起步,所以虽然一共去了四天,但是刨去路上的时间,实际玩的时间只有两天半。这篇文章会聊聊我们玩过的地方以及一些可能不那么靠谱的旅行建议(毕竟我只玩了两天半。)......

2022-06-04 17:36:27 2138 6

原创 Morsel-Driven Parallelism: 一种NUMA感知的并行Query Execution框架

前几天和琪宝去了一趟重庆,近一周之内没有出行计划,又逢毕设答辩延迟了几天,遂难得的有了几天空闲时间钻研下自己感兴趣的知识,便想到那个 NUMA Aware 的题目。大概花了一天时间温故了一下NUMA相关的问题,包括几篇NUMA导致毛刺的排查过程,NUMA API的使用(包括migrate_pages和mbind这两个系统调用,和numactl,numademo,numastat这几个终端工具),几种memory policy的实际意义以及可能与NUMA相关的PMU获取方式。.........

2022-06-03 23:16:24 1384

原创 从BMC看出一个 idiot 的思维变化

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。那一天我二十一岁,在我一生的黄金时代。我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云。后来我才知道,生活就是个缓慢受锤的过程,人一天天老下去,奢望也一天天消失,最后变得像挨了锤的牛一样。可是我过二十一岁生日时没有预见到这一点。我觉得自己会永远生猛下去,什么也锤不了我。大学生活没什么意外的话确实是要结束了。毕设开始是在CL

2022-05-22 21:05:11 1429

原创 关于跑满指定CPU时间片的一些细节问题

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。引言记得两年以前就和实验室的朋友们讨论过如何使得指定CPU跑到指定特定百分比,但可惜当时并没有令我信服的答案出现,两年以后再学习了Chaosblade,Chaos-mesh,stress-ng的部分源码以后终于可以说我知道这个问题该如何优雅的解决了。问题抽象一下,其实就是保证每秒某个CPU只跑到目前频率(不考虑变频)的百分比,其实满足此需求

2022-05-22 15:18:16 1459

原创 关于IO故障注入的系列Trick

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。引言我不是人肉朴素贝叶斯工具人。故障注入的方法论我认为就是在调用路径上寻找可行的侵入点,但是如何确定调用路径呢?就以我们要谈的IO注入来看,大体可以把执行流划分为内核态和用户态(不考虑网络文件系统)。用户态的的逻辑其实很好搞清楚,判断下是否使用-static强制静态链接,是否使用-z,now提前载入所有的动态链接,使得GOT表不可写,以防

2022-05-21 19:24:23 1857

原创 浅谈从混沌工程引出的一点理解

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。起源Chaos engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent and unexpecte

2022-05-20 16:57:23 1277

原创 记玄妙莫测的透明代理

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。若无特殊说明,内核源码版本为4.16.1文章目录引言源码解析tproxy_tg4_v0tproxy_tg4nf_tproxy_get_sock_v4IP_TRANSPARENT总结引言Cool!一种完全透明的流量劫持方式。从功能来看类似于让操作系统充当路由器,或者内置一个代理服务器,并允许部分流量被转移到用户空间处理,除此之外与ipta

2022-05-20 15:56:54 3235

原创 谈谈几种Logging Schemes

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。引言再次忙里偷闲,抽出一晚上时间来记录一些文字。动笔写这篇文章纯属巧合,按照计划今天下午我本应该回趟宝鸡和家里人吃顿饭的,奈何昨天忘了做核算,今早九点便起床(对昨天晚上疯狂焦虑的我而言已经够早了)赶往最近的核酸检测点,但却被告知明早九点才出结果,只好作罢,又把回家的日子往后推了一周,这也使得今天晚上多出了一些时间(当然也可以说这是未来的时间)

2022-05-02 20:50:46 1857 2

原创 gettimeofday飞快的根因:vdso

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。内核版本 5.4.119引言众所周知工作时间等于工作效率乘以工作总量,我一直认为效率的权重远大于时间,这也是我从大一开始就逃课睡觉打豆豆的原因。大抵总会有一个更加显然的例子,比如一个下山的功夫,一个叫做adl的坏家伙便把我从一个现实主义者变成了虚无主义者;再比如半个小时的功夫,我就强迫y7n05h,adl以及我搞定了这个看似有点难以解释的小

2022-04-25 14:25:04 3828 5

原创 再谈Linux服务端编程

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。文章目录引言socketbindlistenaccept / accept4connect总结引言存在于想象中首届卷心菜之夜的talk题目,但是我更愿意称其为上一次思考[1]的续集。这篇文章其实就是想搞清楚Linux服务端编程中几个基本问题,也提出了几个以前让我疑惑的问题,当然以后让我疑惑的问题以后也会平等对待,文章其实只是我笔记中的拷贝

2022-04-24 22:02:04 1668 3

原创 把Qos扯到排队论上去

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。引言悔恨呐,我说过很多次大学期间最遗憾的事情就是没好好学数学,以至于现在提到概率论,统筹学脑子里一片空白,就连算是好好刷过题的离散也基本不剩什么了。Qos Vulnerabilities事实上我们总会对客户做出Qos的保证,但是Kernel如此复杂,牵一发而动全身,可怜的Qos受到了除了用户态的一些限制以外的威胁。memcache是一个极

2022-04-14 21:43:00 1528

原创 从sk_buff中的线性区与非线性区到 bpf_skb_pull_data

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。内核版本为5.4.119引言我的读者应该都会知道我最近陷入了协议栈前加速内存数据库这个项目中不能自拔[5],这篇文章来阐述一个在实现过程中遇到的问题。首先阐述现象,然后引入skb_buff的线性区与非线性区,最后分析内核中bpf_skb_pull_data的实现。现象阐述有兴趣的朋友可以看看代码,其中brc_rx_filter_main

2022-03-29 23:05:03 3208 2

原创 eBPF: 从 map 到 BPF_MAP_TYPE_QUEUE 源码解析

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。内核版本为5.4.119引言这篇文章的初衷是解决以下几个问题:Map的原理到底是什么,如何做到用户态内核态之间互相交互?Map的内存分配是怎么做的?在操作queue的时候需要使用栈上变量,并传入一个栈上指针,这样做是否有危险呢?当然读者可能会认为有一些文不对题的嫌疑,事实是kernel中这部分的代码非常简单(queue和stac

2022-03-24 17:53:05 1815

GCC 10.2 2020年7月23日发布

外网上下的太慢,直接来这里取果实就好。ps:开源软件,收钱违法 虽然官网上说这个版本已经支持了C++20的部分特性,比如Coroutinue,Concept,飞船运算符等,但经过我的测试发现其实并没有支持,换句话来说编译C++20代码失败了,可能是我哪里操作有问题,大家使用以后也欢迎给出自己的想法。

2020-10-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除