- 博客(627)
- 资源 (3)
- 收藏
- 关注
原创 我写操作系统的一点经验【原创】
我的项目代码: http://code.google.com/p/maray/这两天我在写计划,完成后在此博客公布。发信人: raywill (晓楚), 信区: Linux标 题: 我写操作系统的一点经验发信站: 武汉白云黄鹤站 (2007年09月14日22:39:30 星期五)转瞬2年!Linux版上又见“有人写操作系统吗?”这样的帖子。2年前,有个叫raywill的小子不也是发过
2007-10-07 10:22:00 2389 7
原创 Understanding Flink
方案一与方案二的相同点是组件维护复杂,Flink 1.11中CDC Connectors内置了 Debezium 引擎,可以替换 Debeziuum+Kafka.这里就是各种分组聚合的语法,包括一般聚合函数,DISTINCT,GROUP BY、GROUPING SET、CUBE、ROLLUP、HAVING 等。Flink 有 cdc 的 connector,有 jdbc 的 connector。总结:Flink 的市场定位就是干掉所有传输通道上的人。,字符串的,算术运算的,比较的等等。
2024-04-11 20:11:18 902
原创 什么是 Kylin Cube?
继续用上面的例子,如果有一个SQL查询是这样的:“SELECT SUM(sales) FROM records WHERE year=2019 AND category=‘Electronics’”,而不是在Hive中进行大规模的行扫描和聚合,Kylin可以直接查询它的立方体中2019年分类为"Electronics"的预先汇总的销售数据,这样查询就会快很多。所谓的物化视图,就是将查询的结果集实际存储在数据库中,这样在后续的查询时可以直接访问这些存储的结果,而不需要再次进行复杂的计算。
2024-03-28 12:11:58 970
原创 ChatGPT 对 ELT的理解
数据在两个数据库之间流转时,从源端做 Extract,在目的端做 Load 操作。那么,在一个数据库内部,ETL 是怎样的?在一个数据库内部,ETL(Extract, Transform, Load)作为数据处理的过程,同样涉及三个主要步骤:Extract (提取):这一步骤涉及从数据库中提取所需的数据,这可能是来自数据库的不同表或不同行的数据。Transform (转换):在这个阶段,提取出来的数据将会经过一系列转换操作,以便适合特定的业务规则和需求。
2024-03-25 10:04:32 807
原创 被群辉升级折腾得够呛
2024 年 3 月,下载了 《三体 网飞版》,不小心下到了 EAC3 的音频版本,没法在 AppleTV 播放。总结下来,就是让 VideoStation、CodecPack 等群辉提供的软件包,使用第三方的 ffmpeg 来做解码,规避群辉不再支持 EAC3 等格式的问题。群辉升级后,因为版权问题,VideoStation 不支持播放 EAC3 格式的视频了,导致我大量视频都没法用 AppleTV 播放。往上早期流传了各种方案,比如回退 VideoStation 版本等,都试过了,没啥用。
2024-03-23 22:30:07 441
原创 用户行为分析是什么?为什么我们需要 bitmap?
用户行为分析是什么?简单说,就是围绕全体用户,做各种分析。id 在不同方面有各种行为记录,我们需要根据不同行为做分析。本文非常好:https://blog.bcmeng.com/post/doris-bitmap.html。很简单:一个用户,做了A又做了B,那么他就留下了两行记录,id 出现了两次。如何筛选出做了A还做了B的用户?用 JOIN 是可以的,用 BITMAP 更高效。存留分析、漏斗分析、点击分析,这些分析场景,都会用到 bitmap。meta搜也非常好:https://metaso.cn/
2024-03-21 22:57:30 243 1
原创 Skip Index 学习
现在,如果我们想要查询所有在X坐标范围[0, 1]和Y坐标范围[0, 1]内的点,我们可以首先查找Z-order值的范围,这会给我们A, B, C和D点,因为它们的Z-order值落在查询范围内。当执行一个查询时,如果查询条件指定的值不在数据块的最小和最大值范围之内,那么数据库就知道它可以跳过这个数据块,因为这个数据块不可能包含任何匹配的记录。在我的前面的回答中没有提到Z-ordering,是因为在列存数据库中提到聚集时,通常首先考虑的是像分区和聚簇索引这样的更为常见的聚集技术。
2024-03-11 14:38:42 730
原创 机器学习中,Embedding 是什么概念?Embedding是玄学吗?
对于GPT-3或更具体是GPT-3.5,虽然维度数可能更高,但具体的数字是未知的,并且可能因模型的不同版本(如不同大小的GPT-3模型)而有所变化。总结来说,即使embedding的某些方面可能让人觉得有神秘色彩,但它们是建立在坚实的数学基础之上的,而且在许多领域已经证明是非常有用的工具。这些维度是通过模型的自我学习能力产生的,并且很可能是高度抽象的。最终,GPT-3的embedding维度是模型在大量数据上进行自我训练和调整的结果,它们以复杂和不完全直观的方式共同作用,以生成给定文本的高质量表示。
2024-03-07 14:09:34 744
原创 机器学习中,召回率是什么概念?
在多分类问题中,计算召回率通常需要把每个类别都当作是“正类”,而所有其他类别都是“负类”,然后分别对每个类别计算召回率。最后,你可能会对所有类别的召回率取平均,得到一个总的召回率指标,这在多分类问题中被称为宏平均召回率(Macro-Averaged Recall)。准确率是指在所有被模型识别为正类的样本中,正确识别的比例。例如,计算“2”的召回率就是在所有实际标记为数字“2”的样本中,有多少被模型正确地识别为“2”。对于“猫”这个类别,召回率将是在所有真实为“猫”的图片中,有多少被模型正确识别为“猫”。
2024-03-04 22:51:32 1675
原创 学习数仓工具 dbt
任何数据库都可以按照规范实现 DBT-XXX 适配器,使得你的数据库能够使用 DBT 来管理。DBT 是一个有趣的工具,它通过一种结构化的方式定义了数仓中各种表、视图的构建方式。
2024-02-21 22:10:05 295
原创 有趣的 Streamlit
Streamlit 是什么?去年过年前好好研究学习了一番,的确是个很有意思的面向数据开发者的工具,让不懂前端,只懂一点 Python 的数据应用者能够非常快速地搭建数据应用程序。它牺牲了一定的界面灵活性,获得了前后端代码逻辑的统一,开发者只需要写一份代码,就可以同时定义前端和后端逻辑。Streamlit 可以应用在大数据领域、AI 领域,作为连接用户和数据的利器。
2024-02-20 14:46:44 329
原创 使用 ChatGPT系统学习一门知识的技巧
如何使用 ChatGPT 高效学习一门知识?我探索到一种比较高效的方式:首先让 ChatGPT 给你一个学习提纲,然后以此把提纲内容逐个发给 ChatGPT,进行详情学习。
2024-02-18 14:43:43 941
原创 时机成熟了
注意:根据您提供的“晚上或白天”的时间范围,我假定最早和最晚出发时间分别为当天的早上7点和晚上10点。此外,请注意实际使用 API 服务时,时间应根据 API 的要求使用正确的时间格式,这里我使用了 ISO 8601 格式。当然可以,但请您提供具体的输入内容,以便我能够将其转化成相应的 JSON 格式。如果出发时间是模糊的,如“白天”或“夜晚”,我将按照您的说明进行转换。请注意,我假设了当前日期之后的下一个“周一”作为出发日期,并将“白天”和“夜晚”分别转换为了上午7:00和晚上10:00的具体时间。
2024-01-29 17:31:28 442
原创 Alfred 中如何做自定义搜索?
假设我实现了一个搜索引擎,那么我可以用脚本调用搜索引擎获得结果,最后在 Alfred 中对接一个 Open URL 的工作流即可。
2024-01-08 14:19:27 423
原创 热爱可抵岁月漫长,梦想能克迢途迷惘
调研之前的 Bushy 设计,发现晓楚这个同学对自己的工作充满了热爱!其女,也有继承,作业做得好,会说:“我可真棒!对于自己做出来的好设计,cool 连连!
2024-01-02 10:37:14 382
原创 AP 类 SQL 中,在什么场景需要使用到 Array,能举几个例子吗?为什么不直接用字符串来解决呢?
存储多个选项或标签:当需要为某个实体(例如文章、商品等)存储多个选项或标签时,使用数组可以更方便地表示这些选项或标签。然而,需要注意的是,如果需要对数组中的每个元素进行独立的查询或更新,或者需要对数组中的元素进行复杂的计算或统计,可能需要考虑使用更适合的数据结构,如关系型数据库中的关联表或面向文档的数据库中的嵌套文档。存储数组类型的数据:有些应用场景中,数据本身具有数组结构,使用数组可以更自然地表示和处理这些结构化数据。例如,存储一个学生的多个成绩或一个订单的多个商品信息,可以使用数组来表示这些数据。
2023-10-27 15:24:44 184
原创 OceanBase 4.2 主备库 FailOver 与 SwitchOver 概念
由于 OceanBase 数据库的每个租户均有多个日志流,而 Failover 操作需要在操作执行完成后达到数据一致的状态,故系统会选择所有日志流的同步位点中 SCN 最小的值作为 Failover 的执行位点。执行 FAILOVER 后,备租户所有日志流的数据回滚到一致性位点,然后切换为主租户。在主租户不可用情况下,可以执行 FAILOVER 命令,将备租户切换成主租户。租户主备角色切换命令,可以将主租户无损切换为备租户,备租户切换成主租户。租户有主租户和备租户的概念,主租户位于主库,备租户位于备库。
2023-10-09 23:38:51 561
原创 Index Skip Scan 介绍
这种扫描方式就叫做 Index Skip Scan,之所以如此命名,是因为: - “Index”:因为 Index 具备数据有序存储的特征 - “Skip” :二分的方式来跳着查找,所以是 skip - “Scan”:这个技术背后的本质目的还是扫描出需要的所有数据,所以还是 Scan除了求 distinct 值,Index Skip Scan 还可以用于多种场景:
2023-10-07 11:10:01 405
原创 Mac 安装包生成器 - DMG Canvas
打包后为了便于让别人安装,使用了 DMG Canvas 来制作安装器,引导小白安装应用。最近写了一个好用的笔记工具。
2023-06-30 13:45:55 839
转载 【转】一些非常棒的资源
介绍:Google公开发表的论文列表:数据挖掘,机器学习,自然语言处理,分布式系统,机器翻译,经济与电子商务,教育创新,自然科学,硬件,机器感知,网络,移动网络,量子计算,信息安全,软件工程,语音处理,信息检索,算法与理论.除了作业,还应该写点实际的东西。有着类似的心路历程,旨在以实验的方式去探究类似 Hello World 这样的小程序在开发与执行过程中的微妙变化,一层层揭开 C 语言程序开发过程的神秘面纱,透视背后的秘密,不断享受醍醐灌顶的美妙。而是一位热情澎湃的客人,好的产品总是会留在用户的记忆里。
2023-06-10 21:23:31 203
原创 OceanBase并行执行中 DTL消息接收处理的逻辑
OceanBase 并行执行的消息处理框架是很有意思的,里面用到了不少面向对象编程思想,值得分析。本文介绍 DTL 消息处理。
2023-05-31 11:45:44 694
原创 从一个小案例看数据库的复杂性
我们通常理解的大小写转换是 26 个英文字母的转换,而实际上有大小写转换需求的字符,远不止 26 个英文字母。OceanBase 做大小写转换时考虑了字符集,支持全面得多。
2023-05-29 14:50:09 109
原创 C++ 中 switch 的性能优化
当 switch 的取值 “比较连续” 的情况下,编译器会使用 jump table 技术来优化 switch 的执行。当连续性很差的时候,优化效果不佳。
2023-05-26 10:40:18 1354 2
原创 TDSQL产品序列理解
为了增强战斗力和品牌识别度,腾讯把他们的数据库做了一次整合,原来的各种数据库揉在一起成了一个新产品线,分别叫 TDSQL-A、TDSQL-C、TDSQL。有了这个大图后,再去理解 TDSQL-C 里面又分什么 MySQL 版本、Postgres 版本等,可能不会迷失。TDSQL-C 里面又分 MySQL 版和 PosgresSQL 版本。谁看得懂这背后到底是几个数据库?
2023-05-12 11:31:40 182
原创 HASH UNION DISTINCT 与 HASH JOIN 算法的差异
在并行计算中,遇到建 HASH 表的场景,我们通常会认为左侧数据会随着建 HASH 表的过程,全部物化到驱动算子中。这个假设并不总是成立!
2023-05-08 20:38:04 87
原创 Linux timeout 命令
整个程序不长,但是要完全看明白每一行代码是做什么的,需要对 Linux 里的基本概念要了熟于心,对 Linux 信号处理理解非常到位,对 Linux 编程非常熟悉。
2023-03-13 14:49:54 1240
原创 如何在 C++ 中调用 python 解析器来执行 python 代码(七)?
沙箱上头,继续聊沙箱。今天这个沙箱叫 minijail,是。一搜不得了,是 Google 官方维护的沙箱,用在了 Chrome 中。
2023-03-09 10:56:47 375
原创 如何在 C++ 中调用 python 解析器来执行 python 代码(六)?
今天轮到讨论安全问题了。python 代码中包含有害内容该怎么办?常用技术是沙箱(Sandboxing)。本文从一些基础设施讲起。
2023-03-07 11:51:59 299
同义词词林(扩展版)
2010-05-18
FASS简介-抗锯齿原理
2009-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人