首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不推荐在Oracle和MongoDB这样的数据库中使用透明巨型页面?

在Oracle和MongoDB这样的数据库中,不推荐使用透明巨型页面的原因有以下几点:

  1. 性能问题:透明巨型页面是一种内存管理技术,它将内存分为固定大小的页面,当数据库需要读取或写入数据时,会将整个页面加载到内存中。然而,如果数据库中存在大量的巨型页面,会导致内存占用过高,造成性能下降。特别是在并发访问较多的情况下,会增加锁竞争和内存交换的开销,进一步影响性能。
  2. 内存浪费:透明巨型页面将整个页面加载到内存中,即使只需要访问其中一小部分数据。这样会导致内存浪费,尤其是对于大型数据库来说,内存资源是宝贵且有限的。使用透明巨型页面可能会导致内存不足的情况,影响其他数据库操作的执行。
  3. 数据一致性问题:透明巨型页面在读取和写入数据时,需要将整个页面加载到内存中进行操作。如果在操作过程中发生异常或中断,可能会导致数据不一致的情况。这对于需要保证数据完整性和一致性的应用来说是不可接受的。
  4. 系统可靠性问题:透明巨型页面可能会增加系统的复杂性和风险。在使用透明巨型页面时,需要确保数据库和应用程序的兼容性,并进行充分的测试和验证。如果出现问题,可能会导致系统崩溃或数据丢失等严重后果。

综上所述,基于性能、内存利用率、数据一致性和系统可靠性等方面的考虑,不推荐在Oracle和MongoDB等数据库中使用透明巨型页面。对于大规模数据处理和高性能要求的场景,可以考虑其他优化技术和策略,如分页查询、索引优化、缓存机制等来提升数据库性能和效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

--Transparent Hugepages 为什么是众多数据库

透明巨型页面是 transparenet 专用中文释义名词,对于LINUX kernel 来说 page, 页面相当于一个内存unit, (其实对于数据库来说,大部分也是).默认来说是2048KB...那么问题回到一个basement level , 为什么会有 HP THP, 这样东西,大部分应用程序OS 运行在虚拟内存,虚拟内存,虚拟内存就是物理内存映射,相当于地址转换,CPU通过 cpu's...而为什么有些数据库要禁用掉THP ,主要原因是这类数据库大部分访问内存方式是分散,并不是访问连续页面,而这样访问模式,就会造成内存碎片化.访问page 也不是大量连续性....,这样数据库申请使用内存方式也会出现问题,相关损耗. ?...因此,引入了透明巨页(THP)技术。如果启用,它可能会在应用程序实际上“不知道”情况下为应用程序分配巨大页面;因此,透明度。 猜测这也就是PG 为什么支持HP 而建议关闭THP原因之一吧

1.2K20

LinuxHugePage对数据库服务来说为什么如此重要:以PG为例

LinuxHugePage对数据库服务来说为什么如此重要:以PG为例 用户经常因为OOM killer造成数据库崩溃问题来找我们寻求帮助。...我不想用太多连接使这个服务器过载,所以只使用了80个连接进行测试。透明HugePage(THP)已禁用,此处不过多解释为什么将THP用于数据库服务器不是一个好主意。...此处专注解释HugePage背后理论概念,而是专注于影响分析。...THP 通常被认为是通用工作负载常规 HugePages (hugetlbfs) 替代品。但是,鼓励在数据库系统上使用 THP,因为它会导致内存碎片延迟增加。...我想在另一篇文章讨论这个主题,只是想提到这些不是 PostgreSQL 特定问题,而是影响每个数据库系统。例如: 1) Oracle 建议禁用 TPH。

1.2K40

透过 849亿市值数仓 Snowflake,看数据库未来

图 | L 近些年,很多数据库公司上岸,MongoDB市值 216亿美金,Cloudera 市值 45亿美金。而其中最耀眼,非 Snowflake莫属,849亿美金。...回顾数据库发展历史,在数据库商业产品这么丰富年代,Oracle, SQL Server, DB2, MySQL等等,还有大数据产品围追堵截 Spark/Hive/HBase, 更有集成商 Cloudera.../MapR/Amazon RedShift/GCP BigTable 这样巨型平台,为什么会在数仓市场出现这么一匹黑马呢?..., ADB, 腾讯 TDSQL, 华为高斯数据库为什么偏偏 snowflake 会获得这么多资本青睐呢?...而 Snowflake 优点在于,它把存储组件脱离了整个架构,可以部署在 Microsoft Azure 上,也可以使用 Amazon ECS,Google GCP,也来之拒。

98310

基于JSONOracle数据库应用程序开发(与MongoDB兼容)

旨在帮助您了解为什么应用程序开发通常将JSON作为数据持久性格式,并且为什么Oracle数据库JSON功能完全适合解决开发人员需求,这些开发人员寻求一个文档存储来持久保存、查询处理应用程序数据。...在Oracle数据库存储管理JSON文档 Oracle数据库21c版本添加了一个新SQL数据类型“JSON”,它使用优化二进制格式进行快速查询分段更新。...适用于自治数据库Oracle数据库API for MongoDB 所有的Oracle自治数据库 - 包括自治JSON数据库 - 都与MongoDB兼容:为MongoDB编写工具、驱动程序应用程序可以使用...MongoDB本机API连接到Oracle自治数据库,该API将MongoDB数据库操作透明地转换为等效SQL/JSON操作,然后在Oracle数据库上执行这些操作。...开发人员可以继续使用他们MongoDB技能工具,同时还能够在MongoDB集合运行SQL语句。这使得实时SQL分析机器学习可以在JSON数据上进行。

15730

MONGODB Wiredtiger 为什么那么快?

首先看一个可能被看烂了mongodb 整体架构图,从图中可以总结出以下list 1 mongodb 支持行 列存储,目前大部分状态下使用是行存储 2 数据存储在磁盘cache数据格式应是不一样...,并且尽量降低锁,并发之间互斥操作,使得MONGODB 结构相对于其他传统数据库要简单,这也是使得MONGODB 操作相对其他数据库要快一个原因。...这就要提到 in memory ,mongodb 寻址设计并没有使用传统文件系统偏移量作为指针。...(例如 页面的merge splits)都是在后台线程处理 当然有些数据库也在这么做,那wiredtiger 会变得更快原因在于另一个词 no locking no lock manager...所以MONGODB WIREDTIGER 为什么这么快 1 本身架构设计,因为没有事务需要进行逻辑上回滚需求,写入具有原子性 2 大量使用内存方式来处理读写数据 3 对写入数据压缩,对I/o

1.2K20

​Linux内核透明巨型页支持

透明巨型页面支持是另一种使用大页为虚拟内存提供大页支持方法, 该支持自动提升降低页面大小没有hugetlbfs缺点。 目前它只适用于匿名内存映射tmpfs/shmem。...它不需要内存预留,并且尽可能地使用大页(这里唯一可能预留是kernelcore=, 以避免不可移动页面碎片化所有内存,但这样调整不是针对透明大页支持, 它是通用适用于内核中所有动态高阶分配特性...这就是为什么 可以在系统范围内禁用大页面,并且只在内部使用它们MADV_HUGEPAGEmadvise区域。...== 监控使用情况== 当前使用匿名透明页面的数量系统可以通过读取/proc/meminfoAnonHugePages字段来访问。...映射到用户空间文件透明页面数量可用通过读取/proc/meminfoShmemPmdMappedShmemHugePages字段。

2.6K40

MongoDB 2023年度纽约 MongoDB 年度大会话题 -- 企业级从传统数据库到NOSQL,你会更好

, 而我们目的是让ORACLE 滚蛋,因为ORACLE存在让亚马逊领导非常难堪,这样一个又贵有X数据库存在,让亚马逊领导每次都需要在演讲台上重塑,aws 有非常出色数据库服务,然后Larry...(oracle ceo), 也站在讲台上反唇相讥,说既然你有最好数据库服务,为什么ORACLE 是 AWS 最大服务商。...而NoSQL要工作地方传统数据库是不存在矛盾,NoSQL 构建SQL ,对于大规模OLTP,我们将为高速查询优化查询数据模型设计,MongoDB 一样,通过分片进行扩展,同时从 MongoDB...关系数据库是怎么设计,运行维护,实际上在我们AWS进行数据库转换,3000个实例ORACLE ,70%数据查询都是单表查询,实际上很多数据被写入,并没有被读取过,最后我们分析发现10%查询是...在上周我们电话会议上,金融机构Temenos 他们全球金融服务运营完全架设在yugabyte mongodb 两种数据库上,基于之前传统数据库硬件需求,与他们在转换新开发模式使用mongodb

14210

Linux 透明大页 THP 标准大页 HP

对于Oracle数据库使用HugePages可以减少操作系统对页面状态维护,并提高TLB (Translation Lookaside Buffer)命中率。...这允许THP默认设置来提高大多数系统配置性能。但是,建议对数据库工作负载使用 THP。...ORACLE 官方建议在使用 RedHat 6, OEL 6, SLES 11 and UEK2 kernels 时开启透明大页(THP),因为透明大页存在一些问题: 在RAC环境下,透明大页(THP...)会导致异常节点重启性能问题; 在单机环境透明大页(THP)也会导致一些异常性能问题; 标准大页透明大页区别 两者区别在于大页分配机制,标准大页管理是预分配方式,而透明大页管理则是动态分配方式...RAC 同一节点上有两个数据库实例一个 ASMM 管理 ASM 实例,则为这三者之和除以页面大小。

2.3K20

MongoDB 初体验:存储引擎 MMAPv1 与高内存消耗及升级迁移

通过下图关系型数据库对比,我们更好理解MongoDB概念,虽然从 Database 级别锁到 Collection 级别,但是仍然不够: ?...由于MMAPv1使用mmap来将数据库文件映射到内存MongoDB总是尽可能多吃内存,以映射更多数据文件,并且页面的换入换出基本交给OS控制。...在MongoDB源码(wiredtiger_init.cpp),有这样一段,说明了其使用Cache方式。...注释说明,当用户未提供cache Size时,我们选择为系统二进制文件保留 1GB 内存。在程序算法使用 memSizeMB - 1G 之后 60% 作为缓存。 ?...这 Oracle Redo 日志原理相似,MongDB 在数据更新时,先将数据更新写入到日志文件,然后在 Checkpoint 操作开始时,将日志文件记录操作,刷新到数据文件。

1.6K70

原神私服 Grasscutter 配置指南

在疫情五一假期期间,想私下里玩玩可以尝试一下。 服务端可以正常运行于云服务器并支持多账户链接,作者本人推荐这类行为。...版本需求为 4.0+,指南中所使用版本为 5.0.6 Community。MongoDB Compass 可以一并安装便于管理数据库,如果本地有 Navicat 也可以直接使用。...除此之外 MongoDB Atlas 提供免费 MongoDB 云实例,也可以直接进行使用。 JDK 要求特定版本 8u202,其他版本未测试,请至 Oracle 官网下载并安装。...稳定版 v1.1.0 之后要求使用 Java 17+,请至 Oracle 官网下载并安装,或使用微软编译 OpenJDK 版本。...使用类似 mitmproxy Fiddler Classic 软件均可,本指南使用 mitmproxy 8.0 版本。

67K111

MONGODB 内存使用分析与判断内存是否缺少

MONGODB启动后,我们都知道不光加载了二进制文件到内存,同时负责内存分配释放工作,如各个客户端连接请求,默认情况下MONGODB 使用内存分配方法是通过tcmalloc来进行分配...内存(包含分配并未使用) 问题是为什么mongodb wiredTiger 不和 ORACLE , MYSQL innodb 将内存设置为整体内存 60% -80%, 而是50% 不到....2 mongodb 是一个支持MVCC 多版本控制数据库,所以在操作时,数据行多个版本是要存储在内存 3 客户连接,以及聚合操作等内存消耗 那么在MONGODB 持续使用,如何判断内存是否缺少是一个重要事情...3 wiredTiger.cache.pages read into cache 这个值是一个动态值,需要不断判断一个时间间隔这个值变动,例如每秒,这有助于判断当前数据库页面的读取到内存状态是如何...实际上MONGODB 使用中注意连接数连接使用情况,如聚合或者全表扫描场景尽量避免,争取更短小事务在MONGODB 运行,提高数据库性能利用效率。

1.5K30

腾讯云数据库产品介绍

同时TDSQL 也是腾讯云数据库团队维护金融级分布式架构 MySQL/MariaDB 内核分支,在内部业务被广泛使用。...redis高性能以及诸多高级功能使其可以胜任消息队列,任务队列等不同角色。 特性: 使用灵活:提供0.25GB - 4TB规格可选;控制台支持一键扩容,扩容过程无需停止服务。...节省了开发主从系统带来的人力时间成本。 应用场景:适用场景广泛,经典场景是作为缓存数据库使用,存储需要频繁访问热数据,提高读性能。比如存储游戏角色排行榜信息,或者社交软件用户好友信息等。...安全性:重启机器丢数据,双机热备,主备切换对业务透明,跨机架跨交换机部署,具备灾难时回档能力。 应用场景:与redis类似,适用场景广泛,多作为缓存层使用,存储需要频繁访问热数据。...云数据库 MongoDB 腾讯云基于开源非关系型数据库 MongoDB 专业打造高性能分布式数据存储服务,完全兼容 MongoDB 协议,支持 MongoRocks WiredTiger 两种引擎

11.4K10

云时代数据库核心特点

虽然我们尽量想把子服务设计成无状态,但是很多时候状态都是不可避免,我们不得不通过存储层保存状态,业界最主要还是各种数据库,包括 RDBMS NoSQL,比如使用 MySQL、MongoDB、HBase...在云时代,数据量规模有爆发性增长,传统数据库很容易遇到单机存储瓶颈,不得不选用一些集群方案,常见比如 Oracle RAC、 MySQL Sharding 等,而这些集群方案或多或少都有一些令人满意地方...已有的程序基本上不怎么需要修改已有的代码,就可以很自然地接入到云数据库来获得无限 Scale 能力。增减数据库节点,或者节点故障恢复,对于应用层来说完全透明。...这个时候你就要根据业务特点来做判断,如果 MongoDB 本身容量不大,远期业务数据不会增长过快的话,这个时候其实你可以直接使用 MongoDB 服务。...如果真的需要在线从 Oracle 这边分流的话,可以考虑使用 Oracle 触发器,将数据变化记录下来,然后转化为 SQL,同步到 TiDB,当然这需要一定开发工作量。

1.9K00

为首次部署MongoDB做好准备:容量计划监控

MongoDB能够使用本地附加存储固态硬盘(SSD)。 MongoDB大部分磁盘访问模式并没有顺序属性,这样结果便是客户可以通过使用SSD获得巨大性能收益。...MongoDB自动分片应用程序透明度 在系统资源变得有限之前实现分片是非常容易,因此容量规划主动监控在需要成功地扩展应用程序时是非常重要元素。...将应用程序和数据库日志关联起来是非常重要,因为这样才能决定应用程序活动最终是否需要对系统其他问题负责。...如果想要获取更多与监控工具监控内容相关信息,可以查看MongoDB文档监控数据库系统页面。 配置MongoDB 用户应该将配置选项存储到MongoDB配置文件。...在就职于MongoDB之前,Mat是Oracle公司产品管理总监,负责MySQL数据库在Web、电信行业、云和大数据方面的应用。

1.8K80

MONGODB 内存使用分析与判断内存是否缺少

MONGODB启动后,我们都知道不光加载了二进制文件到内存,同时负责内存分配释放工作,如各个客户端连接请求,默认情况下MONGODB 使用内存分配方法是通过tcmalloc来进行分配...内存(包含分配并未使用) 问题是为什么mongodb wiredTiger 不和 ORACLE , MYSQL innodb 将内存设置为整体内存 60% -80%, 而是50% 不到....2 mongodb 是一个支持MVCC 多版本控制数据库,所以在操作时,数据行多个版本是要存储在内存 3 客户连接,以及聚合操作等内存消耗 那么在MONGODB 持续使用,如何判断内存是否缺少是一个重要事情...3 wiredTiger.cache.pages read into cache 这个值是一个动态值,需要不断判断一个时间间隔这个值变动,例如每秒,这有助于判断当前数据库页面的读取到内存状态是如何...实际上MONGODB 使用中注意连接数连接使用情况,如聚合或者全表扫描场景尽量避免,争取更短小事务在MONGODB 运行,提高数据库性能利用效率。

1.7K20

SpringBoot详细研究-02数据访问

Springboot对数据访问部分提供了非常强大集成,支持mysql,oracle等传统数据库同时,也支持Redis,MongoDB等非关系型数据库,极大简化了DAO代码,尤其是Spring Data...,查询必要字段,但是需要维护SQL查询结果集映射,而且数据库移植性较差,针对不同数据库编写不同SQL。...(需要时再查阅,个人不是很推荐在关系型数据库使用jpa,但NOSQL还是很推荐) 声明式事务:给Config类添加@EnableTransactionManagement即可,而springboot...@Query注解,这样可以实现多表查询;删除修改加上@Modifying;添加@Transactional支持事务,可以设置查询超时等配置项。...oracle数据库需要自己下载ojdbc并安装到maven。

2.7K90

分库分表,我为什么要用Shardingsphere呢?

第一阶段:它是当当网内部应用框架ddframe并从关系型数据库模块dd-rdb中分离出来数据库水平分片框架,并实现透明数据库分库分表访问。...它使用客户端直连数据库,以jar包形式提供服务,无需额外部署依赖,可理解为增强版JDBC驱动,完全兼容JDBC各种ORM框架。...Mycat发展到目前版本,已经不是一个单纯 MySQL代理了,它后端可以支持 MySQL、SQL Server、 Oracle、DB2、PostgreSQL等主流数据库,也支持 MongoDB这种新型...试想一下,用户表存放在 MemSQL 上,大量读频率远超过写频率数据如订单快照数据存放于 InnoDB ,一些日志数据存放于 MongoDB ,而且还能把 Oracle 表跟 MySQL 表做关联查询...Zebra Zebra是一个基于JDBC API协议上开发出高可用、高性能数据库访问层解决方案,是美团点评内部使用数据库访问层中间件。

1.2K20

腾讯云学院直播课丨云数据库之从青铜到王者

曾负责过腾讯视频、腾讯网、腾讯新闻、腾讯体育等多款腾讯明星产品数据库架构设计运维工作。...本次直播,讲师从数据库基础实践入手,讲述数据库核心知识与云数据库实战案例,帮助云数据库开发人员,梳理云数据库开发使用各种问题。...关系型数据库:MySQL,PostgreSQL是开源关系型数据库典型代表;SQL Server,Oracle,DB2是商业关系型数据库代表。...其中使用较多数据库分别是: MongoDB,是基于分布式文件存储开源数据库系统,提供可扩展高性能数据存储解决方案,将数据存储为文档; Redis,是KV存储系统,Key为字符串类型,只能通过Key...image.png NewSQL:是现代关系型数据库,能够提供在线事务处理能力,具备NoSQL扩展性。NEW在新架构、针对SQL引擎进行了高度优化、提供透明分片。

1.2K1911

MongoDB 有那么难吗? 你死不死 ! (语言粗暴,心里脆弱别看)

这是从宏观层面来,如果从微观层面来看数据库产生问题可以总结为: 1 开发没有严格数据库开发规范,在表设计,字段设计,上线前SQL语句细节,对应索引建立都没有要求,导致乱糟糟上线后处理和解决问题...2 在没有分析业务需求和预估数据承载力情况下,使用了错误数据库架构,导致系统运行后期问题,数据库无法承受数据量查询方式之间矛盾,导致DBA工作量加大 当然世界之大,无奇有问题点很多,这里不一一列举...在当下业务数据量处理,大部分系统都有日志需求,而很多架构下mongodb 充当快速接受大量数据处理过期数据责任,这也导致即使接触到mongodb 的人员对于mongodb 关注重视等于0 或负数...部分人对于MongoDB 在没有深入使用前就是这样看法想法。 当然这很自然,普通的人对于所谓了解但陌生事务大多这样看,而越是深入,会发出我怎么就不会,怎么就这么难得一些情绪表达。...MongoDB 生产上我用就是单机,没有问题 对没有问题,我看你染色体有问题,人间是XY YY,你是ZZZ,你没有问题代表应该这样用,你这样用会不会丢数据,有没有这样可能你自己清楚吗,为什么官方要求生产就要

8710
领券