文件名称:treedb:缓存路径敏感的分层数据存储系统
文件大小:53KB
文件格式:ZIP
更新时间:2024-02-24 05:05:20
go database nosql treedb NoSQLGo
树数据库 TreeDB是缓存路径敏感的分层数据存储,用作NoSQL数据库。 TreeDB处于开发的早期阶段,任何部分都不应视为稳定的。 请谨慎使用! 为什么要使用另一个数据库? 数据库是一种既提供内存缓存又提供磁盘存储的功能,我在游戏服务器场景中经过多年的开发后得出结论。 经常使我震惊的是内存缓存。 使用内存缓存的主要原因是性能。 如今,面向磁盘的数据库中使用的方案不敏感高速缓存带来的性能提升已远远超出了要求。 采用内存缓存系统来减轻数据库负载。 因此,在许多项目中都存在处理类似情况的样板:缓存丢失,缓存加载,缓存一致性和数据回写。 全内存数据库(例如Redis)还面临其他问题:成本和容量。 事情使事情变得复杂。 最初的问题是,面向磁盘的数据库使用的缓存策略几乎无法提高性能。 为什么不给高速缓存设备一些命中? 这导致我创建TreeDB。 第一眼 TreeDB中存储的数据被构造为层次树结构。 数据是通过路径访问的,类似于文件系统之一。 这是使用treedb Go软件包的演示。 // Open database, if missing, clone it from databas
【文件预览】:
treedb-master
----protocol.go(167B)
----reader.go(603B)
----v0()
--------decoder.go(431B)
--------version.go(30B)
----cmd()
--------treedb()
--------treedbd()
----protocol()
--------protocol.go(589B)
--------reader.go(2KB)
--------api.proto(2KB)
--------decoder.go(2KB)
--------doc.go(17B)
--------errors.go(1KB)
--------api.pb.go(12KB)
--------handshake.go(1KB)
--------packet.go(1KB)
--------buffer.go(2KB)
----session.go(1KB)
----writer.go(887B)
----router.go(2KB)
----db.go(3KB)
----LICENSE(1KB)
----client.go(6KB)
----dial.go(530B)
----tree.go(838B)
----go.sum(2KB)
----README.md(3KB)
----broker.go(1KB)
----go.mod(675B)