sách gpt4 ai đã đi

git - 滥用 Git 来实现事件存储架构?

In lại 作者:行者123 更新时间:2023-12-02 21:00:24 25 4
mua khóa gpt4 Nike

Git 本质上是事件存储的实现,其中存储的数据是目录结构中的文件。已知可以可靠地解决问题:

  • 存储更改历史记录
  • 向客户端传输最少的数据以获取最新数据
  • 可以回滚到之前的状态

可以通过在 Git 上编写包装器来创建事件存储。

假设我的业务需求是需要存储可以以 JSON 格式表示的客户数据。数据可以由系统中的一项或多项服务修改。我可以拥有一个专用的 Git 存储库 Customer-Data,其具有扁平结构和名为 {customer-id}.json 的文件。当服务修改数据时,它会包含有用的提交消息。

此解决方案无法扩展(如果有太多客户且更改过于频繁,则远程 Git 服务(例如 GitHub)将受到请求和限制的轰炸),但假设我知道我将有大约 1,000 个客户,并且每个客户每 10 小时就有 1 次数据更改,该解决方案还有其他问题吗?

1 Câu trả lời

使用 Git 作为数据库通常是一个坏主意。它没有针对此用例进行特别优化,因为它写入的数据比数据库事务通常所需的数据多,通常需要 check out 整个树,并且如果将来需要扩展,则很难进行分片。它也无法在多主模式下运行以实现复制和可扩展性。

此外,如果您无论如何都这样做,您的历史记录将以一种病态的方式变大,由于 Git 删除对象的方式,使得打包和重新打包在 CPU 和内存方面变得异常昂贵。那时,您的 Git 托管提供商会注意到并要求您移至其他地方,此时您需要切换到真正的数据库。

关于git - 滥用 Git 来实现事件存储架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56671952/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com