首页
学习
活动
专区
圈层
工具
发布

MongoDB CTO 兼联合创始人Eliot Horowitz: 文档无处不在

在MongoDB的引领下,大量新的文档型数据库在过去的十年里相继面世,传统数据库也都纷纷增加了文档功能。...Atlas允许跨越全球的复制集部署,为应用程序节点提供低延迟的读取功能 DocumentDB 没有分片功能,限制了其扩展能力 DocumentDB 缺少很多高级功能,如可以智能地将本地文档路由到世界各地的特定分片中的全球集群功能...MongoDB Atlas全球集群自动将文档存储在靠近使用点的位置,确保文档读写最低延迟,并确保文档存储在指定地理位置,从而轻松助力GDPR法规遵从 DocumentDB 不具备 MongoDB API...评 测 DocumentDB 文档宣称,应用程序迁移“非常容易,只需将数据库连接改为新的 Amazon DocumentDB 集群”,并且它提供“当前可用 MongoDB 托管服务的两倍吞吐量”。...DocumentDB 是初阶文档数据库,适用于仅需要简单查询的、读取繁重的工作负载,无法支持大规模的分布式应用程序。

1.5K30

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

FerretDB 2.x 利用了微软的 DocumentDB PostgreSQL 扩展。这个基于 MIT 许可的开源扩展为 PostgreSQL 引入了 BSON 数据类型及相关操作。...该解决方案包含两个 PostgreSQL 扩展:用于 BSON 优化的 pg_documentdb_core 和用于数据操作的 pg_documentdb_api。...Farkas 在领英(LinkedIn)上评论补充道: “随着微软开源 DocumentDB,我们比以往任何时候都更接近,能真正在行业内开展协作共同创建文档数据库的开放标准。”...在另一篇文章中,Farkas 解释了为什么他认为文档数据库除了做到 “与 MongoDB 兼容” 之外,还需要标准化。...原文链接: https://www.infoq.com/news/2025/02/ferretdb-documentdb/ 声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

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

    2019年云计算第一撕:AWS为什么和MongoDB怼上?

    近日,AWS宣布正式推出文档数据库服务:DocumentDB。AWS DocumentDB是一项支持MongoDB工作负载的文档数据库服务,硬怼MongoDB的意思非常之明显。 为什么说两家怼上了?...而本次AWS推出的DocumentDB是明知道MongoDB修改许可证原因的情况下,选择了用兼容MongoDB老版本 3.6 API的方式绕开MongoDB新许可政策。...就如AWS所言,DocumentDB可以快速、可扩展、高可用并完全托管的文档数据库服务,用户只需像一样使用 MongoDB 应用程序代码、驱动程序和工具来运行、管理和扩展 Amazon DocumentDB...针对AWS DocumentDB,MongoDB则表示,MongoDB 3.6 API已经拥有超过2年的历史,并且却是太多新功能,比如ACID 事务、全局集群和移动同步等。...而开源软件公司除了修改许可方式之外,还需要探索更符合发展的开源商业化之路,这样才能确保开源项目的繁荣以及养活自身。

    99330

    MongoDB CEO 兼总裁Dev Ittycheria: 文档即未来

    关系型数据库并非为当今现代应用程序而设计,MongoDB的诞生则源于使用传统关系型数据库的挫败。...因此,使用文档模型显著提高了开发人员的生产效率,使组织机构能够更快地进行创新。 业界验证 近期亚马逊推出了DocumentDB,并将其描述为“支持 MongoDB 的托管文档数据库服务”。...它是由创建 MongoDB 数据库的同一支团队设计,具有内置的操作和安全实践,可以自动执行如基础设施配置和数据库设置等耗时的管理任务,支持高可用性、全球分发、备份等等功能。...DocumentDB 声称支持 MongoDB 3.6 API,暗示 DocumentDB 与 MongoDB 3.6 版本是对等的。...MongoDB & DocumentDB 主要差异对比 ? 我们非常尊重亚马逊为推进云计算、为迁移至云端的客户打造优势所做的努力。

    1.2K30

    FerretDB 是 MongoDB 的开源替代方案,发布了 2.0 版

    ferretdb-releases-v2-faster-more-compatible-mongodb-alternative/,其核心内容可概括如下: 一、核心升级与性能优化 架构革新: 基于微软开源的DocumentDB...新架构包含: pg_documentdb_core:负责BSON底层优化 pg_documentdb_api:提供数据操作接口 该设计使FerretDB 2.0性能较早期版本提升最高达20倍,接近商业级文档数据库表现...三、版本演进策略 架构迁移: 2.x版本全面转向PostgreSQL+DocumentDB技术栈 1.x版本保留在GitHub供旧有用户维护,但停止主开发线支持 兼容性考量: 明确说明新架构虽提升性能...附:技术背景 BSON优化:文档数据库底层存储采用二进制JSON格式,新扩展实现更高效序列化/反序列化 向量搜索实现:基于PostgreSQL插件机制扩展ANN(近似最近邻)算法支持 该版本标志着FerretDB...从兼容层向标准化文档数据库基础设施的转型,通过整合微软技术栈与PostgreSQL生态,构建开放文档数据库生态系统。

    1.2K10

    上周上市的大数据公司MongoDB的前生今世

    它是一个文档型数据库,使用的是二进制JSON的BSON文件格式。...MongoDB公司原名叫做10gen,是由曾经的DoubleClick的创业者和资深员工在把DoubleClick卖给谷歌以后开始创建的创业项目。...当用户上了贼船以后,发现这个系统并不能提供用户所需要的大规模的处理能力的时候,各种痛苦接踵而来。FourSquare的CTO曾经一度跳出来指出MongoDB最好别用到产品里。...DocumentDB推出以后微软又继续推出了兼容MongoDB的API。微软于2017年在Build大会上把DocumentDB升级成为CosmosDB。...这个新DB号称支持更多的数据模型,并且有更好的全球延展性。 大家对DocumentDB的主要顾虑集中在这个产品是在Azure平台上的Hosted service,并非是一个独立的产品。

    3.2K70

    ElasticSearch 文档的增删改查都不会?

    自己指定文档 id创建文档,需要考虑 id 的均衡性,避免产生分配不均衡的问题。 ES 的 hash 函数会确保文档 id 被均匀分配到不同的分片。...Index 和 Create 区别为:如果文档不存在,就索引新的文档,否则现有文档就会被删除,新的文档被索引,版本信息 _version + 1。...在使用 Bulk API 的时候,当 errors 为 true 时,需要把错误的操作修改掉,防止存到 ES 的数据有缺失。...下面我们来实际操作下,输入以下代码执行,就可以得到文档 id 为 1,3 的数据。 ? 运行结果如下: ? 在介绍完文档的一些操作,最后让我们看下 REST API 常见错误返回有哪些吧!...REST API 常见错误返回 刚才在演示中,当查询文档 id 不存在的时候就会报 404 错误,而且 ES 还有各种各样的返回,下面通过一个表格了解下: ?

    1.5K00

    如何在Ubuntu 14.04上安装和使用BaasBox

    创建新角色时,它具有与上述registered角色相同的权限。 您可以通过管理控制台或REST API在BaasBox中创建用户。...我们将在后续部分中使用REST API创建用户。现在让我们为应用程序的内容配置一个位置。...BaasBox id为每个用户生成一个唯一的。当您想通过REST API获取,修改或删除此特定用户的文档时,您将使用此ID。...使用REST API记录用户 现在我们有了会话ID user2,让我们为之前在管理控制台中创建的用户获取一个user1。我们将通过user1使用REST API 登录来完成此操作。...我们将从现在开始引用此user1_session_id值。 使用REST API创建文档 让我们在我们的应用程序中创建两个文档。

    1.4K00

    基于JSON的Oracle数据库应用程序开发(与MongoDB兼容)

    关系模型缺乏这种灵活性:表具有静态的“形状”,应用程序更改需要修改表结构(例如添加新列),这通常涉及数据库管理员(DBA)。此外,现有数据可能需要进行修改以适应新的模式。...相反,应用程序数据被建模为文档,通常是JSON格式。每个文档都是自描述的(由命名的键/值对组成),因此不需要外部模式来理解这些值。...此外,不同的文档可以具有不同的键/值对,使得通过在运行时添加新的键/值对而无需修改现有数据/文档,从而轻松地演化应用程序。因此,使用文档来持久保存数据为开发人员提供了灵活的存储机制。...SODA示例 以下Java代码创建了一个名为'orders'的集合,并插入一个JSON文档。然后,它检索由SODA分配给文档的唯一键(id)。SODA也可以接受用户生成的 id。...这两个操作,即创建集合和插入文档,需要各自进行一次REST调用。

    1K30

    我是如何根据豆瓣api来理解Restful API设计的

    REST本身没有创造新的技术、组件或服务,它的理念就是在现有的技术之上,更好的使用现有的 web规范。用REST规范的web服务器,能够更好的展现资源,客户端能够更好的使用资源。...每个资源都由URI/ID标识。REST本身跟http无关,但是目前http是与它相关的唯一实例。REST有着优雅、简洁的特性,本文是根据豆瓣api来谈谈自己对restful的一些理解。...post-通过用作创建一个新的资源。 delete-通过用作资源的删除。 put -通过用作更新资源或者创建资源 head-只获取某个资源的头部信息。...使用权限验证,shiro ,或者自己建数据库(用户、角色、权限) 7.api文档 接口文档的编写至关重要,最好是写一个在线接口文档。接口文档能够方便团队查阅,减少不必要的沟通。...如果对外公开api,api文档的质量直接反应了一个公司的技术水平,甚至一个公司的文化气质。

    2.3K50

    Spring Boot 集成 Elasticsearch 实战

    可以在 ES 官方文档中发现,ES 为 Java REST Client 提供了两种方式的 Client:Java Low Level Client 和 Java High Level REST Client...在这里演示下创建文档、批量创建文档、查看文档、更新文档以及删除文档: 创建文档 创建文档的时候需要在 IndexRequest 中指定索引名称,id 如果不传的话会由 ES 自动生成,然后传入 source...批量创建文档 在一个 REST 请求中,重新建立网络开销是十分损耗性能的,因此 ES 提供 Bulk API,支持在一次 API 调用中,对不同的索引进行操作,从而减少网络传输开销,提升写入速率。...查看文档 查看文档需要在 GetRequest 中传入索引名称和文档 id,具体代码如下所示: public UserDocument getUserDocument(String id) throws...更新文档 更新文档则是先给 UpdateRequest 传入索引名称和文档 id,然后通过传入新的 doc 来进行更新,具体代码如下: public Boolean updateUserDocument

    1.5K30

    elasticsearch修改数据

    上篇文档向读者介绍了Elasticsearch提供的强大的REST API的基本用法,不过这些API的用法都很基础,本文将和读者继续分享更多的API。...如果对一个不同(或者相同)的文档使用如上命令,Elasticsearch则会使用一个新的文档来重新索引ID为1的那个文档,例如,再次执行上面这个命令,结果如下: ?...可以看到,响应结果中, _id依然为1,但是 _version为2, result也变为 updated了。这是文档内容相同的情况,文档内容要是不同的话,则会更新ID为1的文档,如下: ?...需要注意的是,Elasticsearch底层并不支持更新操作,所谓的更新,是将旧的文档删除,然后索引一个新的文档。...注意,delete动作,由于删除只需要被删除文档的ID,所以并没有对应的源文档。 bulk API按顺序执行这些操作。如果其中一个操作因为某些原因失败了,它将会继续处理后面的操作。

    2.3K20

    Elasticsearch-文档的 CRUD

    本文介绍文档的 CRUD 操作以及文档的元信息、文档的批量操作以及 REST API 一些常见的返回码。...id 的文档已存在,则操作失败 Index 和 Create的区别 Index不同于 create的地方是,如果文档不存在,就索引新的文档,否则如果文档存在,那么现有文档会被删除,新的文档被索引,版本信息...Elasticsearch 提供 Bulk API 支持一次 REST API 调用中,对不同的索引进行操作。...每个文档都有一个版本号,可用于并发控制,避免冲突 _mget和 bulk API 可以减少建立网络连接所产生的开销 bulk API 每行需要指定 index 信息,也可以在 URI 中指定,从 ES...ID 获取文档信息 GET users/_doc/1 //index 创建文档,当前文档ID 为 1 已存在 //结果是原文档被删除,当前文档的版本号在之前的版本号上+1 PUT users

    1K40

    AWS发布新服务,屠MongoDB祭天

    这个服务把矛头指向了2018年刚上市的MongoDB,一个如日中天的文档数据库公司。MongoDB这个公司上市后股票一年内涨了三倍。 ? MongoDB是一个文档型数据库,起源于大数据时代。...MongoDB去年决定改变授权模式,采用一种全新的方式,要求云厂商如果提供MongoDB的服务,就需要把其存储,监控,容器等一系列相关的东西的源代码都开放出来。...微软首先推出了DocumentDB这个产品,采用兼容MongoDB的API的方式来实现对MongoDB的支持。 这个产品后来升级成为Cosmos DB,支持除了MongoDB以外的其他一系列开源接口。...谁也没想到MongoDB正准备通过 新的授权方式针对海外市场出重拳,美国本土市场却要被微软和亚马逊占领了。后院起火的MongoDB会不会就此一蹶不振,只能拭目以待了。...无论如何,文档数据库市场如火如荼的,谁都不想错过这杯羹啊。

    1.3K20

    GraphQL

    我们的API具备我们需要的所有功能,所以直接获取数据 开个新终端执行: curl localhost:3000/movies 应该会得到这样的响应: [ { "href": "http://localhost...fields=title,image&actor_fields=name,image 现在,这差不多是我们的简单应用的最佳实现了,但它引入了一个坏习惯,为客户端应用中特定的页面创建订制化接口。...这样可以,但增加了我们API的表面积,同时给开发者带来了不断更新和提供详尽文档的负担 GraphQL中的版本控制则不同,每个GraphQL查询都需要准确描述什么字段被请求了。...说到这里,开发者为REST API的扩展付出了巨大代价。接口数量瞬间爆炸,不一致性越来越明显,版本控制越来越困难 GraphQL在开发体验方面确实有过人之处。...GraphQL里只有一个端点,并且不依赖文档来找那些数据可用,你拥有了一个类型安全的语言并且能够自动补全可用的东西,用这个来快速创建API。

    1.8K40

    Claude Code API开发子代理实战指南:打造你的接口架构专家

    专精REST、GraphQL和API网关。在API开发项目中主动使用。 model: sonnet --- 你是一位API开发专家,专注于创建健壮、文档完善、开发者友好的API。...三、5分钟快速配置教程 步骤1:打开Claude Code配置界面 # 在Claude Code中输入 /agents 步骤2:创建新的API开发代理 点击 "Create New Agent" 选择...四、实战案例:看看API子代理的威力 案例1:创建用户管理API 输入指令: 创建一个完整的用户管理REST API,包括CRUD操作 API子代理输出: // user.routes.js - 路由定义...✅ 日志记录 ✅ 事务支持 案例2:生成OpenAPI文档 输入: 为上面的用户API生成OpenAPI 3.0规范文档 输出: openapi: 3.0.3 info: title:用户管理API...一般 优秀 显著提升 八、总结:API子代理的核心价值 这个API开发子代理的真正价值: 标准化:自动遵循REST/GraphQL最佳实践 文档化:API即文档,文档即API 安全性:默认实现各种安全防护

    1.1K10
    领券