• 等级
  • 2458158 访问
  • 319 原创
  • 1 转发
  • 430 排名
  • 15 评论
  • 10 获赞

MongoDB 入门教程实战学习笔记-46-mongo 分片组件之范围分片

范围分片基于范围的分片涉及将数据划分为由分片键值确定的连续范围。在此模型中,具有“close”分片键值的文档可能位于相同的块或分片中。这允许有效查询,其中读取连续范围内的目标文档。但是,读取和写入性能可能会随着分片密钥选择不当而降低。请参阅碎片键选择。如果没有配置其他选项(如散列分片或区域所需的选项),则基于范围的分片是默认的分片方法。分片键选择当分片键显示以下特征时,远程分片最...

2019-01-18 10:21:34

MongoDB 入门教程实战学习笔记-45-mongo 分片组件之 hash 分片

hashedsharding散列分片使用散列索引在共享群集中分区数据。散列索引计算单个字段的哈希值作为索引值;此值用作分片键。散列分片在分片群集中提供更均匀的数据分布,但代价是减少了目标操作与广播操作。后哈希,具有“关闭”分片键值的文档不太可能在同一块或分片上-mongos更有可能执行广播操作以满足给定的远程查询。mongos可以将具有相等匹配的查询定位到单个分片。TIPS...

2019-01-18 10:20:07

MongoDB 入门教程实战学习笔记-44-mongo 分片组件之 shard key 分片键

ShardKeys分片键确定集合的分片中集合文档的分布。分片键是索引字段或索引化合物字段,它们存在于集合中的每个文档中。MongoDB使用分片键值范围对集合中的数据进行分区。每个范围定义非重叠的分片键值范围,并与块相关联。MongoDB尝试在群集中的分片之间均匀分布块。分片键与块分布的有效性直接相关。请参阅选择分片键。重要分片集合后,分片键和分片键值是不可变的;即:您...

2019-01-18 10:19:05

MongoDB 入门教程实战学习笔记-43-mongo 分片组件之 Ruoter

mongosMongoDBmongos实例将查询和写入操作路由到分片集群中的分片。mongos从应用程序的角度提供了分片集群的唯一接口。应用程序永远不会与分片直接连接或通信。mongos通过缓存配置服务器中的元数据来跟踪哪些数据在哪个分片上。mongos使用元数据将操作从应用程序和客户端路由到mongod实例。mongos没有持久状态并且消耗最少的系统资源。最常见的做法是在与应用程...

2019-01-18 10:17:49

MongoDB 入门教程实战学习笔记-42-mongo 分片组件之 Config Server

ConfigServer重要从3.4开始,不再支持使用不推荐使用的镜像mongod实例作为配置服务器(SCCC)。在将分片群集升级到3.4之前,必须将配置服务器从SCCC转换为CSRS。要将配置服务器从SCCC转换为CSRS,请参阅MongoDB3.4手册将配置服务器升级到副本集。配置服务器存储分片集群的元数据。元数据反映了分片集群中所有数据和组件的状态和组织。元数据包括每个分片...

2019-01-18 10:16:36

MongoDB 入门教程实战学习笔记-41-mongo 分片组件之 shards

shards分片包含分片群集的分片数据子集。集群的分片一起保存集群的整个数据集。从MongoDB3.6开始,必须将分片部署为副本集以提供冗余和高可用性。用户,客户端或应用程序应仅直接连接到分片以执行本地管理和维护操作。在单个分片上执行查询仅返回数据的子集。连接到mongos以执行集群级操作,包括读取或写入操作。重要MongoDB不保证任何两个连续的块驻留在单个分片上。主分片...

2019-01-18 10:15:24

MongoDB 入门教程实战学习笔记-40-mongo 分片组件

组件MongoDB分片群集包含以下组件:分片每个分片包含分片数据的子集。从MongoDB3.6开始,必须将分片部署为副本集。mongosmongos充当查询路由器,提供客户端应用程序和分片集群之间的接口。配置服务器配置服务器存储群集的元数据和配置设置。从MongoDB3.4开始,配置服务器必须部署为副本集(CSRS)。生产配置在生产群集中,确保数据冗余并确保系...

2019-01-18 10:13:48

MongoDB 入门教程实战学习笔记-39-mongo sharding 分片

MongoShardingMongoDBAtlas使用最佳实践实现分片,允许您通过GUI扩展群集。配置服务器和查询路由器的部署和管理是完全自动化的。如果您有一个现有的分片MongoDB部署,您可以学习如何将其迁移到Atlas以获得完全管理的分片和其他仅限Atlas的功能。垂直水平缩放分片是一种跨多台机器分发数据的方法。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部...

2019-01-18 10:12:21

java 日志脱敏框架 sensitive-v0.0.4 系统内置常见注解,支持自定义注解

项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。特性基于注解的日志脱敏。可以自定义策略实现,策略生效条件。常见的脱敏内置方案。java深拷贝,且原始对象不用实现任何接口。支持用户自定义注解。自定义注解maven导入<depend...

2019-01-18 10:05:08

java 日志脱敏框架 sensitive-新版本0.0.2-深度拷贝,属性为对象和集合的支持

项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。用户也可以基于自己的实际需要,自定义注解。特性基于注解的日志脱敏可以自定义策略实现,策略生效条件常见的脱敏内置方案java深拷贝,且原始对象不用实现任何接口。快速开始maven导入<d...

2019-01-11 00:34:59

java 虚拟机(jvm)-22-JVM GC 其他影响垃圾回收的因素

最终确定和弱,软和幻影引用某些应用程序通过使用finalization和weak,soft或phantom引用与垃圾收集进行交互。这些功能可以在Java编程语言级别创建性能工件。一个例子是依靠finalization来关闭文件描述符,这使得外部资源(描述符)依赖于垃圾收集的快速性。依靠垃圾收集来管理内存以外的资源几乎总是一个坏主意。请参阅如何处理JavaFinalization的内存保留问...

2019-01-05 13:15:48

java 虚拟机(jvm)-21-JVM GC G1 垃圾收集器

Garbage-FirstGarbageCollectorGarbage-First(G1)垃圾收集器的目标是具有大量内存的多处理器计算机。它试图以高概率满足垃圾收集暂停时间目标,同时在几乎不需要配置的情况下实现高吞吐量。G1旨在使用当前目标应用程序和环境提供延迟和吞吐量之间的最佳平衡,其功能包括:堆大小最多为10GB或更大,超过50%的Java堆占用实时数据。对象分配和促销...

2019-01-05 13:14:24

java 虚拟机(jvm)-20-JVM GC CMS 垃圾收集器

最常见的concurrent收集器大多数并发收集器同时执行部分工作到应用程序,因此他们的名字。JavaHotSpotVM包括两个主要并发的收集器:并发标记扫描(CMS)收集器:此收集器适用于喜欢较短垃圾收集暂停且可以与垃圾收集共享处理器资源的应用程序。垃圾优先(G1)垃圾收集器:此服务器式收集器适用于具有大量内存的多处理器计算机。它以高概率满足垃圾收集暂停时间目标,同时实现高吞吐量...

2019-01-05 13:12:39

java 虚拟机(jvm)-19-JVM GC Parallel Collector Java 并行垃圾收集器

TheParallelCollector并行收集器(此处也称为吞吐量收集器)是类似于串行收集器的分代收集器。串行和并行收集器之间的主要区别在于并行收集器具有多个线程,用于加速垃圾收集。使用命令行选项-XX:+UseParallelGC启用并行收集器。默认情况下,使用此选项,可以并行运行次要集合和主要集合,以进一步减少垃圾收集开销。并行收集器垃圾收集器线程数在具有<N>硬...

2019-01-03 20:23:50

java 虚拟机(jvm)-18-JVM GC 影响 GC 的因素

影响垃圾收集性能的因素影响垃圾收集性能的两个最重要的因素是总可用内存和专用于年轻代的堆的比例。总堆影响垃圾收集性能的最重要因素是总可用内存。由于集合在代数填满时发生,因此吞吐量与可用内存量成反比。注意以下有关堆的增长和收缩,堆布局和默认值的讨论使用串行收集器作为示例。虽然其他收藏家使用类似的机制,但此处提供的详细信息可能不适用于其他收藏家。有关其他收集器的类似信息,请参阅相应主...

2019-01-03 20:22:35

java 虚拟机(jvm)-17-JVM GC 实现

垃圾收集器实现JavaSE平台的一个优势是它可以保护开发人员免受内存分配和垃圾收集的复杂性的影响。但是,当垃圾收集是主要瓶颈时,了解实现的某些方面很有用。垃圾收集器对应用程序使用对象的方式做出假设,这些可以反映在可调参数中,可以调整这些参数以提高性能,而不会牺牲抽象的功能。世代垃圾收集对象被认为是垃圾,当运行程序中任何其他活动对象的任何引用无法再访问它时,VM可以重用它的内存。理论上...

2019-01-03 20:21:04

java 虚拟机(jvm)-16-Java GC Ergonomics 人体工程学

人机工程学(Ergonomics)人机工程学是Java虚拟机(JVM)和垃圾收集启发式(例如基于行为的启发式)提高应用程序性能的过程。JVM为垃圾收集器,堆大小和运行时编译器提供与平台相关的默认选择。这些选择符合不同类型应用程序的需求,同时需要较少的命令行调整。此外,基于行为的调优动态地优化堆的大小以满足应用程序的指定行为。本节介绍这些默认选择和基于行为的调整。在使用后续部分中描述的更...

2019-01-03 20:19:49

[java 虚拟机(jvm)-15-JVM GC 概览

垃圾收集调整简介从桌面上的小型applet到大型服务器上的Web服务,各种各样的应用程序都使用Java平台标准版(JavaSE)。为了支持这种多样化的部署,JavaHotSpotVM提供了多个垃圾收集器,每个垃圾收集器都旨在满足不同的需求。JavaSE根据运行应用程序的计算机的类选择最合适的垃圾收集器。但是,这种选择对于每个应用程序可能都不是最佳的。具有严格性能目标或其他要求的用户...

2019-01-03 20:18:13

java 虚拟机(jvm)-14-JVM 运行时期优化

概述JIT即时编译器(JIT=justintimecompiler)定义:为了提高热点代码的执行效率,在运行时,虚拟机将把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器;事实上,现在许多主流的商用虚拟机,都同时包含有解释器与编译器,解释器与编译器两者各有优势。与解释器相比,编译器会将常运行到的代码编译成本地代码区实现,可以获取更高的执行...

2019-01-03 20:17:01

java 虚拟机(jvm)-13-JVM 编译时期优化

JVM编译器优化JVM的编译器可以分为三个编译器:1、前端编译器:把.java转变为.class的过程。如Sun的Javac、EclipseJDT中的增量式编译器(ECJ)。2、JIT编译器:把字节码转变为机器码的过程,如HotSpotVM的C1、C2编译器。3、AOT编译器:静态提前编译器,直接将*.java文件编译本地机器代码的过程。Javac编译器Javac编译器本身是由Ja...

2019-01-03 20:15:59

叶止水

Github: https://github.com/houbb 邮箱:1060732496@qq.com
关注
  • 计算机软件
  • 中国 上海 松江区
奖章
  • 专栏达人
  • 持之以恒