MongoDB 以其灵活的数据模型、可扩展的架构和丰富的功能,在现代应用开发中备受青睐,成为一种流行且广泛采用的 NoSQL 数据库解决方案。LibreChat 等项目采用了MongoDB 而非 MySQL,而 MongoDB Cloud Atlas 云端 NoSQL 数据库重在构建、而非管理,本文藉由部署 LibreChat 之机简要介绍 MongoDB Cloud Atlas 数据的创建和使用。
1.MongoDB简介
MongoDB是一个开源的、面向文档的NoSQL数据库,由10gen(现在的MongoDB Inc.)开发和维护,以其独特的特性和功能在现代应用开发中广受欢迎。与传统的关系型数据库不同,MongoDB采用了一种灵活的数据模型,以文档的形式存储数据。这些文档使用JSON(JavaScript Object Notation)风格的BSON(Binary JSON)格式表示,使得存储和查询数据变得非常简单和直观。
MongoDB提供了强大的查询语言和丰富的查询功能。开发人员可以使用MongoDB的查询语言进行灵活的数据检索和聚合操作,以满足各种需求。此外,MongoDB还支持地理空间索引和查询,使得处理地理位置数据变得更加容易和高效。
MongoDB的设计理念之一是横向扩展性。它支持分布式架构,可以轻松地在多个服务器上进行数据分片和复制,以实现高可用性和可伸缩性。这使得MongoDB成为处理大规模数据的理想选择,适用于各种应用场景,从小型项目到大型企业级应用。除了基础的数据库功能外,MongoDB还提供了一些高级功能和工具,以提高开发人员的生产力。例如,它支持全文搜索、图形处理和数据湖等功能,可以满足不同类型的应用需求。此外,MongoDB还有丰富的社区和生态系统,提供了大量的扩展和工具,方便开发人员构建和管理MongoDB应用。
MongoDB的官方网站是「mongodb.com」,它是由MongoDB Inc.维护和管理的。MongoDB Inc.是MongoDB数据库的开发公司,也是MongoDB的商业支持和服务提供商。MongoDB Inc.由10gen公司发展而来。10gen是MongoDB最初的开发者,10gen于2007年成立,最早致力于构建一个可扩展的、高性能的数据库解决方案,后来开发出了MongoDB。随着MongoDB的成功和广泛应用,10gen于2013年改名为MongoDB Inc.,并成为MongoDB数据库的主要维护者和推动者。
作为MongoDB的维护者,MongoDB Inc.负责开发新的功能、修复bug、提供技术支持和培训等。他们还提供了MongoDB的商业版本,包括MongoDB Enterprise Server和MongoDB Atlas等。MongoDB Enterprise Server为高级版本,提供额外的功能和增强的安全性,而MongoDB Atlas是云托管服务,可以简化MongoDB的部署和管理。
2.创建MongoDB Atlas云端数据库
2.1 注册账号
MongoDB的官方网站「mongodb.com」由MongoDB Inc.维护,MongoDB Inc.是MongoDB数据库的开发公司和主要维护者,不仅提供了商业支持和服务,还积极参与开源社区,推动MongoDB的发展。
首先访问MongoDB中文站点并「注册MongoDB账户」。可以直接使用Google账号,也可以使用其他邮箱注册。
建议使用outlook邮箱进行注册,无需代理可以直接访问,同时能确保及时接收通知信息。
2.2 创建Atlas实例
首次登录MongoDB,默认会创建名为project0的项目,可以随时修改。保持左上角部署类型『Data Services』不变,点击『Create a deployment』创建数据库部署。
MongoDB Atlas云端服务提供M0、M10、SERVERLESS等3个层级的计划,M0为免费层级计划,提供512M独立存储空间,CPU、RAM均为共享。MongoDB Atlas采用了AWS、GCP、Azure的基础设施,选择距离客户端最近的云服务基础设施和数据中心如香港、新加坡等。
填写数据库名称,如Librechat-DB,点击『Create』创建数据库。之后,填写数据库用户名和密码,建议使用由系统自动生成的随机密码,注意拷贝密码。然后,点击『Create User』创建用户。
数据库用户创建完成后,配置访问控制,我们会看到,默认仅允许本地主机IP访问数据库。
点击『IP Access List』处的『EDIT』按钮,将源访问地址修改为0.0.0.0/0,即允许所有IP访问数据库。修改完成后点击『Finish and Close』。
2.3 访问Atlas实例
上文我们就使用免费层级计划创建了一个可从任意地址访问的MongoDB Atlas数据库实例,要远程访问我们还需要获取访问链接。项目(Project0)概览页点击左侧导航栏『Deployment』下的『Database』。在打开的数据库管理选项卡页面,我们点击『Connect』。
在连接的第一个环节就是选择连接方式,本文仅获取通过Driver方式直接连接数据库的URI,点击第一项『Driver』。可以看到,通过Compass(MongoDB得的GUI管理工具)、Shell和VS Code连接数据库也是支持的,最后的『Atlas SQL』用于数据库的分析和可视化。
在弹出的页面中,拷贝URI即可,其中的参数内容引用时可仅保留retryWrites,“w=majority”可删除,同时应将<password>替换为数据库访问密码。
拷贝访问URI之后,可以将连接页面关闭推出管理面板。
3.结语
本文仅结合LibreChat简单介绍了MongoDB的云端创建和远程访问链接URI的获取,更多知识可以搜索相关资料学习。MongoDB迅速崛起,其特性高度契合移动互联网时代数据和信息碎片化的趋势,不断蚕食关系数据库从上个世纪就开始积累的市场份额。
MongoDB不同于关系型数据库,对集合结构没有统一要求,任何结构的文档数据都可以写入同一个集合,在一个集合里,既可以写入用户数据,也可以写入订单数据,MongoDB本身不做任何限制,约束依赖于程序本身。这种高度的灵活性能带来高效,也会造成灾难,尤其是Team协作时。没有约束是好事,所以MongoDB的“自由”有其优势,但总有因为这种“自由”写出“粪坑”的人。
文章评论