大数据
文章平均质量分 79
Ahxing1985
这个作者很懒,什么都没留下…
展开
-
ClickHouse的向量处理能力
ClickHouse通过其强大的向量数据库功能,实现了高效的高维向量数据处理和搜索。这些功能包括支持余弦距离和欧几里得距离的相似度计算,以及近似最近邻搜索(如Annoy索引),极大地提升了性能和效率。通过将非结构化数据转换为向量,ClickHouse在推荐系统、问答系统、图像和视频搜索等领域展现了显著的应用价值。这种能力不仅提高了数据处理的精确度,还在大规模数据处理中实现了良好的性能与精确度平衡。原创 2024-07-30 20:09:12 · 345 阅读 · 0 评论 -
mmap访问内存方式
解释基于mmap的IO操作在某些场景下为什么极为高效。原创 2024-03-17 22:46:44 · 392 阅读 · 0 评论 -
OLAP与数据仓库和数据湖
本文阐述了OLAP、数据仓库和数据湖方面的基础知识以及相关论文。同时记录了我如何通过ChatGPT以及类似产品(通义千问、文心一言)来学习知识的。通过这个过程让我对于用AI科技提升学习和工作效率有了实践经验和切身感受。原创 2024-03-17 22:43:50 · 1062 阅读 · 0 评论 -
ClickHouse中“大列”造成的JOIN的内存超限问题
大列”是指单行数据量非常大的列,通常是100KiB以上。这样的列会导致JOIN(通常LEFT JOIN 和 INNER JOIN)出现内存超限的异常。本文讨论如何解决这个问题。原创 2024-01-21 18:55:10 · 1571 阅读 · 0 评论 -
ClickHouse中JOIN算法选择逻辑以及auto选项
Setting配置`join_algorithm`用于指定JOIN算法,它可以设置为多个值,例如join_algorithm='direct,hash,partial_merge'。在选择最终JOIN算法的时候是根据setting配置`join_algorithm`, 以及JOIN操作的Strictness、Kind和参与JOIN的右表表引擎类型共同决定。原创 2024-01-08 17:56:07 · 1095 阅读 · 0 评论 -
一种高效且节约内存的聚合数据结构的实现
在特定的场景中,特殊定制数据结构能够得到更加好的性能且更节约内存。原创 2023-09-10 21:49:38 · 496 阅读 · 0 评论 -
Clickhouse上用Order By保证绝对正确结果但代价是性能
在Clickhouse中会尽量发挥多核的优势,一个查询会分拆成多个工作任务分发给多个线程。这也会导致数据的处理顺序是不确定的,因此像any()这样的聚合函数就不能保证绝对正确的结果。本文就是探讨这个问题的解决办法以及代价。原创 2022-03-25 16:49:20 · 2310 阅读 · 2 评论 -
Window函数
大数据分析中的窗口函数(Window function),在主流的数据库中都已经或多或少支持了。原创 2022-02-21 18:11:02 · 1496 阅读 · 0 评论 -
实现特定场景下高性能的HashMap
C++标准库的某些场景下的效率问题在下面的场景中,C++标准库的unordered_map、map、multiset、unordered_multiset效率并不高。分组重复次数计数有一亿条记录,记录有两列:group_id,attribute,并且记录已经按照group_id排了序。要求计数每个group_id对应的行的attribute值的重复次数,生成一个新的结果列。例如:group_idattribute结果G001A1G001A2G001B1原创 2022-01-25 16:26:59 · 373 阅读 · 0 评论 -
Windows系统上搭建Clickhouse开发环境
总体思路微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级。近年来VS Code越来越受欢迎,因为她的轻量级和丰富的插件,更重要的是VS Code消耗资源更少,打开大项目的时候不会崩溃。因此选用VS Code。Clickhouse只能在Linux和MacOS上编译和运行,而开发机器是Windows 10系统,因此需要虚拟机或者WSL。WSL是Windows subsystem Linux,Windows 10原生支持,因此采用WSL。调试用l原创 2021-12-20 00:02:24 · 3354 阅读 · 0 评论 -
Go的单元测试
函数测试以下形式的函数签名将被go test命令当做单元测试方法func TestXxx(*testing.T)按照Go语言的习惯,把一个go文件的测试代码放在相同的的package下,起名称为 xxx_test.go,```go test```命令会自动识别,在正式编译的时候会忽略掉这样的文件。运行```go help test```会了解更多。函数性能测评(benchm...原创 2019-01-23 10:08:02 · 191 阅读 · 0 评论 -
Protocol Buffer简介
(项目地址: https://developers.google.com/protocol-buffers/)Protocol Buffer是Google发起的,一个语言无关、平台无关的序列化/反序列化结构化数据的通用机制(框架),可用于通信协议,数据存储等。Protocol Buffer名字的起源protocol buffers 诞生之初是为了解决服务器端新旧协议(高低版本)兼容性...原创 2019-01-23 10:06:18 · 268 阅读 · 0 评论 -
《数据的游戏:冰与火》读后总结
看了一篇陈皓的关于大数据的文章《数据的游戏:冰与火》(http://coolshell.cn/articles/10192.html),里面提出了一些新颖的且发人深思的观点,列举如下:数据并不是大就好,数据的质量非常重要数据分析要找准应用场景,有些场景很难用数据挖掘技术 (比如推荐一款衣服)数据分析的结果要有用,即结果要能够指导下一步的行动顺便他还介绍了数据分析中的三中角色:原创 2013-08-14 13:41:42 · 570 阅读 · 0 评论 -
NoSQL数据库概述
简介本文首先解释了NoSQL的出现的原因,介绍了NoSQL数据库所依据的理论和原则。然后分别介绍了四种NoSQL数据库的类型,以及其代表产品。并讨论了这四种类型的NoSQL的特点以及适用场景。需要NoSQL的理由NOSQL数据库,看起来是不支持SQL查询语句,其实是"Not only SQL",强调了它支持类似于SQL的查询语言。在它背后有一系列有趣的故事。原创 2013-08-12 19:25:12 · 2953 阅读 · 0 评论