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

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

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

11590 次点击
所在节点    程序员
101 条回复
southsala
2022-11-23 10:58:27 +08:00
先看看教材,数据库系统概论就行
libook
2022-11-23 11:05:57 +08:00
首先 Git 是版本控制系统,核心原理就是把你每个版本的文件复制到隐藏的一个单独区域里,跟你写论文每次提交给导师的版本都单独复制出一个文件是一样的,而业务上存取数据并不需要这样的版本控制功能,只需要文件系统帮你存取数据即可。所以数据库用途跟 Git 可能完全没关系,也就是说如果你喜欢的话,完全可以在文件系统上读写文件来存取数据。

任何技术选型都要看需求,通常业务数据库追求的是性能、易用性和一致性,实践是检验真理的唯一标准,题主可以自己尝试写个高并发交互服务,而且要确保事务原子性,你会发现现有的业务数据库帮你做好了很多事情,如果你自己读写文件的话这些事情都要你自己处理,包括对内存的高效利用。

当然不排除个别情况下读写文件就可以满足业务数据管理需求,比如 CMS 。
anlythree
2022-11-23 11:14:01 +08:00
@andyJado 好像目前是可以实现的,,,关系型数据库的表概念对应 git 库概念对吧?单考虑是否能实现好像确实可以呢。老哥 git 玩挺 6 啊。但是哈,数据库还有分组排序的一些比较细化的功能,git 的话能实现,但是很麻烦,目前想到的是手动创建一个 git 库来专门存索引信息
ZeroClover
2022-11-23 11:15:04 +08:00
Homebrew:你说的对
jeesk
2022-11-23 11:30:50 +08:00
你先用上, 然后教教我。
jeesk
2022-11-23 11:32:00 +08:00
你说的数据库是 dbms ? 还是我理解错了
xylxAdai
2022-11-23 11:46:48 +08:00
计算机民科成分太高。先当作钓鱼贴
mr0joker
2022-11-23 12:32:56 +08:00
qistchan
2022-11-23 12:34:05 +08:00
@2han9wen71an 哈哈 我有你微信好友啊
jatsz
2022-11-23 13:18:17 +08:00
Git 当数据库,那不是区块链的链上数据吗。已经有了啊。
pkoukk
2022-11-23 14:01:49 +08:00
也不是不能,就像在有 sql lite 之前,很多应用都是用纯文本来记录数据的
但是吧,你说为什么编程有这么多种语言,每种语言都活的好好的呢?
各有各的侧重点和应用场景,能帮你简化工作量
基于 git 不是不能做数据库,但是不太匹配日常常见的一些场景
simo
2022-11-23 14:14:51 +08:00
为什么那么多种不同的数据库呢?
如果有时间,可以试试了解一下不同数据库的特性和使用场景,然后假设某个场景替换成 git ,相信答案就出来了
2NUT
2022-11-23 14:20:58 +08:00
我司有项目 直接写二进制文件
raptor
2022-11-23 14:25:34 +08:00
看你怎么定义“数据库”这个东西。

一般来说,我们理解的数据库并不只是一个存储数据的东西,需要是能存储和管理结构化数据的东西,这里的存储需要一定的性能,管理需要提供一定的操作方便性(比如 SQL ),这些 GIT 都不能提供。

所以 GIT 算不上是数据库,最多是一个在特定应用下的数据存储后端。
ElmerZhang
2022-11-23 14:37:36 +08:00
不同场景用不同方案,没有哪个方案是可以万金油一样放到哪里都适用的
关于用 git 做数据库,可以了解一下 NoteDB https://gerrit-review.googlesource.com/Documentation/note-db.html
Alias4ck
2022-11-23 16:36:16 +08:00
github 还真不是用 git 做数据库的 它用的是 mysql( https://github.blog/2021-09-27-partitioning-githubs-relational-databases-scale/) 哈哈哈
andyJado
2022-11-23 18:16:20 +08:00
@Alias4ck 啊哈!

制服我了.
cheng6563
2022-11-23 23:31:50 +08:00
一堆 NoSQL 数据库都想干掉 SQL ,然后又都用回 SQL 了
WytheHuang
2022-11-24 09:36:54 +08:00
学而不思则罔,思而不学则殆
satanandroid
2022-11-24 09:51:53 +08:00
看到大家都在吐槽你。我就放心了

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

https://ex.noerr.eu.org/t/897127

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

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

© 2021 V2EX