记录一次 StarRocks CSV Reader 性能优化过程
这段时间,一位用户间断性的吐槽 StarRocks 有些 SQL 比 Trino、Apache Doris 慢了 n 个数量。起初我们没有太在意,觉得可能是某些 bad case 引起。后面感谢用户的定位,发现了这些查询的数据源大多为 Hive Text 格式(也就是 CSV 格式)。 天将降大任于斯人也,领导便把这个重任交付与我。其实问题一到手,…
Trino / StarRocks 阿里云 EMR Kerberos 认证指南
Kerberos 是最为头疼的鉴权配置,但是 Hadoop 全家桶绕不开,只能硬着头皮干了。本文以 Trino 和 StarRocks 为例,讲述如何在非 EMR 的节点上,通过一系列魔幻配置连上阿里云 EMR 的 Kerberos。StarRocks 和 Trino 的配置风格有点不同,Trino 因为在 catalog properties 已…
618 之我的刀把金鱼缸主机
自己一直惺惺念念想拥有一台优雅的、强劲的台式机,终于在今年的 618,组上了一台艺术品,废话不多说,先上图: 侧颜照 机箱特意选了一个乔思伯 TK-1 金鱼缸机箱,侧弯的玻璃能够完美的展现机箱内部,而且机箱相对小巧一点,放在桌子上面不会占用过多的位置。 起初有点想买 4060Ti 的显卡,毕竟价格便宜,功耗也低,但是想想自己都是 4K 的屏幕,最后…
StarRocks 全新云厂商鉴权系统食用指南
随着 StarRocks 3.0 的发布,彻底结束了过去云厂商鉴权参数军阀混战的年代,现在采用统一的全新鉴权参数。而且这些鉴权参数可以使用在任何需要发生鉴权的地方,可以是数据湖的 catalog,也可以是导入导出,甚至还可以在备份中使用,可谓是 anywhere。(数据湖的外部表不支持,因为这个功能即将入土)。 所有鉴权参数的命名采用 云厂商.产品…
云计算新人之公有云 IAM
本篇文章简单的说下目前公有云厂商的 IAM 机制,以全球最大的三个云厂商为例(AWS,Azure 和 GCP),在说明的过程顺带浅谈一下它们家存储产品(也就是 S3,Azure Blob Storage,和 Google Cloud Storage),毕竟这玩意是我们和 IAM 打交道最多的产品。 IAM 的作用 IAM,Identity and …
博客最近老挂
今天打开博客,又挂了,距离上一次挂差不多有一礼拜,我开始有点警觉了! 在过去的 n 年当中,我的博客从来没有挂过,我也从来不会考虑这个问题。直到一礼拜前,一个用户发了一封邮件告诉我的博客挂了,我才第一次发现自己的博客也会宕机。挂的原因其实是 MySQL 挂了,然后 WordPress 连不上数据库,就报错。我看了眼 MySQL 的日志,差不多就是内…
TinyKV Project4 Transactions
这一节实现的事务本应该需要和 TinySQL 配合使用,但是因为我们只有实现 TinyKV 部分,所以有些地方看起来有些割裂。 Percolator 首先说明的一点是,Percolator 基于单行事务实现了多行事务,Google BigTable 能够提供单行事务。在这里 TinyKV 也会通过锁来保证单行数据的原子性(但是单行事务好像没有,可能…
TinyKV Project3 MultiRaftKV
这一节中,最难的就是 Project 3B,引无数英雄竞折腰!!当然撑过 3B,你就解放了。 Membership Change 在 Project3A 中我们需要实现 Leader Transfer 和新增或移除一个 Region 里面的节点,这里并不是很难但是你要处理好细节,不然就是 BUG 满天飞。 Leader Transfer Leade…
TinyKV Project2 RaftKV
这一节需要我们实现 Raft,TinyKV Raft 这部分很多都是抄 Etcd 的 Raft 模块。你可以注意到连测试用例都很像。所以这一节我拿到手就会做啊,首先去 Etcd clone 一份源码。我抄的是 Etcd 3.5.1 版本,也就是目前最新版。 TinyKV 中的 Raft 和 6.824 中的 Raft 有很大的不同。这里将整个 Ra…