1作者: eloqdata26 天前原帖
我们很高兴地分享EloqDoc,这是一款基于[数据基础设施](https://www.eloqdata.com/blog/2025/07/14/technology)的新开源文档数据库。EloqDoc的设计原则是将对象存储(如S3)视为首要选择,以实现耐久性和成本效率。如果您喜欢MongoDB的文档模型的灵活性,但由于其耦合架构在扩展性、成本和一致性方面遇到困难,那么EloqDoc就是为您而生。它旨在解决MongoDB固有的基础设施挑战,同时与现有的MongoDB客户端和驱动程序完全兼容。 主要特点: - 将对象存储作为首要选择:使用对象存储作为主要的耐久性解决方案,利用本地NVMe缓存实现比使用块级存储(如EBS)更低的成本和更高的性能。 - 计算与存储解耦:可以独立扩展计算/QPS与存储容量,反之亦然,无需数据迁移。 - 真实的ACID事务:提供完全的ACID合规性,尤其是快速的分布式事务——在不妥协的情况下实现一致性。 - 原生分布式与多写入:它是一个原生分布式数据库,消除了复杂的手动分片路由器(如mongos),并支持真正的多写入扩展性。 了解更多信息: [https://www.github.com/eloqdata/eloqdoc](https://www.github.com/eloqdata/eloqdoc) 我们欢迎您对EloqDoc提出任何反馈、批评或问题!
1作者: shivajikobardan26 天前原帖
我想深入学习继承、抽象和封装。同样,我也想了解接口和抽象类的必要性。我希望学习如何设计对象。 我正在使用Java。 我找到了一门看起来很不错的课程,但它并不是免费的(就像世界上所有好的东西一样)。 https://course.ccs.neu.edu/cs3500/ 它推荐了《Effective Java》、《设计模式:可复用面向对象软件的基础》(GoF)、《Head First 设计模式》等书籍。但这些书大多数更像是风格指南。 我目前处于一个阶段,无法理解如何设计面向对象的程序。我一直疯狂地在Main类下编写所有代码。 我需要一本详细的课程或书籍来学习这些,因为我学习得很慢。而且我这样做是为了乐趣,所以没有时间限制。 有像Grady Booch和Craig Larman的书,但我觉得它们有点枯燥。不过我可能会改变主意。
2作者: Tananon26 天前原帖
嘿,HN!我最近开源了 Pyversity,这是一个轻量级的库,用于多样化检索结果。大多数检索系统仅优化相关性,这可能导致前 k 个结果看起来几乎相同。Pyversity 能够高效地重新排序结果,以平衡相关性和多样性,呈现出仍然相关但不那么冗余的项目。这有助于改善检索、推荐和 RAG 流程,而不会增加延迟或复杂性。 主要特点: - 统一 API:一个函数(diversify)支持几种知名策略:MMR、MSD、DPP 和 COVER(未来还会增加更多)。 - 轻量级:唯一的依赖是 NumPy,使得包体积小且易于安装。 - 快速:所有支持的策略都有高效的实现;在毫秒级别内多样化结果。 目前,使用交叉编码器进行重新排序非常流行,但成本也很高。根据我的经验,通常可以通过更简单、更快速的方法来改善检索结果,比如这个包中实现的方法。这有助于检索、推荐和 RAG 系统呈现更丰富、更具信息量的结果,确保每个新项目都能提供新的信息。 代码和文档:github.com/pringled/pyversity 如果您有任何反馈或对其他多样化策略的建议,请告诉我!