本篇博文主要对HyperBase(HBase)、Search(ElasticSearch)的索引类型及具体存储位置进行概要总结,让大家从整体上了解TDH平台中HyperBase和Search索引的管理。后续会在大数据核心原理与实践专栏中对索引相关知识进行详细讲解。

ESSearch索引类型存放位置
在早期ESSearch1.X版本,会将索引存在内存,但之后发现没啥明显提升,就在2.X版本去掉了内存存储方式。故现在最新的ESSearch的索引应当存放在本地磁盘。

具体的文件存储格式有如下几种:
    simplefs
    这是一个随机访问文件的文件存储系统,并发性能较差,多线程下存在性能瓶颈问题。如果我们想对ESSearch索引做持久化,推荐使用niofs。

    NIO FS(NIO文件系统)
    通过NIO将分片索引文件写到文件系统上,允许多线程同时读取文件。

    MMap FS(内存映射文件系统)
    将索引分片存储到文件系统上,再通过映射,将索引文件映射到内存中。map即为映射的意思。不过我们需要注意:索引文件映射到内存过程中,我们需要划分出与被映射文件大小一样的虚拟内存空间。
# 设置Linux虚拟地址空间大小
echo "vm.max_map_count=262144" >> /etc/sysctl.conf && sysctl -p

    MMap FS / NIO FS(缺省值, 即default_fs)
    它会为每个类型的文件选择最好的文件系统。

HBase 索引类型及存放位置

HBase索引分为3种:
    一级索引:即原表RowKey索引。这个当然是存放在原表中(此索引存在HDFS上)
    二级索引:在某个或某些列上建立二级索引,实现基于列的快速条件查询,此索引也是与原表一起存放(此索引存在HDFS上)
    全文索引:HBase底层借助ElasticSearch实现全文索引,而ElasticSearch的索引是存在本地磁盘上的,故HBase的全文索引也是存储在磁盘上。
    (注1:在最新版本,使用默认的存储设置default_fs就行。ESSearch会在Windows的64bit系统上使用 mmapfs,在windows的32bit系统上使用 simplefs ,除此之外默认使用 default_fs (hybrid niofs 和 mmapfs),如Linux。)
    (注2:在商业发行版大数据平台TDH上,也是默认存在本地磁盘,但同时也支持存在HDFS上)

总结
说了这么多,大家只要记住ElasticSearch将索引存储在本地磁盘,HBase一级索引、二级索引存在HDFS上,全文索引存在本地磁盘即可!

原文链接:https://blog.csdn.net/whdxjbw/article/details/81133830

HBase和ElasticSearch索引类型及存储位置的更多相关文章

  1. mysql索引类型(按存储结构划分)

    关于mysql索引类型,网上有很多相关的介绍,给人的感觉很乱.鄙人在翻阅相关书籍后,特意梳理了一下.哪里有不对的地方,欢迎指正! 1. B-Tree索引 它使用B-Tree数据结构来存储数据,实际上很 ...

  2. Elasticsearch - 搜索类型与搜索位置

    一.搜索类型: Elasticsearch同意用户选择其所希望的处理查询的方式. 由于存在一些不同的情形,对其使用不同的搜索类型才是合适的.为了控制查询的运行方式,我们能够在请求中使用search_t ...

  3. elasticsearch 索引 类型 id

    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat logstash_indexer01.conf  input {         redi ...

  4. C语言变量的类型和存储位置

    . C语言变量主要分为全局变量.静态全局变量.局部变量.静态局部变量和寄存器变量.其中静态变量用static关键字进行修饰.程序所占用的内存可以分为以下几个部分: ()代码段-存放程序代码,只读的,不 ...

  5. Elasticsearch索引原理

    转载 http://blog.csdn.net/endlu/article/details/51720299 最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计 ...

  6. 【Java编程思想阅读笔记】Java数据存储位置

    Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...

  7. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  8. 匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置

    0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到“类型”,话题的热度就会立马升温,因为很多似是而非.或者片面的概念常常被人们当做是全面和正确的答案.加之最近在园子看到有人翻译的& ...

  9. mysql中常见的存储引擎和索引类型

    存储引擎 1.      定义 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类 ...

随机推荐

  1. i5 11300H 怎么样 相当于什么水平

    i5-11300H 为 4 核 8 线程,主频 3.1GHz,睿频 4.4GHz,三级缓存 8MBi5-11300H 怎么样看完你就知道了 https://list.jd.com/list.html?

  2. Databricks 第四篇:分组统计和窗口

    对数据分析时,通常需要对数据进行分组,并对每个分组进行聚合运算.在一定意义上,窗口也是一种分组统计的方法. 分组数据 DataFrame.groupBy()返回的是GroupedData类,可以对分组 ...

  3. fastjson反序列化漏洞原理及利用

    重要漏洞利用poc及版本 我是从github上的参考中直接copy的exp,这个类就是要注入的类 import java.lang.Runtime; import java.lang.Process; ...

  4. 【Flutter】功能型组件之颜色和主题

    前言 Color类中颜色以一个int值保存,显示器颜色是由红.绿.蓝三基色组成,每种颜色占8比特,存储结构如下: Bit(位) 颜色 0-7 蓝色 8-15 绿色 16-23 红色 24-31 Alp ...

  5. 在MongoDB中执行查询与创建索引

    实验目的: (1)掌握MongoDB中数据查询的方法: (2)掌握MongoDB中索引及其创建: 实验内容: 一. MongoDB中数据查询的方法: (1)find函数的使用: (2)条件操作符: a ...

  6. 温故而知新--day2

    温故而知新--day2 类 类与对象 类是一个抽象的概念,是指对现实生活中一类具有共同特征的事物的抽象.其实列化后称为对象.类里面由类属性组成,类属性可以分为数据属性和函数属性(函数属性又称为类方法) ...

  7. Java 用java GUI写一个贪吃蛇小游戏

    目录 主要用到 swing 包下的一些类 上代码 游戏启动类 游戏数据类 游戏面板类 代码地址 主要用到 swing 包下的一些类 JFrame 窗口类 JPanel 面板类 KeyListener ...

  8. 【RAC】打完补丁后,发现只有一台rac可以启动,另一台无法启动

    安装11Gr2单机asm后,打完11.2.0.3.7的psu后,发现启动不起来数据库,alert日志内容如下: Errors in file /u01/app/oracle/diag/rdbms/bd ...

  9. 类转json的基类实现

    类转json的基类实现 项目地址 github地址 实现原理 使用反射获取类的属性名和属性内容.具体原理可以自己查一下资料 对一个类调用getClass().getDeclaredFields()可以 ...

  10. 【源码解读】js原生消息提示插件

    效果如下: 关闭message后前后message的衔接非常丝滑,这部分是我比较感兴趣的.带着这个问题先了解下DOM结构,顺便整理下作者的思路. 从DOM里我们可以看到所有的message都在一个容器 ...