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
头条二面: 详解一条 SQL 的执行过程
前言天天和数据库打交道,一天能写上几十条SQL语句,但你知道我们的系统是如何和数据库交互的吗?MySQL如何帮我们存储数据、又是如何帮我们管理事务?....是不是感觉真的除了写几个「selectfromdual」外基本脑子一片空白?这篇文章就将带你走进MySQL的世界,让你彻底了解系统到底是如何和MySQL交互的,MySQL在接受到我们发送的SQL语句时又分别做了哪些事情。MySQL驱动我们的系统在和MySQL数据库进行通信的时候,总不可能是平白...
danielmou
0回复
5275浏览
SQL
使用模式构建:模式版本控制模式
有一种说法,生命中唯一不变的东西就是变化。这同样适用于数据库模式。我们会想要获取我们曾经认为不需要的信息。或者一些新上线的服务需要包含在数据库记录中。不管变更背后的原因是什么,一段时间之后,我们不可避免地需要对应用程序中的底层模式设计进行更改。虽然这经常会在传统的表格数据库系统中带来一些挑战甚至是麻烦,但在MongoDB中,我们可以使用模式版本控制来简化这一过程。如前所述,在一个表格式数据库中更新数据...
guwj
0回复
4722浏览
MongoDB
MongoDB用户和角色解释系列(上)
1、介绍本文讨论保护MongoDB数据库所需的访问控制。具体来说,我们可以使用这些特性来确保只有经过授权的用户才能访问数据库。每个MongoDB用户应该只能访问他们在组织中所扮演的角色所需要的数据,这由组织中负责管理数据安全的人员来决定。这是管理数据和遵守国际要求所必需的良好特质。1.1访问控制访问控制确保访问数据库的人员得到明确的标识,并且能够访问、更新或删除他们有权访问的数据。这是我们将在本文中讨论的主题。...
guwj
0回复
5817浏览
MongoDB
MongoDB安全权威指南
想象一下这样的场景:当工作劳累了一天,你已经准备好收拾行李回家的时候,下面这句话突然冒了出来:突然一种沉重的感觉油然而生,这个不可能呀,怎么会发生在我身上呢!然而,您公司的数据库中的真实数据被删除,并被黑客将数据备份到另一台服务器。欢迎来到MongoDB启示录!从2016年12月到2017年第一季度,这样的故事太常见。2017年第一季度,近3万个MongoDB数据库被黑客入侵、删除,并提出了赎金要求。虽然在大多数情况下,黑客...
guwj
0回复
4069浏览
MongoDB
完美数据迁移-MongoDB Stream的应用
背景介绍最近微服务架构火的不行,但本质上也只是风口上的一个热点词汇。作为笔者的经验来说,想要应用一个新的架构需要带来的变革成本是非常高的。尽管如此,目前还是有许多企业踏上了服务化改造的道路,这其中则免不了”旧改”的各种繁杂事。所谓的”旧改”,就是把现有的系统架构来一次重构,拆分成多个细粒度的服务后,然后找时间升级割接一把,让新系统上线。这其中,数据的迁移往往会成为一个非常重要且繁杂的活儿。>拆分...
guwj
0回复
6473浏览
Mongoing
使用Docker和Kubernetes将MongoDB作为微服务运行
MongoDB是NoSQL排名第一的数据库,Docker是最流行的容器引擎,Kubernetes是谷歌开源的容器编排工具!Kubernetes和Docker使MongoDB的开发运维部署变得更加简单和强大。1Docker背景介绍想快速安装MongoDB吗?现在只需要执行一个Docker命令,就能快速启动一个轻量级,独立的沙盒;在多个不同的服务器环境中搭建集群,快速部署相同的应用?使用Docker容器会非常的简单,构建自己的Docker容器映像,让开发,测试,运营和支持团队启动...
guwj
0回复
5798浏览
MongoDB
MongoDB分片到副本集改造实践
背景生产线上使用MongoDBSharidng的场景非常多,但由于业务初期评估不到位或者业务发展不符合预期,为了管理起来更方便,可能需要将Sharding改造为复制集。我就针对生产级业务环境需求提供最小影响服务将分片改造为复制集(含减分片场景)的解决方案。首先,我提供两种可选方案:>1)如果有同步工具支持,可以选择从分片全量+增量的方式同步到复制集,然后选个时间点切换;>2)从集群中减分片(removeShard),最后只保留一个shar...
guwj
0回复
4979浏览
MongoDB
使用模式构建:文档版本控制模式
数据库,例如MongoDB,非常擅长查询大量数据并进行频繁更新。然而,在大多数情况下,我们只针对数据的最新状态执行查询。那如果有些场景下我们需要查询数据的以前状态呢?如果我们需要一些文档的版本控制功能怎么办?这就是我们可以使用文档版本控制模式的地方。这个模式的关键是保持文档的版本历史记录处于可用状态。我们可以构建一个专用的版本控制系统和MongoDB配合使用。这个系统用于处理少数文档的更改,而MongoDB用于处理...
guwj
0回复
5720浏览
MongoDB
MongoDB事务模型分析
本文对于Mongodb上层事务中会让人困惑的几点进行源码层面的分析mongodb的写操作(insertupdatedelete)提供的“单行一致性”的具体含义,如何做到的?为何db.coll.count()在宕机崩溃后经常就不准了。mongodb查询操作的事务隔离级别。写操作的事务性Mongodb的数据组织在了解写操作的事务性之前,需要先了解mongo层的每一个table,是如何与wiredtiger层的table(btree)对应的。mongo层一个最简单的table包含一个ObjectId(id)索引...
guwj
0回复
4638浏览
Mongoing
使用模式构建:近似值模式
假设现在有一个相当规模的城市,大约有3.9万人。人口的确切数字是相当不稳定的,人们会搬入搬出、有婴儿会出生、有人会死亡。我们也许要花上整天的时间来得到每天确切的居民数量。但在大多数情况下,39,000这个数字已经“足够好”了。同样,在许多我们开发的应用程序中,知道“足够好”程度的数字就可以了。如果一个“足够好”的数字就够了,那么这就是一个应用近似值模式的好机会。近似值模式在所需要的计算非常有挑战性或消耗...
guwj
0回复
4710浏览
Mongoing
微服务下的数据架构
前言:微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务,而本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮助大家在构建微服务架构时,提供一个从数据方面的视角:微服务定义微服务的优势及架构特点微服务架构下的数据设计选择一个合适的数据库什么是微服务?按照MartinFowler的定义,微服务是一个软件架构模式,通过开发一系列的小型服务的方...
guwj
0回复
6596浏览
Mongoing
技术干货 | MongoDB 偶遇孤儿文档及处理方法
孤儿文档的形成有2种原因:①正常的shard之间chunk均衡迁移,会产生孤儿文档,这个孤儿文档会在迁移结束后自动异步删除。②shard之间发生chunk均衡迁移的过程中,其中一些副本集发生failover,可能会导致迁移失败,产生孤儿文档。定位问题使用环境:MongoDB4.2.9分片集群研发反馈通过id查询2条数据,但实际返回了3条,并且这个id是唯一的,具体问题如下:接下来,DBA在mongos上查询如下结果(结果是2条):这个结果明显和研发查...
guwj
0回复
6277浏览
Mongoing
技术干货 | 如何利用MongoDB Change Streams 实现数据实时同步?
当前实时数据同步的应用场景较多,实现方式主要有两种,一是数据库厂家本身提供了实时数据捕获工具,如Oracle的OGG等;另外一种是实时解析数据库的事务日志,获取到实时变化的数据后进行同步,如FlinkCDC等。对于MongoDB复制集来说,默认情况下,成员间通过Oplog实现的数据同步是有延迟的。因此,为了实现数据的实时同步,且能将数据同步到异构系统中,从3.6版本开始,MongoDB提供了ChangeSteams功能,允许用户非常方便地将实时...
guwj
0回复
6583浏览
Mongoing
优化MongoDB复合索引
作者:A.JesseJiryuDavis译者:孔德雨对于一个MongoDB的复杂查询,如何才能创建最好的索引?在本篇文章中,我将展现一种给读请求定制的索引优化方法,这种方法会考虑读请求中的比较,排序以及范围过滤运算,并展示符合索引中字段顺序的最优解。我们将通过研究explain()命令的输出结果来分析索引的优劣,并学习MongoDB的索引优化器是如何选择一个索引的。构建MongoDB使用场景假设我们现在要基于MongoDB做一个类似于Disqus的评论...
guwj
0回复
6167浏览
Mongoing
通过Kafka, Nifi快速构建异步持久化MongoDB架构
本文主要讨论这几个问题:基本架构适用场景搭建步骤小结基本架构本文将描述如何利用ApacheKafka(消息中间件),ApacheNifi(数据流转服务)两个组件,通过Nifi的可视化界面配置,快速构建异步持久化MongoDB架构。Kafka和Nifi都是Apache组织下的顶级开源项目。其中Kafka来自LinkedIn,是一个高性能的分布式消息系统。Nifi来自NSA(美国国家安全局),是一个功能强大,提供可视化配置,支持分布式的数据流转服务(不仅仅是一个ETL工具)...
guwj
0回复
5977浏览
Mongoing
深入解析MongoDB Plan Cache
前段时间笔者遇到一个MongoBDPlanCache的bug,于是深究了下MongoDB优化器相关源码。在这里分享给大家,一方面让大家知道MongoDB优化器工作原理,一方面就是避免踩坑。首先帖一下笔者反馈给官方的bug地址:https:jira.mongodb.orgbrowseSERVER34785注意目前官方仍在修复中,最新动态可参考:https:jira.mongodb.orgbrowseSERVER32452接下来我们就进入正题,本文分为以下4个章节:背景MongoDB生成执行计划是如何...
guwj
0回复
4763浏览
Mongoing
使用mlaunch和m快速搭建MongoDB测试集群
前言不知道大家在使用MongoDB的时候有没有遇到突然想要一个集群但是手边又没有的时候?特别是我已经升级到4.0了,突然想要一个3.2的集群怎么办?然后去下载,改配置文件,启动,修改复制集,添加分片,一番折腾弄好了连自己想干什么都忘了。本文中我们就来聊一聊如何使用mlaunch和m两个工具快速搭建一个MongoDB测试集群。准备工作安装mtoolsmtools是用于MongoDB的一系列工具,mlaunch就是其中用于快速启动MongoDB的一...
guwj
0回复
4583浏览
Mongoing
时间序列数据和MongoDB:第一部分 - 简介
作者:RobertWalters译者:刘东华(MartinLiu)时间序列数据日益成为现代应用的核心想想物联网,股票交易,点击流,社交媒体等。随着从批量处理系统向实时系统的转变,有效捕获和分析时间序列数据可以使组织在竞争对手之前更好地检测和响应事件,或提高运营效率以降低成本和风险。使用时间序列数据通常与常规应用程序数据不同,您应该遵循最佳实践。本系列博客旨在提供这些最佳实践,帮助您在MongoDB上构建时间序列应用程序:介绍...
guwj
0回复
5779浏览
Mongoing
浅析MongoDB中的意向锁
01意向锁,解决的问题成熟的数据库设计中,需要一个模块对资源的并发控制进行管理。意向锁就是实现资源并发控制管理的经典方式。在讨论它的概念与设计前,我们先举几个MongoDB的经典场景。mongoDB默认是行级并发,我们希望多行并发读写互不影响,但是我们又希望对在dropCollection时,不能有任何对表的读写在操作,这个“不希望”也是双向的,即在对表并发读写时,我们也不希望dropCollection在操作。在执行dbStats命令时,希望...
guwj
0回复
3510浏览
Mongoing
一文打尽分布式系统的数据分片难题
分布式系统,尤其是分布式存储系统,需要解决的两个最主要的问题即数据分片和数据冗余,下图形象生动地解释了其概念和区别:图片来源于:http:book.mixu.netdistsysintro.html其中数据A、B即属于数据分片,原始数据被拆分成两个正交子集分布在两个节点上。而数据集C属于数据冗余,同一份完整的数据在两个节点都有存储。当然,在实际的分布式系统中,数据分片和数据冗余一般都是共存的。本文主要讨论数据分片的三个问题:如何做...
guwj
0回复
5411浏览
Mongoing
暂无内容
1
30
31
32
33
34
35
36
37
38
142
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅