随着 StarRocks 3.0 的发布,彻底结束了过去云厂商鉴权参数军阀混战的年代,现在采用统一的全新鉴权参数。而且这些鉴权参数可以使用在任何需要发生鉴权的地方,可以是数据湖的 catalog,也可以是导入导出,甚至还可以在备份中使用,可谓是 anywhere。(数据湖的外部表不支持,因为这个功能即将入土)。 所有鉴权参数的命名采用 云厂商.产品…
本篇文章简单的说下目前公有云厂商的 IAM 机制,以全球最大的三个云厂商为例(AWS,Azure 和 GCP),在说明的过程顺带浅谈一下它们家存储产品(也就是 S3,Azure Blob Storage,和 Google Cloud Storage),毕竟这玩意是我们和 IAM 打交道最多的产品。 IAM 的作用 IAM,Identity and …
今天打开博客,又挂了,距离上一次挂差不多有一礼拜,我开始有点警觉了! 在过去的 n 年当中,我的博客从来没有挂过,我也从来不会考虑这个问题。直到一礼拜前,一个用户发了一封邮件告诉我的博客挂了,我才第一次发现自己的博客也会宕机。挂的原因其实是 MySQL 挂了,然后 WordPress 连不上数据库,就报错。我看了眼 MySQL 的日志,差不多就是内…
这一节实现的事务本应该需要和 TinySQL 配合使用,但是因为我们只有实现 TinyKV 部分,所以有些地方看起来有些割裂。 Percolator 首先说明的一点是,Percolator 基于单行事务实现了多行事务,Google BigTable 能够提供单行事务。在这里 TinyKV 也会通过锁来保证单行数据的原子性(但是单行事务好像没有,可能…
这一节中,最难的就是 Project 3B,引无数英雄竞折腰!!当然撑过 3B,你就解放了。 Membership Change 在 Project3A 中我们需要实现 Leader Transfer 和新增或移除一个 Region 里面的节点,这里并不是很难但是你要处理好细节,不然就是 BUG 满天飞。 Leader Transfer Leade…
这一节需要我们实现 Raft,TinyKV Raft 这部分很多都是抄 Etcd 的 Raft 模块。你可以注意到连测试用例都很像。所以这一节我拿到手就会做啊,首先去 Etcd clone 一份源码。我抄的是 Etcd 3.5.1 版本,也就是目前最新版。 TinyKV 中的 Raft 和 6.824 中的 Raft 有很大的不同。这里将整个 Ra…
这一节实验要求我们基于 badger 实现一个支持 Column Family 的 KV 数据库。 Column Family,也叫 CF,这个概念从 HBase 中来,就是将多个列合并为一个CF进行管理。这样读取一行数据时,你可以按照 CF 加载列,不需要加载所有列(通常同一个CF的列会保存在同一个文件中,所以这样有很高的效率)。此外因为同一列的…
最近看一段 CSV 代码申请大量内存的问题,看了半天没有思绪,就想尝试刁难一下 ChatGPT,结果它还真答得有模有样,虽然并没有解决问题,不过确实牛逼 plus。 看到答案,我惊了,说实话我都没有它考虑的那么周到。。。。。。
Chinese version: https://www.inlighting.org/archives/setup-perfect-starrocks-dev-env Some people want to become StarRocks contributor, but are troubled by the development envi…
本文将来还会持续进行补充。 自从用了远程开发机,天天和命令行打交道,一套属于自己的 shell 配置已经刻不容缓,否则工作效率太低了。 Zsh 安装 zsh:sudo apt install zsh安装:sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install…