自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

余璜的技术博客

好玩就好

  • 博客(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

原创 OceanBase 4.3 列存存储格式和列存索引存储格式

以 t1 表和索引为例子,下面两张图说明了存储层如何存储数据。

2024-04-17 15:42:58 168

原创 用 Java 写一个web教学管理系统

从来没有用 Java 写过 web,给朋友帮忙,现学。记录下过程。

2024-04-15 09:49:42 483

原创 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

原创 数仓分层原理(以银行数仓为例)

读到了一篇非常好的写数仓分层的文章,这个作者是把数仓设计真吃透了,很懂业务。

2024-04-10 17:46:42 285

原创 什么是 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

原创 OceanBase 的 MERGE INTO 并行实现要点

本文介绍 OceanBase 中的 merge into 用法以及其并行基本原理

2023-06-13 09:26:45 1441

转载 【转】一些非常棒的资源

介绍:Google公开发表的论文列表:数据挖掘,机器学习,自然语言处理,分布式系统,机器翻译,经济与电子商务,教育创新,自然科学,硬件,机器感知,网络,移动网络,量子计算,信息安全,软件工程,语音处理,信息检索,算法与理论.除了作业,还应该写点实际的东西。有着类似的心路历程,旨在以实验的方式去探究类似 Hello World 这样的小程序在开发与执行过程中的微妙变化,一层层揭开 C 语言程序开发过程的神秘面纱,透视背后的秘密,不断享受醍醐灌顶的美妙。而是一位热情澎湃的客人,好的产品总是会留在用户的记忆里。

2023-06-10 21:23:31 203

原创 小议C++函数签名与模板返回类型

题记:什么事情都要追问一个为什么,真正理解了为什么,才能活学活用。

2023-06-06 09:53:14 302

原创 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

原创 SQL中的 collation level 是什么?

本文介绍 Collation Level 在数据库中的用途。

2023-05-25 10:58:46 107

原创 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

原创 如何确认你的代码被编译期SIMD向量化

如何了解自己的 loop 是否被向量化

2023-05-06 14:20:17 147

原创 什么是 TDSQL-C MySQL版 ---- 数据库开发者视角

我们从设计演化的角度来讲什么是 TDSQL-C MySQL 版本。

2023-04-26 22:11:19 1182

原创 科技文档写作建议

科技写作技巧简明教程

2023-03-30 09:48:21 91

原创 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

原创 关于 Lightweight process container,ChatGPT的答案

Docker

2023-03-07 17:47:03 449

原创 如何在 C++ 中调用 python 解析器来执行 python 代码(六)?

今天轮到讨论安全问题了。python 代码中包含有害内容该怎么办?常用技术是沙箱(Sandboxing)。本文从一些基础设施讲起。

2023-03-07 11:51:59 299

原创 如何在 C++ 中调用 python 解析器来执行 python 代码(五)?

本节研究如何对 import 做白名单。

2023-03-02 21:24:59 533

原创 如何在 C++ 中调用 python 解析器来执行 python 代码(四)?

本节记录一下多线程、多进程中调用 Python 解析器。

2023-03-02 11:43:27 159

同义词词林(扩展版)

《同义词词林(扩展版)》每个词的类编码就应该包含了他全部的信息。 对于原版同义词词林,编码的第一个字母代表该词所属的大类,第二个字母代表中类,后两位字母代表小类。 同义词词林原版是梅家驹先生人工构造的,同义的原则应该是他老人家对这些词的理解吧。同义的原则没有明确的说明,这也是目前一个研究方向--复述(paraphrasing)--关心的一个问题。

2010-05-18

FASS简介-抗锯齿原理

FSAA 是 full scene anti-alias 的缩写,有些人将其译为全景反锯齿,还算是合理。不过,倒底 FSAA 是什么呢?为什么要「全景」(full scene)?「半景」不行吗?(其实相对于 FSAA 的是 edge AA,「边缘反锯齿」)反锯齿(anti-alias)又是怎么回事呢?

2009-01-18

排队论---我收集的

排队论---我收集的 排队论---我收集的 排队论---我收集的

2008-09-08

空空如也

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

TA关注的人

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