嗨,我正在开发一个终端应用程序,并想使用一个数据库。不过,我不确定最好的方法。
所以我想让程序能够像你一样安装 git 或使用 brew install 等。然后每个安装它的人都有自己的数据库,可以通过某些命令访问。
我只是不确定最好的方法是什么?我在想,对于我要放入数据库的每个条目,我可以在 .directory 中创建一个文件吗?
谢谢。
嗨,我正在开发一个终端应用程序,并想使用一个数据库。不过,我不确定最好的方法。
所以我想让程序能够像你一样安装 git 或使用 brew install 等。然后每个安装它的人都有自己的数据库,可以通过某些命令访问。
我只是不确定最好的方法是什么?我在想,对于我要放入数据库的每个条目,我可以在 .directory 中创建一个文件吗?
谢谢。
文件系统实际上是一个很好的数据库,适合存储中等数量的文档,大小从小到大不等。它不是关系型的(唯一的“键”是文件名),它实际上更接近于“NoSQL”数据库而不是关系型数据库。
事实上,Git 数据库可以存储它的所有对象,每个文件一个对象。但是,出于效率原因,我们发现将许多对象组合到一个“包”文件中可以更好地满足 Git 所需的访问模式。
Git 与其他应用程序有很大不同的“数据库”方案。如图所示,它有一个 .git 目录、一个 objects/ 目录和一堆以 SHA 校验和命名的文件。对于刚起步的人来说,这不是一个很好的模型。
如果你想使用 Git 文件系统,有办法做到这一点(搜索“git plumbing”)。
我推荐 MySQL、XML 文件或文件系统格式之一(请记住,如果您在 Windows 上运行,任何低于 4KB 的文件都在浪费空间)。
您很可能正在寻找 SQLite。