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…
TinyKV Project1 Standalone KV
这一节实验要求我们基于 badger 实现一个支持 Column Family 的 KV 数据库。 Column Family,也叫 CF,这个概念从 HBase 中来,就是将多个列合并为一个CF进行管理。这样读取一行数据时,你可以按照 CF 加载列,不需要加载所有列(通常同一个CF的列会保存在同一个文件中,所以这样有很高的效率)。此外因为同一列的…
ChatGPT 牛逼,我准备下岗了
最近看一段 CSV 代码申请大量内存的问题,看了半天没有思绪,就想尝试刁难一下 ChatGPT,结果它还真答得有模有样,虽然并没有解决问题,不过确实牛逼 plus。 看到答案,我惊了,说实话我都没有它考虑的那么周到。。。。。。
个人使用的 Shell 环境搭建
本文将来还会持续进行补充。 自从用了远程开发机,天天和命令行打交道,一套属于自己的 shell 配置已经刻不容缓,否则工作效率太低了。 Zsh 安装 zsh:sudo apt install zsh安装:sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install…