29
回答
一种数据库水平伸缩方案,性能曾指数级提升
【腾讯云】学生服务器套餐10元/月 >>>   

本方案还处理论证阶段。

一般来讲,数据库的查询耗时会随着记录数的增加而增加,而索引的引入只不过是让这个耗时增加得不那么快而已。

但是 @宏哥 最近研究出一种全新的解决方案可以彻底的解决这个问题,他委托我对此技术进行发布和宣传。据说宏哥已经在其打造软件王国幻想的第一款软件中使用了该技术。

下面我简单的介绍一下宏哥全新的方案:

一般我们在做数据库的时候,表结构都是固定的,例如用户表,用户有什么属性信息基本都是确定的。当有新用户加入的时候就往表里插入一条记录。

@宏哥 说这种做法傻X透顶。他举了个例子说:就像以前没有分布式技术时代,想要提升系统性能就必须提升机器的配置,也就是所谓的“垂直伸缩”,但是配置的提升很快就到头了,升不上去了。然而现在是分布式时代了,我们提倡的是系统的水平伸缩能力。

所以宏哥的系统里,所有的表都只有一条记录,那么我怎么插入一条记录呢?请看下列的 SQL 语句你就能猜出个大概:

-- 假设要插入的用户 id 是 2438
ALTER TABLE users ADD user_2438 TEXT;
UPDATE users SET user_2438 = "{'name':'码云','domain':'gitee.com'}";

怎么样?非常简单对不对,而且性能极佳对不对?

那咱们再来看看查询:

SELECT user_2438 FROM users

那么简单的查询,而且表里只有一条记录,所以这个 SQL 语句执行时间相当于是 0ms。

删除用户怎么办呢?

ALTER TABLE users DROP user_2438; 

没错,本文用到的演示例子就是基于宏哥喜爱的 PG 数据库。

看到这里,我惊呆了。

真的,我以前一直觉得 @宏哥 挺傻逼的,没想到竟有如此创举,他完全可以获得计算机图灵奖。

深深的为宏哥的智商所折服,宏哥是开源中国 500 万会员的智商担当。

举报
红薯
发帖于1周前 29回/708阅
顶部