首页
学习
活动
专区
工具
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.4K20

Linux中的HugePage对数据库服务来说为什么如此重要:以PG为例

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

1.4K40
  • 透过 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,也来之不拒。

    1K10

    基于JSON的Oracle数据库应用程序开发(与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数据上进行。

    23530

    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.3K20

    ​Linux内核透明巨型页支持

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

    2.8K40

    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

    18210

    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 实例,则为这三者之和除以页面大小。

    3.1K20

    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.7K70

    原神私服 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 版本。

    73K111

    腾讯云数据库产品介绍

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

    11.6K10

    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.8K30

    云时代数据库的核心特点

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

    2K00

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

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

    1.9K80

    SpringBoot详细研究-02数据访问

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

    2.8K90

    分库分表,我为什么要用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.5K20

    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.9K20

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

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

    1.3K1911

    一种数据库打天下?开源数据库选型应该注意什么?

    NoSQL对于数据库的扩展和高可用是它的强项。 那为什么NoSQL能够有可扩展和高可用? ?...这些数据库非常成熟,可以处理包含大量关系的数据,并且拥有大量知道如何使用它们的工具和应用程序生态系统。 在文档数据库中可能很难使用多对多关系,但是在关系型数据库中这非常简单。...它们的差别在于处理数据的方式:在键值数据库中,数据是对数据库不透明的;而面向文档的数据库系统依赖于文件的内部结构,它获取元数据以用于数据库引擎进行更深层次的优化。...这样导致对数据库的频繁交付和相应要是非常高。那引入缓存技术,在内存中存储数据,防止高并发影响数据库性能,减少数据库压力,并提高查询速度。 ?...03 问题和挑战 1. 随着数据库数量多,不标准,运维低效:当前数据库,部署在不同环境下,使用不同的版本,使得数据库管理困难,运维工作量大,效率低,故障率高。 2.

    78120
    领券