MongoDB兼容性已添加到Tigris开源开发人员数据平台中,现在也可以在Tigris Cloud上使用。
Tigris MongoDB兼容性的第一个Beta版本为MongoDB 6.0+ CRUD和聚合操作提供了支持。任何使用受支持的MongoDB Crud和聚合操作的应用程序,无论编程语言如何,都可以使用Tigris而不是自托管MongoDB实例或MongoDB Atlas。
展示tigris mongodb兼容性ABI
所有支持MongoDB 6.0+与Tigris一起工作的MongoDB驱动程序的CRUD操作,因此您需要为MongoDB应用程序做所有需要做的才能使用Tigris MongoDB兼容性功能是更新数据库连接字符串。
让我们快速使用官方MongoDB TypesScript example证明这一点。遵循的最简单方法是到signup for a Tigris Cloud account并创建您的第一个项目,称其为gamesDB
。
克隆回购并安装应用程序依赖项:
git clone https://github.com/mongodb-developer/mongodb-typescript-example.git
cd mongodb-typescript-example
npm i
复制.env.example
文件并创建一个新的.env
文件:
cp env.example .env;
更新.env
文件,用以下内容替换DB_CONN_STRING
变量的内容:
"mongodb://{TIGRIS_CLIENT_ID}:{TIGRIS_CLIENT_SECRET}@m1k.preview.tigrisdata.cloud:27018?authMechanism=PLAIN&tls=true";
将连接字符串中的{TIGRIS_CLIENT_ID}
和{TIGRIS_CLIENT_SECRET}
替换为您在Tigris Cloud中创建的项目的应用程序凭据。最后,用您在Tigris Cloud中创建的项目的名称更新DB_NAME
的值。
并运行应用程序:
npm start
您会看到与以下相似的输出:
[INFO] 15:12:35 ts-node-dev ver. 1.1.8 (using ts-node ver. 9.1.1, typescript ver. 4.3.5) Successfully connected to database: gamesDB and collection: gamesServer started at http://localhost:8080
现在,提出一些卷曲请求以对其进行测试。首先,创建一个资源:
curl --location --request POST 'http://localhost:8080/games' \--header 'Content-Type: application/json' \--data-raw '{ "name": "Fable Anniversary", "price": 4.99, "category": "Video Game"}'
然后列出资源:
curl --location --request GET 'http://localhost:8080/games'
这么简单!您可以查看our MongoDB examples on GitHub以获取更多示例。
如果您对使用Tigris MongoDB的兼容性有任何疑问,或者有反馈以帮助我们优先考虑其他兼容性,join the Tigris Discord Community或get in touch。
Monngodb Atlasaiaoqian8的开源替代品
Tigris是MongoDB地图集的开源替代品。我们已经发布了MongoDB兼容性功能,以使您更容易将MongoDB应用程序迁移到Tigris,并从以下内容中受益:
- 真正的无服务器数据库:无需集群供应或容量计划。创建一个项目,获取您的应用程序键,然后就可以使用。
- 自动数据库碎片:Tigris提供自动数据库碎片,并且随着数据分配自动处理,碎片键是不必要的。这包括碎片和优化碎片的数量。 MongoDB地图集要求您指定并管理碎片以水平扩展。使用Tigris,您有更多时间专注于为用户开发应用程序。
- 具有成本效益和无限的可伸缩性:与Mongodb地图集不同,底格里斯可以按比例缩放数百万的记录,并以成本的一小部分读取数据存储和数据存储。
- 强数据一致性:存储层建立在FoundationDB上,Tigris继承了强大的一致性保证。 Tigris使用乐观的并发控制提供了严格的序列化性,提供全球,交互式,酸性交易。 Tigris还提供了强烈一致的全球次要索引,可通过任何领域实现强大的查询功能。
- 全球次要索引: Tigris提供交易一致的全球次要索引,允许任何字段快速查找。
- 全文搜索: Tigris在统一平台中集成了数据库,搜索引擎和同步机制。这为您的应用程序提供了添加搜索功能的最快方法。 Tigris提供了丰富的查询DSL,模糊搜索,自定义排名,快点和地理搜索。
- 云本地体系结构:Tigris遵循具有松散耦合组件的现代组合体系结构。此外,计算与存储区分开,允许独立缩放和更弹性的系统。
- 带上自己的云:Tigris的开源Kubernetes-Native Design允许它在您自己的VPC中的云中部署在云中的任何地方,因此所有数据都包含在您自己的环境中。
MongoDB兼容性的工作方式以及什么是Next
Tigris利用FerretDB库提供与MongoDB的电线协议的兼容性,该协议可以与本机MongoDB客户端SDK,驱动程序和工具透明兼容。 Tigris不容纳MongoDB数据库引擎。任何与6.0+版本兼容的MongoDB客户端驱动程序都应该能够在没有特殊配置的情况下连接。我们正在积极测试与所有MongoDB驱动程序的兼容性。
我们计划在当前支持的CRUD和聚合操作之外提高兼容性。
有关更多信息,请参阅我们的MongoDB compatibility docs。有关Tigris建筑的详细信息,请参见我们的Architecture docs。
超越Monngodb和Mongodb Atlas
我们很高兴tigris MongoDB兼容性功能已进入Beta,但是我们有更大的视野,我们正在努力努力。
考虑到这一点,我们建议将Tigris SDKs而不是MongoDB驱动程序用于Greenfield应用程序或新的应用程序功能。通过这样做,您将受益于本机Tigris功能,该功能通过启用代码优先且敏捷的方法来简化了数据库架构定义的开发过程,并消除了对ORM/ODM的需求。此外,通过使用本机Tigris SDK,您还将从数据开发人员平台的全部价值中受益,并获取我们通过统一API启动的搜索和其他产品。
开始使用Tigris
尝试Tigris MongoDB兼容性的最快方法是注册Tigris Cloud account并遵循Tigris MongoDB compatibility quickstarts。
如果您有任何疑问或想为TheTigris open source project做出贡献,很高兴在Tigris Discord Community中见到您。其他任何东西,get in touch。