返回首页

24小时热榜

17作者: lukekim大约 22 小时前原帖
嗨,HN,我们是Luke和Phillip,我们正在构建Spice.ai OSS——一个轻量级、可移植的数据和AI引擎,基于Apache DataFusion和Ballista,支持SQL查询、混合搜索和在企业如Barracuda Networks和Twilio使用的分散存储中的LLM推理。 我们在2021年首次在HN上介绍了Spice,并在2024年重新推出了从头开始用Rust重建的版本。 Spice包含数据加速器的概念,这是一种从不同来源(如其他数据库)在嵌入式数据库(如SQLite和DuckDB)中物化数据的方法。 今天,我们很高兴地宣布一个新的受Ducklake启发的数据加速器,基于Vortex构建,Vortex是一种高性能、可扩展的列式数据格式,声称随机访问速度比Apache Parquet快100倍,扫描速度快10-20倍,写入速度快5倍,同时具有相似的压缩比。 在我们的Spice测试中,Vortex的性能比DuckDB更快,内存使用量仅为其三分之一,并且具有更好的可扩展性(支持多文件)。在实际部署中,我们发现DuckDB数据加速器通常在1TB左右达到上限,而Spice Cayenne可以支持PB级别的规模。 您可以在<a href="https://spice.ai/blog" rel="nofollow">https://spice.ai/blog</a>和Spice OSS发布说明中阅读更多信息。 这只是第一个版本,我们非常希望听到您的反馈! GitHub: <a href="https://github.com/spiceai/spiceai" rel="nofollow">https://github.com/spiceai/spiceai</a> [1] <a href="https://news.ycombinator.com/item?id=28448887">https://news.ycombinator.com/item?id=28448887</a> [2] <a href="https://news.ycombinator.com/item?id=39854584">https://news.ycombinator.com/item?id=39854584</a> [3] <a href="https://github.com/vortex-data/vortex" rel="nofollow">https://github.com/vortex-data/vortex</a> [4] <a href="https://spiceai.org/blog/releases/v1.9.0" rel="nofollow">https://spiceai.org/blog/releases/v1.9.0</a>
11作者: moh_quz大约 5 小时前原帖
嗨,HN,我是穆罕默德,一位热爱产品交付并回馈社区的技术创始人。我正在开源支持我的B2B产品apflow.co的全栈引擎。 <p>它是什么:一个生产级的B2B启动项目,后端使用Go,前端使用Next.js。两者都完全Docker化,使用独立的容器。没有Vercel,也没有Supabase。可以在一个6美元的VPS上部署整个项目,或者将前端和后端分开部署在不同的服务商上。你拥有基础设施的控制权。 <p>我所解决的问题: <p>我评估的每个SaaS启动项目都有一个共同的问题:它们将我锁定在其他人的平台上。Vercel用于托管,PlanetScale用于数据库,按调用计费的无服务器函数。对于原型来说没问题,但在规模扩大时成本变得不可预测,迁移也很痛苦。 <p>我想要的是一个可以在任何Linux机器上通过docker-compose up进行部署的解决方案。可以选择将前端托管在Cloudflare Pages上,后端托管在Hetzner VPS上,而不需要在代码中埋入特定于供应商的API。 <p>为什么选择Go作为后端: <p>Go正好满足我对SaaS后端的需求: <p>小内存占用。后端运行时大约占用50MB内存。在一个便宜的VPS上,这样的内存余量让我可以在不升级的情况下运行更多服务。 <p>并发而不复杂。计费Webhook、文件上传和AI调用可以并发运行,而不会陷入回调地狱。 <p>编译时类型安全。使用SQLC,我的SQL编译为类型安全的Go。如果查询错误,它会在构建时失败,而不是在生产中出错。 <p>可预测的性能。没有在负载下让你惊讶的垃圾回收暂停。 <p>架构(模块化单体): <p>我不想为一个小团队引入微服务的复杂性,但我需要清晰的分离。我构建了一个模块化单体:像身份验证、计费和AI这样的功能是独立的Go模块,具有明确的接口,但它们作为一个单一的二进制文件进行部署。 <p>这种结构还使得AI编码工具(Cursor、Claude Code)变得更加高效。因为每个模块都有严格的边界,AI确切知道新代码应该放在哪里,而不会破坏其他模块。 <p>全栈,而不仅仅是后端: <p>后端:Go 1.25 + Gin + SQLC(类型安全的SQL,无ORM)+ PostgreSQL与pgvector <p>前端:Next.js 16 + React 19 + Tailwind + shadcn/ui <p>通信:前端使用干净的REST API。你可以将Next.js替换为任何支持HTTP的框架。 <p>基础设施:前端和后端分别有独立的Dockerfile。可以一起部署或单独部署。 <p>预构建的内容: <p>基础设施问题已解决,以便你可以专注于实际产品: <p>身份验证 + RBAC:Stytch B2B集成,支持组织、团队和角色。多租户数据隔离在查询级别强制执行。 <p>计费:Polar.sh作为记录商。处理订阅、发票和全球税/VAT。没有Stripe webhook的边缘案例。 <p>AI管道:使用pgvector的OpenAI RAG。检索服务强制执行严格的上下文边界,以最小化幻觉。 <p>OCR:集成Mistral进行文档提取。 <p>文件存储:Cloudflare R2集成。 <p>每个功能都是一个独立的模块。不需要OCR?可以移除它。想用Stripe替代Polar?计费接口是抽象的。 <p>现实世界的证明: <p>这不是我为GitHub星星制作的模板。这是运行在apflow.co生产环境中的确切代码。当我添加文档OCR时,我将其作为一个新模块构建,而没有触及身份验证或计费。架构保持稳定。 <p>如何尝试: <p>克隆代码库,阅读setup.md以检查先决条件,运行./setup.sh,你将在几分钟内在本地拥有一个工作中的B2B环境。 <p>我希望得到的反馈: <p>我希望从Go开发者那里获得关于模块边界和跨模块接口的反馈。同时也想知道是否有人对生产部署中的Docker设置有建议。 <p>GitHub: <a href="https://github.com/moasq/production-saas-starter" rel="nofollow">https://github.com/moasq/production-saas-starter</a> <p>在线演示: <a href="https://apflow.co" rel="nofollow">https://apflow.co</a>