Golang Go语言中 Vitess 将使用 Theine 作为 plan cache
Vitess 将在 18.0 废弃旧的 Ristretto 及 LRU 缓存,统一使用 Theine 。作为一个只有 110 个 stars 的不知名项目被 Vitess 这种级别的采纳感觉有点受宠若惊。Vitess 在讨论及提 PR 的时候都没有 at 过我,还是 ben 大神在我的PR里告诉我的。希望感兴趣的小伙伴也多试用一下 Theine ,毕竟我自己没什么大厂经历,没有高并发海量数据之类的验证环境。
顺便放上两个版本的 Theine 以及 benchmark:
Python / Go / Go 的 benchmark
Golang Go语言中 Vitess 将使用 Theine 作为 plan cache
更多关于Golang Go语言中 Vitess 将使用 Theine 作为 plan cache的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
赞啊
更多关于Golang Go语言中 Vitess 将使用 Theine 作为 plan cache的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
cache 这么底层的东西很难火,除非是 Redis 这样独立成服务的。ristretto 能有这么多 stars 是 dgraph 本身的流量加持,caffeine 则是因为完全原创了 tinyLFU 缓存策略。其实能多些用户使用我就很开心了,用户多了要是有什么 bug 也能及时发现
#4 老哥看得很透彻哇,是啊一些底层库可能用到的人很多,都基本都是比较靠上的用户层的库的依赖传递过来的,也不会有那么多人去看原理实现研究底层的实现,但是一旦出问题就会被疯狂抨击了。。。
围观大佬
这项目还不是直接内置你的原始代码,而是有些改动,比如 https://github.com/vitessio/vitess/blob/main/go/cache/theine/mpsc.go
你也可以跟着更新一下
在Golang(Go语言)生态系统中,Vitess作为一个分布式数据库解决方案,专为大规模MySQL部署而设计,已经在众多企业中得到了广泛应用。最近,Vitess社区宣布将采用Theine作为其plan cache(计划缓存)组件,这是一个值得关注的更新。
Theine的引入,旨在优化Vitess的查询性能。在数据库系统中,计划缓存是一种常见的技术,用于存储已经编译和执行过的查询计划,以便在后续遇到相同查询时,可以直接重用这些计划,从而减少编译时间,提高整体查询效率。
对于Vitess而言,采用Theine作为plan cache,意味着它能够更智能地管理查询计划,减少不必要的资源消耗,并提升系统的响应速度。此外,Theine还可能带来更好的可扩展性和维护性,有助于Vitess在未来应对更复杂、更大规模的数据库需求。
当然,任何新技术的引入都需要经过充分的测试和优化,以确保其稳定性和性能。因此,我们可以期待Vitess社区在后续的版本中,继续对Theine进行打磨和完善,以提供更加高效、可靠的数据库服务。
总的来说,Vitess采用Theine作为plan cache是一个积极的信号,表明其正在不断探索和优化技术栈,以更好地满足现代数据库系统的需求。对于使用Vitess的企业和开发者来说,这无疑是一个值得期待的更新。