为什么我们不用 git 当数据库呢?

2022-11-22 16:47:19 +08:00
 andyJado

一行 sql 也没写过不知道为啥要用这玩意 blob tree grep awk 各种 pipe 倒是一点不怵 我感受不到任何 crud 比 git 更好用的(个人感受 github 就是拿 git 当数据库的, 对吧?(摆事实

10573 次点击
所在节点    程序员
101 条回复
dacapoday
2022-11-22 17:19:49 +08:00
你的想法已经有人实现了: https://github.com/dolthub/dolt
lookStupiToForce
2022-11-22 17:24:20 +08:00
且不说这是两个层面的事情两种大类需求,或者 git 怎么实现 acid 、联表查询、索引树这些底层的玩意儿

单是 git 管理大量的代码或者大容量文件,不分片,你就要抓瞎吐血
不信你试试用 git 去管理一下上十 GB 的项目,或者去管理几个 GB 级的 csv ,或者几百上千个 10MB 级的 csv
这点数据量对任意数据库都是小 case ,对 git 而言就是开发中更新一下都谈不上效率更不可能用于生产

什么?你说给 git 加 feature 加额外的数据结构来实现这些需求?那我为什么不直接用数据库呢?

另外用于数据库版本管理的工具已经有了 -> flywaydb.org
tusj
2022-11-22 17:27:04 +08:00
数据量小,业务简单(学生作业级,玩具 demo 级)怎么折腾都可以。想想数据库发明之前,反正就折腾嘛
数据量一大,要上生产,要事务,要并发,要多地热备,各种问题就来了
kalman03
2022-11-22 17:29:53 +08:00
你说的是 binlog 吧
wangnimabenma
2022-11-22 17:33:17 +08:00
@kalman03 #24 undo log
jewelz
2022-11-22 17:39:52 +08:00
安全无虞 性能捉急啊 商业数据库也要响应速度的啊
meeop
2022-11-22 17:41:53 +08:00
看业务,我觉得有些场景下可以
anlythree
2022-11-22 17:44:06 +08:00
我需要存下商品的价格和联系方式和名称和创建时间吧,然后需要随时查看最新的 10 条商品,,,用 git 怎么实现????
6IbA2bj5ip3tK49j
2022-11-22 17:49:03 +08:00
Git 怎么当数据库用?分支作为表,每个 commit 作为 key ,里面的 msg 作为值?我想象力不够……

难道你说的是把一个文本文件作为数据库?
jasonkayzk
2022-11-22 17:50:34 +08:00
槽点太多,我竟然都不知道该怎么说了。🤯
JohnBull
2022-11-22 17:53:17 +08:00
我记得还有过拿 github 当网盘用的方案呢,后来被站方禁了
banmuyutian
2022-11-22 17:54:01 +08:00
一时无法分清是不是反串
JasonLaw
2022-11-22 17:57:20 +08:00
不好意思,我看不懂你在说什么。🤕
ljrdxs
2022-11-22 17:58:36 +08:00
关系型数据库的关系,你知道是什么吗?
weichengwu
2022-11-22 18:02:06 +08:00
莫名其妙
ArianX
2022-11-22 18:05:45 +08:00
git 本身只对数据做版本控制,没有任何结构化组织数据、抽象数据的方式吧,因此不能叫做数据库。

当然如果只要能存数据就叫做数据库,那文本也能看作数据库。。
shawndev
2022-11-22 18:07:33 +08:00
ArianX
2022-11-22 18:07:37 +08:00
github 也没有提供一个大的 git 仓库用来存取数据吧?只是把每个 git 仓库看作一个实体给用户展示。我猜 github 本身可能有单独的数据库用来存每个 git 仓库
0ZXYDDu796nVCFxq
2022-11-22 18:10:31 +08:00
以前还有个帖子的老哥说,RDBMS 和 NoSQL 都是垃圾
自己写项目就用 txt 文档存数据呢
你这 git 有点落后了
jinzhongyuan
2022-11-22 19:16:32 +08:00
@yohole +1

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

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

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

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

© 2021 V2EX