随笔分类 - 【006】NoSQL
NoSQL = Not Only SQL,不仅仅是SQL!
摘要:最近,在使用MongoDB时,碰到这样的一个需求:针对某个Collection手动在开发环境创建了索引,但在测试环境和生产环境不想再手动操作了,于是就想着干脆通过代码的方式在ASP.NET 6应用启动时自动创建,如果是重复创建则直接跳过。
阅读全文
摘要:去年学习了《Redis核心技术与实战》,我将我的学习笔记总结了下来,涵盖了数据结构与基础使用、高可靠性与高性能、使用规范等几个主要的主题,希望对你有所帮助。
阅读全文
摘要:在实际场景中,开发环境的MongoDB服务器一般没有要求通过SSL方式来登陆,但是生产环境的MongoDB服务器通常都会基于安全要求基于SSL方式来访问,这就要求客户端应用需要通过SSL证书来和MongoDB服务器进行通信验证后才能正常读取和写入数据。那么,在ASP.NET Core应用中应该如何修改匹配呢?
阅读全文
摘要:在去年学习《MongoDB高手课》的途中,我总结了一个系列的MongoDB入门实战教程,现在我将它分类整理成一个学习路线图。它涵盖了认识与安装MongoDB、使用MQL、基于MongoDB的应用开发、MongoDB深入、高可用与高性能等核心主题,助你构建MongoDB的知识体系。
阅读全文
摘要:本文简单介绍了一些MongoDB的应用开发最佳实践,了解和应用这些最佳实践对于我们在日常项目开发中大有裨益。至此,MongoDB入门实战教程系列文章也就结束了,希望能够对你有所帮助。
阅读全文
摘要:MongoDB的一大特色就在于其原生的横向扩展能力,具体体现就是分片集。本篇,我们来了解一下MongoDB分片集的机制及其原理。本文简单介绍了MongoDB分片集的机制及原理,最后介绍了MongoDB数据分片的三种基本策略。
阅读全文
摘要:MongoDB在4.2版本开始全面支持了多文档事务,这也让MongoDB可以作为OLTP的选项之一,本篇我们就来学习一下MongoDB的多文档事务。本文简单介绍了MongoDB多文档事务的使用,它弥补了MongoDB无法实现传统关系型数据库ACID特性的不足。
阅读全文
摘要:前面我们学习了在MongoDB中的写操作事务管理,本篇我们开始进入读操作事务。本文简单介绍了MongoDB的读操作事务,它有两个重要的参数 readPreference 和 readConcern,分别解决从哪里读取数据 和 什么样的数据可以被读取 的问题。
阅读全文
摘要:前面我们学习了在MongoDB中如何使用索引来提高查询效率,本篇我们开始进入事务管理部分,首先我们来看看写操作事务。本文简单介绍了MongoDB的写操作事务,它有一个重要的参数writeConcern,了解它的选项并在实际项目中应用对于实现数据的高可用至关重要。
阅读全文
摘要:前面我们学习了如何套用常见的设计模式打造合适的模型设计,本篇我们来看看在MongoDB中如何使用索引来提高查询效率。本文简单介绍了MongoDB的索引的基本概念和术语,为什么MongoDB会采用B树 而 MySQL会采用B+树,常见的MongoDB索引的类型和应用,常见的索引属性及应用。
阅读全文
摘要:前面我们学习了模型设计中的内嵌模式与引用模式的使用,本篇我们来看看在模型设计中如何套用常见的设计模式来降低设计难度,提高查询效率。本文简单介绍了MongoDB的模型设计中的三大类常用设计模式:表现形式类、数据访问类 和 组织结构类。通过学习这些设计模式,使我们可以在模型设计场景中恰当地套用这些设计模式,从而达到提升数据读写效率 和 降低资源的需求,最终得到一个合适的文档模型。
阅读全文
摘要:前面我们学习了聚合查询,本篇我们来看看在模型设计中如何应用引用模式来提高查询效率。本文简单介绍了MongoDB的模型设计中的内嵌模式和引用模式,探讨了引用模式的使用、何时使用 及 使用限制。
阅读全文
摘要:通过前面几篇的学习,作为后端开发的我们基本可以应付70%的开发场景。接下来,我们就来看点进阶一点的东西,首先是聚合查询。MongoDB提供了一套聚合框架(Aggregation Framework),它可以帮助我们在一个或多个Collection上,对Collection中的数据进行一系列的计算,并将这些数据转化为期望的格式。
阅读全文
摘要:前面我们学习了MongoDB的基本查询命令操作,作为后端开发的我们大部分场景都是在应用程序中和MongoDB进行交互,因此本篇我们来学习一下如何在ASP.NET Core中集成MongoDB。
阅读全文
摘要:通过前面几篇的铺垫,我们基本了解了MongoDB是个什么东西,搭建起了一个MongoDB的小集群环境。接下来,我们就来学习一下MongoDB的基本操作。本文总结了MongoDB的基本操作,包括了insert、find、remove、update和drop。学会这些基本操作,我们就可以应对大部分的常见使用场景了。
阅读全文
摘要:上一篇我们了解了MongoDB的复制集概念和复制集的搭建,本篇我们来了解一下如何实现数据恢复 和 提升安全性的一些实践。
阅读全文
摘要:上一篇我们了解了MongoDB的基本概念与单节点环境搭建,本篇我们来学习如何搭建一个高可用的复制集集群。MongoDB复制集的主要意义在于实现服务的高可用,它是MongoDB的一个原生的高可用设计,不需我们额外引入一些组件来实现,因此实现起来相当便利。
阅读全文
摘要:对于后端开发工程师,NoSQL是一个需要掌握的技术点,而NoSQL中比较火热的技术当属MongoDB。欢迎入门MongoDB,进入无模式的文档数据库世界。
阅读全文
摘要:通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构。那么,我们首先来了解一下神马是主从复制架构?
阅读全文
摘要:在很多场景中,用户都需要和我们的网站系统进行多次的信息交互,这时就需要一种解决方案来克服无状态特性所带来的困境。还好,在巨人的肩膀上,我们已经有了很好的解决方案,那就是浏览器端的Cookie和服务器端的Session。在一般的单机开发中(这里一般是指只有一台Web服务器的情况),服务器端我们通常使用Session来存储用户登录状态(一般是一个自定义对象实例),在多数的管理信息系统开发中(毕竟内部系统用户量不多,一台Web服务器既提供Web服务又存储Session对象内存还算是够用的)这是很常见的。
阅读全文