我现在最感兴趣的一件事情,也是技术难度最高的一件事,就是设计和制造一个全新的数据库系统( DBMS )。在我一直以来的博文里,我已经明确的显示出了对数据库这个领域的风气,以及多数据库产品的不满。数据库是非常重要,有巨大经济价值,却又被搞得最乱,忽悠最多的一个领域。
从最早的关系式模型和理论,到 SQL,到 NoSQL,到 NewSQL,大数据,图数据库…… 这个领域发明出各种吓人的名词,各种新的查询语言,却没有从根本性的认识到他们在解决什么问题。Berkeley DB 一类的系统上百万行代码,结果到最后发现它解决的问题,其实可以用几千行代码解决,而且速度还要快很多。这说明什么问题?这说明这个领域的人根本不知道他们在做什么,他们缺乏对于计算和语言最本质的理解。
经过一段时间的摸索,我已经窥探到数据库系统里各种概念的本质。实际上的问题,恐怕比几十年来很多人想象的要简单和容易很多。再加上之前从头构造 B+ 树等关键数据结构的经验,这使得我在这个领域如虎添翼。号称当今世界最快的某数据库,里面的 B+ 树代码居然是从别人那里拷贝过来改成的,而且混乱复杂不堪。从我的 B+ 树设计出发,再加上对数据库里面各种概念(比如事务)的重新理解,我将会构造一个极其简单而高效的底层数据库系统。
在此之上,结合我对程序语言和编译器的深刻理解,这个数据库将拥有一个极其简单而强大的查询系统,用以解决远程访问和多机构架的需求。这个数据库不是 SQL,也不是 NoSQL,也不是什么 NewSQL。它只是把数据库还原到它本来应该是的样子,恰到好处的解决问题。
谈到分布式数据库,我不得不指出,分布式系统也是一个很混乱的领域。其中充满了各种像 Paxos 一类糊涂而没人讲得清楚的理论。Paxos 的论文被评委拒了三次才投稿成功。按照我的标准,这种故意把问题搞复杂的论文,根本就不应该让他发表。我非常的不欣赏这篇论文里面所谓的“幽默”,一点都不好笑,还把问题弄复杂了。
最近有人发表了 Raft,才稍微好一点,然而里面还是遗留了许多不必要的复杂性和 Paxos 留下来的历史思想包袱(像状态机一类的东西)。我的另一个目标就是消化和转换这类分布式系统理论,使得它们大大简化,用以扩展底层数据库,而得到分布式的扩展和可靠性保障。
这是一个相当大规模的计划,包括了大量的研究和实现工作,所以可能会花不少时间。当然,最后的代码应该不会很长。我的目标,是建立起一家可以跟 Oracle 匹敌的数据库公司,统一和简化互联网领域和其它新兴领域的数据库应用,并且蚕食银行等传统领域的数据库市场。
我已经跟一些数据库领域的内行进行了关于数据库本质的探讨,我也欢迎对此感兴趣的其它人士跟我讨论。
![]() | 1 Xrong 2017-09-06 10:16:09 +08:00 默默关注就好,支持淫神。。。 |
![]() | 2 janxin 2017-09-06 10:16:26 +08:00 ![]() 数据库在场景下有不同的 tradeoff,在某些特定场景下是可以的,但是所有场景下都好,我觉得困难吧 当然,也可能天才跟我们凡人看问题方式不一样呢 |
![]() | 3 nazor 2017-09-06 10:17:36 +08:00 via iPhone ![]() 毕竟魔道天王之一,众人皆醉他独醒。 |
![]() | 5 AlwaysBee 2017-09-06 10:22:42 +08:00 ![]() “当然我在扯淡” |
6 hushulin 2017-09-06 10:23:29 +08:00 ![]() 我的高音,比世界上任何人的都要高!三更半夜!三天三夜! |
![]() | 7 yulitian888 2017-09-06 10:23:29 +08:00 ![]() ????? 数据库的本质,呃,好吧,我不懂,观望~~~ 但是,“干了再说”和“说了再干”的区别~~~ |
![]() | 8 tabris17 2017-09-06 10:23:52 +08:00 难,工作量太大了 |
![]() | 9 peinhu 2017-09-06 10:23:56 +08:00 我觉得他有可能成功,但是需要很长时间和很多的投资,毕竟光靠他一人的话,要完成这么大的工程太困难了。 |
10 TuringGunner 2017-09-06 10:25:53 +08:00 ![]() 好羡慕这种干什么事情都自信满满的人 =.= |
![]() | 11 est 2017-09-06 10:28:40 +08:00 via iPhone ![]() 理论派搞 db 不太看好。 还是工程派牛逼。 赶紧上 10 台 redis 集群压压惊。 |
12 zzn 2017-09-06 10:29:28 +08:00 每个人在要干点什么的时候都要先否定一番,他只是否定的比较彻底 |
![]() | 13 Cooky 2017-09-06 10:31:21 +08:00 via Android 数据库优化是特化,不可能全能。 |
14 bisnail 2017-09-06 10:32:16 +08:00 @hushulin12321 仿佛听到了那位哥们的声音~ 233 |
16 jjianwen68 2017-09-06 10:36:07 +08:00 i don't believe |
17 keenwon 2017-09-06 10:39:51 +08:00 拭目以待了。。 |
18 hard2reg 2017-09-06 10:41:52 +08:00 via iPhone @hushulin12321 笑尿 |
![]() | 19 hst001 2017-09-06 10:43:36 +08:00 ![]() 不怀疑他的实力,但是我觉得嘴里说着几千行,最后身体又老老实实的写了几百万行代码。 |
20 Marfal 2017-09-06 10:46:48 +08:00 轻度妄想症。。。 |
21 jyf 2017-09-06 11:10:55 +08:00 ![]() 听其言 观其行 王垠的水平行不行呢? 至少比我行。我就写不出那个 pysonar。但是比我厉害的人多了去了,我也不搞他那方面的研究 不算粉。因此我只看他有没有作出对我有用的工具 比如 redis 那种 或者有没有说到做到 这个就属于吃瓜心态了。从他之前举牌微软到进驻微软又到离开微软 ,我看到的是这个似乎赌啥就挂啥,基于以往的经验 我不看好他这次写数据库 |
![]() | 23 fyooo 2017-09-06 11:21:09 +08:00 我也希望 yinwang 可以专注搞第一个方案,现在分布式的数据库太难做好了。 |
24 HuangLibo 2017-09-06 11:28:32 +08:00 淫神曾经说过要重新定义编程语言, 搞了一个垠语言, 没过多久就删库了:P 不过有人一直在 fork, 哈 |
25 hcymk2 2017-09-06 11:36:45 +08:00 c 计划比较靠谱。 |
![]() | 26 ytpfxnj 2017-09-06 11:39:36 +08:00 我很好奇垠神现在用什么操作系统,哪种浏览器,什么搜索引擎上网的。 当局者迷,旁观者清。他以前总是站在客观的角度批判别人,但是他没有设计一个更好的操作系统,更好的编程语言,更好的搜索引擎。之前不是在搞 Yin 语言吗,好像也半途而废了。 我不怀疑他能赚到智商税,但我很怀疑他能做出好的项目来。在他眼里,在座的各位都是垃圾。这样的人能找到好的合作伙伴? |
27 以前比较喜欢 wangyin 写的文章,并没有觉得像其他人说的那样的偏激。但是看了这篇觉得写的有点狂了 |
![]() | 28 clino 2017-09-06 11:48:24 +08:00 虽然抱有怀疑,但是还是希望 yinwang 能够成功折腾出一个影响力大的东东 |
![]() | 29 minami 2017-09-06 12:03:53 +08:00 ![]() 完全不可能,他不是搞工程的,而且数据库也不是他的研究方向。 淫神还是去开知乎 live 变现吧 ![]() |
![]() | 30 EPr2hh6LADQWqRVH 2017-09-06 12:08:03 +08:00 搞个 jj |
![]() | 31 kkeiko 2017-09-06 12:35:22 +08:00 要以哲学的思想来看待,一切皆有可能。 |
![]() | 32 fulvaz 2017-09-06 13:03:08 +08:00 ........... 一个人弄这个课题搞完一辈子的科研生涯都行... |
![]() | 33 begeekmyfriend 2017-09-06 13:09:45 +08:00 先把 B+树搞定再说 https://github.com/begeekmyfriend/bplustree |
34 whileFalse 2017-09-06 13:13:10 +08:00 作为一个工程师,我只关心他解决了什么问题,不关心他宣布他能解决什么问题…… |
![]() | 35 vjnjc 2017-09-06 13:30:01 +08:00 ![]() 淫神的观点一直都很神奇。。。 他还要做自由的设计师呢,理由是他知道怎么样的房子(适合他)。 刚把家里装修过一遍的程序员表示,houzz 里面好多东西我也喜欢啊,但你跑断腿也买不到啊 |
![]() | 36 yidinghe 2017-09-06 14:02:14 +08:00 via Android 有能力就搞嘛,有兴趣就搞嘛,怕什么 |
![]() | 37 paulagent 2017-09-06 14:07:32 +08:00 ![]() 话说回来,就算他研究出来,你敢用吗? 他根本就没做过生意,他以为老子搞出世界上最牛逼的东西就能占领市场? naive,翻翻历史,多少技术牛逼的东西,最后败给了市场,败给了时机。 就他这个风格,写出东西也没人敢用,谁知道他明后天搞出什么幺蛾子。 |
![]() | 38 brucedone 2017-09-06 14:35:21 +08:00 ![]() "很多人都发现,我这个人除了是个技术天才,还是个其它方面的天才。我的很多博文的各个方面,其实早就可以写成书了。所以我也打算写另外一些书,用以帮助中国人生活得更加幸福。这些方面包括了生活理念,社会理念和关系,礼节和修养,等等……" 就他和上一段微软的关系处理来看,我对他的这种迷之自信保持怀疑 |
39 bucky 2017-09-06 15:55:31 +08:00 ![]() @TuringGunner 确实应该羡慕,因为大多数成功的人都是这样的 |
40 wsy2220 2017-09-06 17:08:21 +08:00 就一个人别想了 |
![]() | 41 maddot 2017-09-06 17:14:27 +08:00 不如做网红开收费课程走向财富自由之路 |
![]() | 42 owenliang 2017-09-06 17:14:52 +08:00 我觉得他和知乎上写段子的好像一路人。 |
![]() | 43 XiaoFaye 2017-09-06 17:26:17 +08:00 做出来 跟 成为成功的产品 是两码事,另外先进的东西不一定是大家都认可的 |
44 simapple 2017-09-06 17:28:46 +08:00 悬 不是没能力,而是做了一半,就会 xxxxxx 然后去 tmd 的数据库,项目 over |
![]() | 45 YenvY 2017-09-06 17:31:49 +08:00 有点想看围脖那个叫 zhh 的会怎么说 ww |
![]() | 46 uuweZhou 2017-09-06 17:37:58 +08:00 他但凡了解数据库一点 就会知道他是多么自大了 |
47 FanWall 2017-09-06 17:40:51 +08:00 via Android 太有性格的人的产品不敢用,加油 |
![]() | 48 maddot 2017-09-06 17:41:00 +08:00 ![]() 我觉得他还是趁热潮还在,组个小团队上线个网站教人撸码赚一笔吧.... |
49 deadblock 2017-09-06 18:09:12 +08:00 有谁知道 yinwang 的个人邮箱,我去炮轰一下我的偶像,嘻嘻 |
![]() | 50 hjc4869 2017-09-06 18:17:51 +08:00 via iPhone 不能 |
![]() | 51 Wangxf 2017-09-06 18:19:30 +08:00 说实话,真的很羡慕王垠这种与生俱来的自信,希望不要烂尾,让一众粉丝失望 |
![]() | 52 ThinkCat 2017-09-06 18:24:34 +08:00 talk is cheap |
![]() | 53 nVic 2017-09-06 18:24:41 +08:00 via iPhone 不能说是不可能吧,那样显得太狂了,不太可能吧。 |
54 youxiachai 2017-09-06 18:31:37 +08:00 这个其实是为后面的 B,C 计划做铺垫的..... 建议看完再评论.... |
![]() | 55 ryd994 2017-09-06 19:23:06 +08:00 yinwang 的理论水平是有的我不怀疑 是不是学界第一,呵呵 理论水平好就一定能做出好产品,呵呵呵 有个好产品就一定能创业成功,呵呵呵呵 论扯大旗画大饼,他还是该向创业圈学习一个 其实全篇都是废话,只有一句重点:“我的目标,是建立起一家可以跟 Oracle 匹敌的数据库公司,统一和简化互联网领域和其它新兴领域的数据库应用,并且蚕食银行等传统领域的数据库市场。” 个人认为 Raft 的学术价值比不上 Paxos。Paxos 更多的是对于分布式共识的机制,的理论模型的讨论。至于能不能实用化,适不适合数据库应用,这根本不是重点。而 Raft 只能算 Paxos 的一个简化版,更容易实现,也满足分布式数据库的需要。然而,普适性更强的理论更有学术价值,不是吗? |
56 jameshuazhou 2017-09-06 19:29:03 +08:00 ![]() SQL 后面站着关系代数,干掉 SQL 后,还要发明个数学来干掉关系代数。 B+树对数据库很重要,但不是全部,PQ 的代码够优秀了吧,但还是被 MySql 压地上摩擦。 分布式的复杂性是固有的,状态机是目前最直观的建模实现方式了,吾等凡夫俗子真想象不出还能怎么简化,期待中。 相信 yinwang 的能力和审美,但这个世界不仅仅有诗和远方,还有大量的坑要填。 |
![]() | 57 akring 2017-09-06 20:09:03 +08:00 不想评论,show us the fxxking code |
![]() | 58 rogwan 2017-09-06 20:16:35 +08:00 ![]() 总的来说,在技术领域忽悠还是最难的,高下基本上能做到立判,比起政经文艺领域好多了好吧。这两天那个 00 后分分钟被脱光,这种事情要是发生在文学领域,可以吵几十年而没有定论。 淫王能吹这个牛,还是期待发作品的 |
![]() | 59 sorra 2017-09-06 20:22:38 +08:00 难度高,但也有意思,很有成就感。 但是列出这么多计划,计划越多成功率越低 |
![]() | 60 Madkill 2017-09-06 22:30:54 +08:00 看起来很厉害的样子 |
![]() | 61 SoulSleep 2017-09-06 22:35:28 +08:00 yin 粉:垠神可以搞的定的请你们看看他手里烂尾的工程数不过来了吧! yin 黑:这人就一嘴炮 yinwang 的编程水平还是可以的....单轮硬实力应该是超过大部分人。 关注他很久了,嘴上表达出来的实力并没有实际体现,但只论自身能力,还是很厉害的。戾气太重,不感兴趣。 |
62 mingyun 2017-09-06 23:17:46 +08:00 牛 |
![]() | 63 albertofwb 2017-09-06 23:40:03 +08:00 via Android |
![]() | 64 strong>xiamingchong 2017-09-06 23:49:29 +08:00 想起了以前的 Yin 语言,别看他说了什么,看他做了什么,明年的这个时候再过来看这篇帖子。 |
![]() | 65 swulling 2017-09-07 00:35:51 +08:00 via iPhone 支持弄出比 Raft 更好的一致性协议,默默关注 |
![]() | 66 teloti 2017-09-07 04:00:04 +08:00 超级期待 v0.1 的发布 ( ) |
67 CYKun 2017-09-07 07:44:29 +08:00 via Android ![]() 垠王:我想到了一个绝妙的证明方法,但这里写不下了 |
![]() | 68 TangMonk 2017-09-07 07:49:26 +08:00 via Android yinwang 牛逼 |
69 MushishiXian 2017-09-07 08:05:29 +08:00 又来..... |
70 kuno1 2017-09-07 08:19:14 +08:00 ![]() 听其言,观其行,一上来干掉 Oracle 难矣,先干掉 SQLite 如何 :) |
71 kimown 2017-09-07 08:25:37 +08:00 唯结果论,如果能做出来,那就是 1,在做出来之前,就是 0,世上最不缺的就是想法 |
72 liangzr 2017-09-07 08:34:03 +08:00 via Android 他嘴里的东西都是将来时 |
73 leon911 2017-09-07 08:40:18 +08:00 这就是个吹逼 |
![]() | 74 ThatIsFine 2017-09-07 09:08:13 +08:00 ![]() 持续关注与支持 |
![]() | 75 mikulch 2017-09-07 09:29:49 +08:00 |
![]() | 76 a7063888 2017-09-07 09:31:33 +08:00 via iPhone ……能在 mysql 上 做特定优化 就已经可以满足公司需求了 |
77 kx5d62Jn1J9MjoXP 2017-09-07 09:38:18 +08:00 不看好 |
![]() | 78 Hozzz 2017-09-07 10:06:32 +08:00 比起分布式等性能提升,稳定、高可用性才是数据库最先考虑的(这作者显然没真正涉及过商业数据库) |
79 hellojl 2017-09-07 10:15:44 +08:00 ![]() 虽然我觉得他精神已经不正常了,但我决定继续做他的迷弟。 人,总是需要适时摄取一些不正常的思路 |
![]() | 80 clino 2017-09-07 10:32:45 +08:00 搜了一下<我为什么不再公开开发 Yin 语言> http://www.jianshu.com/p/f1e4240f527f (这篇是转的,原文已删) ,现在想法变了...在他没做出来之前只能说他又在吹牛了,如果做不出来就再发一篇说这样的话: "即使我完成了,可能也不会给很多人用的。所以你们还是继续忍受现有语言和系统的扯淡和煎熬吧 :)" 就行了 |
81 cstj0505 2017-09-07 11:42:03 +08:00 |
![]() | 82 F281M6Dh8DXpD1g2 2017-09-07 11:46:33 +08:00 全世界这么多做数据库的,还活着的不超过两位数,本身就说明这个事情的难度了 |
83 tangyouze 2017-09-07 11:59:48 +08:00 又要多一个烂尾项目了. 最后的结局肯定也是"合伙人傻逼. 所以我做不出 oracle 这锅我不背" 立帖为证 |
84 icnwyl 2017-09-07 12:23:03 +08:00 @begeekmyfriend 他在微软写过一个, http://www.yinwang.org/blog-cn/2017/04/06/update "在微软,我从头构造的基于 B+ 树的核心数据结构,被巧妙地集成到一个复杂的含有大量并发同步问题的系统里面,正在经受企业级数据的千锤百炼,从来没出过差错。" "像 B+ 树这么复杂的数据结构,你还真是很难把它写得简单正确还通用,但我洞察到了精髓,所以稍加思索就办到了。这是我平生第一次写 B+ 树。" |
![]() | 85 Artists 2017-09-07 12:30:15 +08:00 王垠就王垠嘛,害我想半天 |
![]() | 86 nine 2017-09-07 12:37:15 +08:00 之后又说做数据库好无聊,各种烦,谁谁撺掇我,劳资 TM 不干了。 xxx 有邀请我去干啥了,最重要的是那里的妹子和以前的不同,长得好看而且愿意养我。 于是我去哪里一边做事一边享受啪啪啪的乐趣。 |
88 lovesan 2017-09-07 13:03:30 +08:00 凤姐的既视感。。 |
![]() | 89 bk201 2017-09-07 14:38:26 +08:00 是个 uc 震惊部的人才,反正我是没享受到他具体开发出来的东西。 |
90 deadblock 2017-09-07 15:11:07 +08:00 @albertofwb 阿里嘎多扩赛伊马斯达,以前博客还能看到,居然被移除了。 |
![]() | 91 Alex6 2017-09-07 15:48:39 +08:00 性格极端,内心善良。希望他加油。 |
![]() | 92 albertofwb 2017-09-07 16:20:39 +08:00 via Android @deadblock 昨天回复你时全凭记忆,后来查了下自己的邮箱发现他的 email 是 [email protected] |
94 deadblock 2017-09-07 16:38:52 +08:00 @albertofwb 你居然弄错了 还好没有发过去 |
![]() | 95 shakoon 2017-09-07 16:48:06 +08:00 对数据库效率有苛刻要求的人其数据价值想必也不低,很大可能是不会轻易换库的,商业用户情愿增加机器配置也不会更改架构。所以王工的项目即便真的到达世界级水准甚至第一,只要没有将现有数据库甩开很大差距,要达到他所说的“跟 Oracle 匹敌的数据库公司”,应该那时大家的 PC 已经快用上了 Windows 20 了吧。 |
![]() | 96 t1518968889 2017-09-07 17:22:15 +08:00 via Android 《完全用 yinDB 工作到……》 |
![]() | 97 ipoh 2017-09-07 21:31:40 +08:00 @t1518968889 把 yindb.org 注册了吧 |
![]() | 98 gowk 2017-09-07 22:16:46 +08:00 via Android ![]() 为《我为什么离开数据库领域》积累素材 |
![]() | 100 lulinux 2017-09-08 07:33:10 +08:00 我也有很多想法,但我不说。:) |