首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB 的开源替代方案 FerretDB 发布 2.0 版本

翻译审校 | InfoQ 编辑部 近日 FerretDB 宣布推出 2.0 版本的首个候选发布版。...FerretDB 由新近发布的 DocumentDB 驱动,作为 MongoDB 的开源替代方案,它带来了显著的性能提升、更强的功能兼容性、向量搜索能力以及复制支持。...对于许多倾向于避开 SSPL 许可(一种 copyleft 开源软件许可)的开源项目和早期商业项目而言,它被设计为 MongoDB 5.0 及以上版本的直接替代品。...该解决方案包含两个 PostgreSQL 扩展:用于 BSON 优化的 pg_documentdb_core 和用于数据操作的 pg_documentdb_api。...Farkas 写道: “随着 FerretDB 2.0 的发布,我们现在专注于利用 DocumentDB 支持 PostgreSQL 数据库(……)不过,对于那些依赖早期版本和后端的用户,FerretDB

7510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CentOS 86 Linux 生命终结,2022 年最好的替代方案是什么?

    取而代之的是滚动版本 CentOS Stream 作为 RHEL 的下游分支于 2019 年推出,将持续排查漏洞,让上游版本更加稳定和安全。 但是,运行 CentOS 7 的服务器不会受到影响。...但是,如果您使用的是 CentOS 8,那么 2022 年有哪些替代方案?不幸的是,即使您找到了,服务器应用程序的迁移也将是另一个挑战。然而,这里有一些选项可以在 2022 年取代 CentOS。...◆ CentOS 8 Linux 的最佳替代品 ◆ 1.Ubuntu / Debian 当然,每当我们谈论替代 CentOS 的服务器操作系统替代品时,Ubuntu LTS 版本将是第一选择。...、开源的、社区驱动的、1:1 二进制兼容的 RHEL® 8 分支(以及未来的版本)……我们将创建一个独立的、完全免费的、完全兼容二进制的操作系统使用 RHEL® 8(和未来版本)。...尽管如此,使用基于 CentOS 8 Linux 托管解决方案的 CloudLinux 的用户不必担心,因为他们将在 2029 年之前获得稳定且经过良好测试的更新。 ◆ 5.

    6.4K30

    传统FTP传输文件的“七宗罪” FTP替代方案是什么?

    研究表明,88%的组织难以快速有效地移动大数据,每条丢失或被窃取的数据的平均损失成本达近千元。基于FTP的解决方案的目标从来都不是为了满足快速、安全和可扩展的数字信息交换的爆炸性需求。...总结 企业越来越依赖安全可靠的文件传输解决方案,不管是人与人之间,还是在与系统之间,都需要安全地交换越来越多的敏感数据,拥有一个安全的、可扩展的解决方案,以支持你的业务需求和目标是至关重要的。...那么FTP的替代方案在哪里呢?...《Ftrans文件传输服务器软件》是Ftrans飞驰云联自主研发的软件产品,拥有完全自主知识产权,完美响应国产化替代要求,该产品可以帮助企业实现安全可控、高效可靠的文件传输,可以完美替代FTP或增强FTP...《Ftrans文件传输服务器软件》是集简单易用、安全可靠、可管可控于一身的国产化FTP替代解决方案,可以帮助企业以更低的成本和投入,实现高效可靠的文件传输。

    2.3K30

    构建、更改和自动化管理基础架构的高效工具 | 开源日报 0831

    它可以管理现有且流行的服务提供商以及自定义内部解决方案。 基础设施即代码:使用高级配置语法描述基础设施,使得数据中心蓝图能够进行版本控制,并像其他代码一样处理。此外,还可以共享和重复使用基础设施。...sequelize/sequelize[2] Stars: 28.3k License: MIT Sequelize 是一个易于使用的基于 Promise 的 Node.js ORM 工具,适用于...压缩和解压 S2 作为 Snappy 的高性能替代品 优化后的 deflate 包可以用作 gzip、zip 和 zlib 等库文件,格式完全兼容且更快速地进行处理 snappy 是 github.com.../golang/snappy 的可替换版本,具有更好的压缩率和并发流支持。...DoctorGPT 是 Meta's Llama2 70 亿参数大型语言模型的版本,在医学对话数据集上进行了微调,并使用强化学习和宪法 AI 进一步改进。

    17210

    漏洞预警丨企业知识管理与协同软件Confluence官方披露严重安全漏洞(CVE-2019-3398)

    同时建议云上租户开通「安全运营中心」-安全情报,及时获取最新漏洞情报、修复方案及数据泄露情况,感知云上资产风险态势。...,攻击者可利用该漏洞向根目录、页面或博客添加附件,或创建新空间或个人空间,对于具有“管理”权限空间的攻击者,可利用该漏洞将恶意文件写入任意位置,从而导致远程代码执行。...2.0.0 版本 < 6.6.13 6.7.0 版本 < 6.12.4 6.13.0 版本 6.13.4 6.14.0 版本 < 6.14.3 6.15.0 版本 <...6.15.2 【安全版本】 6.6.13 及以上版本 6.12.4 及以上版本 6.13.4 及以上版本 6.14.3 及以上版本 6.15.2 及以上版本 【修复建议】 1.升级您的 Confluence...Server 或 Data Center 到上述【安全版本】; 2.执行官方提供的缓解措施: (1) 停止 Confluence 服务; (2) 编辑/conf/

    65730

    你不知道的npm

    每天,无数的开发人员使用npm来构建项目,npm init、npm install等方式几乎成为了构建项目的首选方式,但是大多数同学对于 npm 的使用却只停留在了npm install这里。...在实际项目中,如果某个包已经失效,我们通常会寻找它的替代方案。不确定的依赖会增加代码判断和测试难度,所以这个依赖项还是尽量不要使用。...sequelize-test-1.0.0.tgz包中,将包含mysql2和sequelize。...npm 包使用语义化版控制,我们可安装一定版本范围的 npm 包,npm 会选择和你指定的版本相匹配 的 (latest)最新版本安装。 npm 采用了semver规范作为依赖版本管理方案。...": "vue-cli-service lint", "test:unit": "vue-cli-service test:unit" }, 这样就可以通过npm run serve脚本替代

    1.4K50

    使用TS+Sequelize实现更简洁的CRUD

    如果表中有十几个字段,对于开发人员来说这会是很大的记忆成本,你需要知道某个字段是什么类型,拼接SQL时还要注意插入时的顺序及类型,WHERE条件对应的查询参数类型,如果修改某个字段的类型,还要去处理对应的传参...Sequelize的使用方式 首先我们要先下载Sequelize的依赖: npm i sequelize npm i mysql2 # 以及对应的我们需要的数据库驱动 然后在程序中创建一个Sequelize...通过定义模型的方式来告诉程序,有哪些模型,模型的字段都是什么,让程序来帮助我们记忆,而非让我们自己去记忆。 我们只需要拿到对应的模型进行操作就好了。...所实现的一个增强版本,抛弃了之前繁琐的模型定义,使用装饰器直接达到我们想到的目的。...,那么这么做的意义是什么的?

    2.7K20

    TypeScript在node项目中的实践

    但同时,这是一把双刃剑,当一个庞大的项目出现在你的面前,面对无比复杂的逻辑,你很难通过代码看出某个变量是什么类型,这个变量要做什么,很可能一不小心就会踩到坑。...而在TS中,对于一个函数,首先你需要定义所有参数的类型,以及返回值的类型。 这样在函数被调用时,我们就可以很清晰的看到这个函数的效果: ?...Express版本的例子,针对这个稍作修饰,应用在了一个 koa 项目中。...: 抽象化的数据库操作 sequelize-typescript: 上述插件的装饰器版本,定义实体时使用 项目结构 首先,放出目前项目的结构: . ├── README.md ├── copy-static-assets.ts...+ entity: 'entity2' // 添加一列用来标识是什么实体的key } // ... } // utils/mysql.ts new Sequelize({ // ..

    1.7K20

    Sequelize入门

    它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能. Sequelize 遵从 语义版本控制. 支持 Node v10 及更高版本以便使用 ES6 功能....Getting Started - Sequelize入门 在本教程中,你将进行学习 Sequelize 的简单设置....术语约定 请注意,在上面的示例中,Sequelize 是指库本身,而 sequelize 是指 Sequelize 的实例,它表示与一个数据库的连接. 这是官方推荐的约定,在整个文档中都将遵循....除此之外,如果你想使用 Sequelize 连接到已经充满了表和数据的数据库,那也可以正常工作! 在两种情况下,Sequelize 都能满足你的要求....例如,对于查询日志记录,第一个参数是原始查询,第二个参数(默认情况下是隐藏的)是 Sequelize 对象. options.logging 的常用值: const sequelize = new Sequelize

    1.4K20

    用ServBay快速构建下一代GraphQL应用

    GraphQL是由Facebook开发的一种数据查询和操作语言,用于API,并作为运行时用于执行这些查询的服务器端软件的一种方式。它提供了一种更高效、强大和灵活的替代REST的方法。...如何构建GraphQL微服务在构建GraphQL微服务时,我们将遵循以下步骤:第1步:使用ServBay设置环境不同于传统的手动安装Node.js,ServBay提供了预配置的环境,包括各个版本的Node.js...const { Sequelize } = require('sequelize');// 连接数据库const sequelize = new Sequelize('database', 'username...中定义模型,模型是代表数据库中表的抽象:const User = sequelize.define('User', { // 定义模型属性 firstName: { type: DataTypes.STRING...Docker Hub 为您的映像提供安全的存储解决方案,确保它们可以轻松地跨不同环境和平台进行部署。与 GitHub 类似,Docker Hub 与各种部署平台无缝集成,包括 AWS 等流行的云服务。

    18700

    使用 Node 开发服务器项目时如何高效地打日志?

    除了最常见的与客户端交互外,还有数据库、缓存、消息队列、第三方服务。对于重要的数据交互需要打日志记录。 除了外界交互外,自身产生的异常信息、关键业务逻辑及定时任务信息,也需要打日志。...当用户未登录时,以 -1 替代,方便索引。...中最为流行的日志工具,支持各种各样的 Transport,能够让你定义各种存储位置及日志格式 当然还有其它可选的方案:如 [] { defaultMeta: { app: 'shici-service...以下是基于 koa 的日志中间件: 对于 Options、健康检查及一些不重要请求不打日志 使用 duration 字段记录该响应的执行时间 对于请求的 body 及 query 需要做序列化(stringify...,操作数据库一般使用 ORM 操作,对于 Node,这里选择 sequelize 以下是基于 sequelize 的数据库日志及代码解释: 绑定 CLS (Continues LocalStorage)

    1.4K20

    Node Sass安装依赖失败问题解决小记

    先说结论大概率是因为 node-sass和node版本冲突 M1架构和node-sass不兼容,完全不支持node-sass 排查 今天我一个老项目就遇到了这个错误,如下图 先尝试使用报错信息给出的帮助命令安装...npm rebuild node-sass 意料之中的不行,因为我这个是很古老的项目使用的是node-sass@4.14.1 版本,所以随后检查node版本是否支持 https://github.com.../sass/node-sass/releases 刚开始没关注系统架构不支持的问题,发现当前 node 版本过高,可是降级安装后还是报错。...github.com/sass/node-sass/issues/3033 https://github.com/sass/node-sass/pull/3390 卒~ 苹果M1招谁惹谁了 解决 随后查看网上是否有解决方案...,就加上这个 … 很可惜对我都不适用,目前我的环境为 电脑:Mac M1 Pro arm64架构 项目:node@v12.14.0 npm@6.13.4 经过一阵谷歌大法后,一条命令解决!

    1.2K11

    基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    Koa 是一个小而精的框架,而 Egg 正如文档说的为企业级框架和应用而生,对于我们快速搭建一个完备的企业级应用还是很方便的。...这样就可以很好的解决我遇到的那个问题,对于表结构修改和数据对象操作是两个独立的部分,从而使得代码更好维护。...username: { type: Sequelize.STRING }, password: { type: Sequelize.STRING } }); 对于一个 Model...payload 不能里面不能包含诸如密码这种敏感信息,对于我们这里的 id 是一串 uuid,即使拿到也无法直接判定相关内容,从而不会直接泄露我们的内容。...一般而言,加密算法对于不同的输入产生的输出总是不一样的。对于两个不同的输入,产生同样的输出的概率极其地小。

    9.3K40

    Node.js 开发者需要知道的 13 个常用库

    我挑选了 13 个重要的 Node.js 库,这些库使网页开发变得更加简单。 Node.js 到底是什么? Node.js 是一个开源的、用于 JavaScript 编程的服务器端运行环境。...Sequelize的特点和好处 无需编写原生SQL查询:你可以直接通过JavaScript代码进行数据库操作,这对于不熟悉SQL语言的开发者来说,无疑降低了学习曲线。...https://sequelize.org/ 2、CORS:跨域资源共享的Node.js解决方案 什么是CORS?...Passport的多样性和兼容性 Passport支持超过500种认证方案,这包括了谷歌、脸书、推特等社交媒体平台的认证,以及其他定制的认证和单点登录(SSO)方案。...持久会话登录信息:Passport还可以设置持久的登录信息,这对于多次会话非常有用。

    1K21
    领券