你能自己撸一个数据库吗?

2017-05-24 23:48:45 +08:00
 flowyi
作为一个程序员,特别是后端程序员,应该或多或少与数据库产生联系吧。
那你有考虑过数据库是怎么实现的吗?如果让你一个人实现一个某个领域的数据库( RMDB,Full Text Search,NoSQL,k-v,Data Warehouse, Time-series, etc.),并跑在你公司的某个生产业务上。

a. 你觉得能完成吗?
b. 预计用多久?
c. 为毛?
d. 你的相关学习,工作经历是如何 能 /(不能)支撑你完成这个任务的?

这是个很严肃的问题,可以随意扯蛋。
10620 次点击
所在节点    程序员
60 条回复
liuhaotian
2017-05-25 10:35:37 +08:00
@flowyi
不过“应用到具体工程”这个要求我觉得不是增加复杂度而是减小复杂度。
查询优化这玩意儿从上世纪开始研究到现在一直在增加深入,没有到一个极限,就是因为查询不确定性。但是就好像到了具体的工程我们建立数据库之后可以根据自己的查询建立索引一样,我们可以根据具体工程中的查询做查询优化的子集,或者说针对性的查询优化。

但是不管怎么说,要达到生产级别则还需要丰富的工程经验。
begeekmyfriend
2017-05-25 10:36:13 +08:00
我自己当初也想撸一发,结果只撸出一个 B+树,你知道我花了多长时间才写对吗。。。
begeekmyfriend
2017-05-25 10:36:36 +08:00
v2orz
2017-05-25 10:39:12 +08:00
一个良好的、可商用的 sqlparse,你觉得需要多久~不用说完整的 DBMS 了
想想我还是太弱鸡
flowyi
2017-05-25 10:41:17 +08:00
@begeekmyfriend 14 年 9 月份第一个 commit,最近一个是 17 年 5 月 2 号。
begeekmyfriend
2017-05-25 10:45:32 +08:00
@flowyi 好歹赚了 200 颗星星,上了一次 trending,不过写数据库的梦想就此破灭了
simen513
2017-05-25 10:49:11 +08:00
就跟造车一样,四个轮子+发动机+椅子,就可以是个车了,老头乐就属于这个。
但是要真正的推广好,全世界也就最出名的几大厂家也就只能生产出比较有限的几个流行车型,这还是考虑了好多因素的权衡的情况。
flowyi
2017-05-25 11:07:16 +08:00
@simen513 和造车还是有比较大区别的。参考 TiDB,他们就做的挺好的。
zgqq
2017-05-25 13:18:11 +08:00
begeekmyfriend
2017-05-25 14:42:21 +08:00
@zgqq 翻一下 commit 就知道。这是一个过程,之前是一个未知的问题,一直在探索,实际上掌握了诀窍以后就是个已知的问题,之后也就随便几天的事情了
cute
2017-05-25 15:25:16 +08:00
@junzki 基于 leveldb
magicdu
2017-05-25 15:28:03 +08:00
今天看公司的数据库关系表,捋了一上午了,眼疼啊。更别谈自己写个数据库出来了,现在自己设计优化数据库表关系都是个问题
EyreFree
2017-05-25 16:13:32 +08:00
表示只能撸一个精子库出来...
ericbize
2017-05-25 16:23:16 +08:00
哇,那辆保时捷好帅啊,要不自己造一辆? can you ?
paw
2017-05-25 17:15:57 +08:00
http://blog.codingnow.com/2011/01/memdb.html
梦幻西游 文件数据库。。
0915240
2017-05-25 17:27:32 +08:00
讲真 不说独自了。

诸位有给知名 db 贡献过的吗 😊
c4pt0r
2017-05-25 20:13:33 +08:00
仔细想了下,还真能。。。
c4pt0r
2017-05-25 20:43:10 +08:00
@0915240 不要打击大家的积极性嘛。。。
wzw
2017-05-25 21:59:42 +08:00
@junzki ssdb 超级好用
codedump
2017-08-06 17:51:17 +08:00
看怎么定义“数据库”了,类似 ssdb 那样其实就是在 leveldb 上层包一个网络层的就。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/363590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX