MongoDB 内容分享
文章平均质量分 94
MongoDB是一个基于分布式文件存储 [1]的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以
之乎者也·
机车疾驰在路上,代码飞舞在指尖,热血与逻辑交织,创造属于我的数字世界。
展开
-
JAVA面试题分享五百零七:MongoDB的Journaling日志功能
mongoDB的Journaling日志功能与常见的log日志是不一样的,mongoDB也有log日志,它只是简单记录了数据库在服务器上的启动信息、慢查询记录、数据库异常信息、客户端与数据库服务器连接、断开等信息。Journaling日志功能则是mongoDB里面非常重要的一个功能,它保证了数据库服务器在意外断电、自然灾害等情况发生下数据的完整性。原创 2024-02-16 10:59:21 · 861 阅读 · 0 评论 -
Flink 内容分享(二十一):通过Flink CDC一键整库同步MongoDB到Paimon
通过上面的操作你感受到了吗,通过 Paimon CDC 的入湖程序可以让你全自动的同步业务数据库到 Paimon 里,数据、Schema Evolution、新增表,全部被自动完成,你只用管好这一个 Flink 作业即可。这套入湖程序已经被部署到各行各业,各个公司里,给业务数据带来非常方便的镜像到湖存储里面的能力。上图是使用 Paimon CDC 工具来同步数据,可以看到,当源表发生列的新增后,流作业会自动新增列的同步,并传导到下游的 Paimon 表中,完成 Schema Evolution 的同步。原创 2023-12-31 13:59:15 · 1540 阅读 · 0 评论 -
MongoDB内容分享(八):MongoDB 替换方案之PostgreSQL
在JSON中,要跳过一个文档进行数据读取,需要对此文档进行扫描才行,需要进行麻烦的数据结构匹配,比如括号的匹配,而BSON对JSON的一大改进就是,它会将JSON的每一个元素的长度存在元素的头部,这样你只需要读取到元素长度就能直接seek到指定的点上进行读取了。其实BSON就是JSON的一个扩展,BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。原创 2023-12-09 08:00:06 · 1111 阅读 · 0 评论 -
MongoDB内容分享(七):MongoDB 性能:查询聚合优化
索引的添加只是解决了针对索引字段查询的效率,但是并不能解决查询之后数据的聚合问题。毕竟是对于大量数据的操作,光从IO就已经远超通常的OLTP操作,所以要求达到OLTP操作的速度和并发是不现实的,也是没有意义的。毕竟是对于大量数据的操作,光从IO就已经远超通常的OLTP操作,所以要求达到OLTP操作的速度和并发是不现实的,也是没有意义的。为了定位查询,需要查看当前mongo profile的级别, profile的级别有0|1|2,分别代表意思: 0代表关闭,1代表记录慢命令,2代表全部。原创 2023-12-09 07:50:53 · 1386 阅读 · 0 评论 -
MongoDB内容分享(六):MongoDB 模式构建
当涉及MongoDB时,一个经常被问到的问题是“我如何在MongoDB中为我的应用程序构造模式(schema)?”老实说,这要看情况而定。你的应用程序读操作比写操作多吗?从数据库中读取时需要将哪些数据放在一起?有哪些性能因素需要考虑?文档有多大?它们今后会变成多大?你预计数据会如何增长和扩展?所有这些以及更多的问题,都涉及到如何在MongoDB中设计数据库模式(schema)。有人说MongoDB是无模式的,而实际上模式设计在MongoDB中非常重要。原创 2023-12-08 10:46:49 · 985 阅读 · 0 评论 -
MongoDB内容分享(五):MongoDB DB核心
MongoDB在主节点上应用数据库操作,然后将这些操作记录到optlog中。然后从节点通过异步进程复制和应用(数据同步)这些操作。在local.oplog.rs集合中,所有复制集成员都包含oplog的一个副本用来维护数据库的当前状态。oplog已达到配置的最大大小oplog条目早于配置的小时数。原创 2023-12-08 10:39:11 · 981 阅读 · 0 评论 -
MongoDB内容分享(四):MongoDB WT引擎
可以说WT在事务的实现上另辟蹊径,整个事务系统的实现没有用繁杂的事务锁,而是使用snapshot和MVCC这两个技术轻松的而实现了事务的ACID,这种实现也大大提高了事务执行的并发性。从WT引擎创建事务snapshot的过程中现在可以确定,snapshot的对象是有写操作的事务,纯读事务是不会被snapshot的,因为snapshot的目的是隔离mvcc list中的记录,通过MVCC中value的事务ID与读事务的snapshot进行版本读取,与读事务本身的ID是没有关系。原创 2023-12-08 10:08:24 · 1206 阅读 · 0 评论 -
MongoDB内容分享(三):MongoDB 索引-Index、集群、安全
索引支持在MongoDB中高效地执行查询。如果没有索引,MongoDB必须执行全集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。如果查询存在适当的索引,MongoDB可以使用该索引限制必须检查的文档数。索引是特殊的数据结构,它以易于遍历的形式存储集合数据集的一小部分。索引存储特定字段或一组字段的值,按字段值排序。索引项的排序支持有效的相等匹配和基于范围的查询操作。原创 2023-12-08 10:03:13 · 1137 阅读 · 0 评论 -
MongoDB内容分享(二):MongoDB 常用命令
skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关。sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。可以使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据。原创 2023-12-08 10:00:21 · 871 阅读 · 0 评论 -
MongoDB内容分享(一):MongoDB 相关概念和安装
MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。原创 2023-12-08 09:44:55 · 988 阅读 · 0 评论