51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
harmony
纯血
harmonyos
MongoDB 集群请求连接被拒绝的分析
背景某运营商搭建了一套MongoDB集群,承载了大大小小的几十个非计费类应用,1亿左右的用户量,随着访问量的增加,业务繁忙时期偶尔出现连接拒绝的错误。分析为了搞清楚原因,先从mongo访问数据库的模式说起,如下图:我们发现客户端的请求是通过驱动连接到mongos或mongod的。如果有多个实例化的MongoClient,那么就会有多个对应的连接池。通过调试看到MongoClient的连接池大小默认值为100。可以在代码里面通过MaxConnectionPool...
guwj
0回复
6291浏览
Mongoing
8000字 | 32 张图 | 一文搞懂事务+隔离级别+阻塞+死锁
本篇主要内容如下:一、事务1.1什么是事务为单个工作单元而执行的一系列操作。如查询、修改数据、修改数据定义。1.2语法「(1)显示定义事务的开始、提交」BEGINTRANINSERTINTOb(t1)VALUES(1)INSERTINTOb(t1)VALUES(2)COMMITTRAN「(2)隐式定义」如果不显示定义事务的边界,则SQLServer会默认把每个单独的语句作为一个事务,即在执行完每个语句之后就会自动提交事务。1.3事务的四个属性ACID「(1)原子性Atomicity」1.事务必...
bashendan
0回复
5756浏览
SQL
三藏一面:为什么要用 NoSQL
本文来自我的一次真实面试经历。这家公司的真名就叫做“三藏”,和我的名字“悟空”很契合,唐三藏给悟空面试,合情合理,还带有一丝趣味,所以我就去面试了。三藏公司是一家小厂,技术负责人面的我,欲知面试结果,文末揭晓。本文主要内容如下:一、MongoDB和MySQL1.面试官:看你的简历上写了MongoDB,说下MongoDB和MySQL的区别吧。其实对于这个问题,我事先有准备,简历上写了MongoDB,面试官肯...
bashendan
0回复
6878浏览
NoSQL
一个月后,我们又从 MySQL 双主切换成了主-从!
一、遇到的坑一个月前,我们在测试环境部署了一套MySQL高可用架构,也就是MySQL双主+Keepalived的模式。详情看这篇:实战MySQL高可用架构在这一个月遇到了很多坑:因为两个MySQL节点都可以写入,极其容易造成主键重复,进而导致主从同步失败。同步失败后,SlaveSQLThread线程就停了,除非解决了同步的错误,才能继续进行同步。同步失败的错误,不会只有一条记录有问题,往往是一大片的同步问题。两个节点互相缺少对方的...
maxh718
0回复
4505浏览
MySQL
1 W 字+ | 硬刚 MySQL(典藏版)
先说下哈,这次给大家带来的大厂面试题,都来源于我的知识星球,总共20道题,17道题来自悟空分享,另外3道题来自MySQL大牛:东哥。另外每道题都是精心整理,有的题目甚至需要花我一晚上的时间才能用大白话讲解清楚,比如MVCC机制,真的是肝了一晚上。有的题目东哥还要写SQL验证,真的是用心了。话不多说,开干!一、说MySQL的redolog和binlog?二、说说建立索引的优势、负面影响和原则?三、说下MySQL中的索引有哪些分类?四、...
maxh718
0回复
4447浏览
MySQL
缓存实战(八)「手摸手」主从环境的部署+压测
前言上周给大家深度剖析了Redis主从架构的原理后,读者朋友们觉得还不错,大白话的讲解,非常容易看懂。缓存实战的文章写了很多篇,先把历史文章汇个总,方便大家查看:《缓存实战(一)缓存初级打怪》《缓存实战(二)Redis分布式锁》《缓存实战(三)Redisson分布式锁》《缓存实战(三)Redisson分布式锁》《缓存实战(四)实战SpringCache》《缓存实战(五)...
maxh718
0回复
6055浏览
Redis
真枪实弹!Redis 「冷备」让您睡个安稳觉zZ
Redis的RDB持久化方案,相信大家都有所了解,但是对于企业来说,如果只是持久化了一个RDB文件,不足以应付生产级别的事故。通常的方案就是对RDB进行多个备份,今天带大家来真枪实弹操作下RDB的冷备,以及通过RDB进行数据恢复。学会了这招,今晚可以好好睡觉了吗?企业级冷备方案RedisRDB持久化是非常适合做企业级的冷备方案的,这里的冷备可以理解为将已生成的文件拷贝到其他机器或者云服务器上。RDB适合做冷备的原因如下:RDB...
maxh718
0回复
4481浏览
Redis
带你遨游银河系的 10 种分布式数据库
一、关系型vs非关系型1.1关系型1.1.1什么是关系型?关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库,由二维表及其之间的联系所组成的一个数据组织。1.1.2常见关系型数据库常见关系型数据库管理系统(ORDBMS):Oracle、MySql、MicrosoftSQLServer、SQLite、PostgreSQ、IBMDB2。1.1.3关系型的优势采用二维表结构非常贴近正常开发逻辑。支持通用的SQL(结构化查询语言)语句。丰富的完整性大大减少了...
maxh718
0回复
7136浏览
分布式数据库
盘点
分布式锁中的王者方案 - Redisson
一、Redisson是什么?如果你之前是在用Redis的话,那使用Redisson的话将会事半功倍,Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(SeparationofConcern),从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson是一个在Redis的基础上实现的Java驻内存数据网格(InMemoryDataGrid)。Netty框架:Redisson采用了基于NIO的Netty框架,不仅能作为Redis底层驱动客户端,具...
maxh718
0回复
4718浏览
Redisson
使用模式构建:属性模式
原文:DanielCoupalandKenW.Alger译者:牟天磊欢迎回到MongoDB模式设计系列。上一次我们研究了多态模式,它涵盖了集合中所有文档具有相似但不相同结构的情况。在本文中,我们将了解一下属性模式。属性模式特别适用于以下情况:我们有一些大文档,它们有很多相似的字段,而这些字段的一个子集具有共同的特征,我们希望对该子集字段进行排序或查询;我们需要排序的字段只能在一小部分文档中找到;或上述两个条件均满足。出于性能...
guwj
0回复
5269浏览
Mongoing
Mongos连接模型探究
经常有同学会问,clientmongosmongod之间的连接模型是怎样的关系,一个客户端连接对应多少个对后端mongod的连接。这个问题是有意义的,因为我们知道,client到mongod之间的连接,是onethreadperconnection的模式的,而且每个连接线程默认分配1MB内存,一千个连接就是1GB的内存;而且活跃连接多了,内核态的线程切换引起的性能开销又是一个让人头痛的问题。onethreadperconnection的模型相当传统(落后),该模型将线程切换调度交...
guwj
0回复
4525浏览
Mongoing
MongoDB从事务到复制
前言事务和复制对于很多数据库来说是共性,但每一种数据库在这两个问题的细节之处都会有各自的考量,带来了各自的特性;围绕着对共性和特性的讨论,我们将得以还原设计的权衡与思量。本文若不做特别说明,均以MongoDB4.0为例。需要注意的是,MongoDB在3.0后续的版本均有较大的更新,版本差异较大,这里无法一言蔽之,还请见谅。Overview针对不了解MongoDB的读者,这里先简单介绍下MongoDB是什么。MongoDB是一个基于文档模型的,...
guwj
0回复
6050浏览
Mongoing
使用模式构建:多态模式(The Polymorphic Pattern)
作者:DanielCoupal&KenW.Alger译者:牟天垒当涉及MongoDB时,一个经常被问到的问题是“我如何在MongoDB中为我的应用程序构造模式(schema)?”老实说,这要看情况而定。你的应用程序读操作比写操作多吗?从数据库中读取时需要将哪些数据放在一起?有哪些性能因素需要考虑?文档有多大?它们今后会变成多大?你预计数据会如何增长和扩展?所有这些以及更多的问题,都涉及到如何在MongoDB中设计数据库模式(schema)。有人说Mon...
guwj
0回复
4638浏览
Mongoing
有坑勿踩(二): 关于游标
前言聊一聊一个最基本的问题,游标的使用。可能你从来没有注意过它,但其实它在MongoDB的使用中是普遍存在的,也存在一些常见的坑需要引起我们的注意。在写这个系列文章时,我会假设读者已经对MongoDB有了最基础的了解,因此一些基本名词和概念就不做过多的解释,请自己查阅相关资料。使用场景可能你以为你并没有经常在使用游标,但是其实只要在做查询,几乎时时刻刻都在用它。本质上所有查询的数据都是从游标来的。你说你用toA...
guwj
0回复
6464浏览
Mongoing
有坑勿踩(一):MongoDB PSS vs PSA
在技术社区混了这么长时间,因为一些常见的技术问题反复被问到,总是想写写文章把它们讲清楚。无奈很多时候看似基础的技术问题背后都隐藏着很深的原因,想要一次性说清楚太花时间,而平时又没有很多时间能花在上面(主要是懒),所以产生了写一系列文章的想法,讲讲我或我的客户使用MongoDB过程中经常遇到的各种“坑”。话虽如此,难者不会会者不难,希望看了这些讲解你就不再认为这些是“坑”了。在讲解这些问题前,我会假设读...
guwj
0回复
4907浏览
Mongoing
MongoDB 如何使用内存?为什么内存满了?
最近接到多个MongoDB内存方面的线上case及社区问题咨询,主要集中在:为什么我的MongoDB使用了XXGB内存?一个机器上部署多个Mongod实例进程,WiredTigercache应该如何配置?MongoDB是否应该使用SWAP空间来降低内存压力?MongoDB内存用在哪?Mongod进程启动后,除了跟普通进程一样,加载binary、依赖的各种library到内存,其作为一个DBMS,还需要负责客户端连接管理,请求处理,数据库元数据、存储引擎等很多工作,这些工作都涉及...
guwj
0回复
8709浏览
Mongoing
打破WiredTiger的Logjam(下篇):无等待解决方案
作者:SueLoVerso译者:牟天垒本文的上篇探讨了WiredTiger中WAL的原始算法,该算法用于合并写操作以达到最小化IO的目的。它没有使用耗时的锁,而是分两个阶段使用CAS原子操作来实现。只要每个核运行的线程不太多,这个算法就可以非常好地工作。但当线程数超过该限制时,它为了避免锁而依赖于忙等待的机制会导致logjam——鉴于许多MongoDB的任务都会导致每个核有大量线程,这个问题相当严重。它阻碍了MongoDB将WiredTiger作为v3....
guwj
0回复
5072浏览
Mongoing
打破WiredTiger的Logjam(上篇): 预写式日志
作者:SueLoVerso译者:牟天垒你无法优化代码;优化是针对特定的条件来实现的。当条件改变时,你的优化反而可能会变为瓶颈。这时仔细审查你对这些条件的假设,其中也许就蕴藏着解决方案的关键。WiredTiger的WAL(writeaheadlog)正说明了这一原则。它是高性能存储引擎中的一个关键代码路径,我曾经对其进行了大量优化以避免IO和锁。但当WiredTiger成为MongoDB的存储引擎时,我最初所针对的一些条件变得无效了。当我的一位同事在...
guwj
0回复
3723浏览
Mongoing
一次MongoDB故障的复盘
前段时间笔者的客户遇到了一个主从延迟导致的业务故障,故障的原因本来是较为简单易查的,但是由于客户环境的安全、保密性要求,监控和指标只能间接获知,信息比较片段化与迟缓。不过这反而致使整个排查过程变得更加有分享和借鉴价值。在这里分享给大家希望可以让大家避免踩坑。当时涉及到了主从延迟,慢查询,cursor的不当使用等mongodb问题,本文将从这几个方面全面复盘整个故障的排查过程,其中包含了如下内容:背景(简单介...
guwj
0回复
5882浏览
Mongoing
使用模式构建:计算模式
我们已经在使用模式构建系列研究了各种优化存储数据的方法。现在,我们从另一个角度来看看模式设计。通常,仅仅存储数据并使其可用还不够。当我们可以从数据中计算出值时,数据会变得有用的多。最新AmazonAlexa的总销售收入是多少?有多少观众看了这部最新的大片?这类问题可以从数据库中存储的数据那里得到答案,但必须进行计算。每次在请求时运行这些计算都会是一个极其消耗资源的过程,特别是在大型数据集上。CPU周期、磁盘...
guwj
0回复
5691浏览
Mongoing
暂无内容
1
31
32
33
34
35
36
37
38
39
142
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅