`
- 浏览:
47345 次
- 性别:
- 来自:
武汉
-
1、列簇的设计
- 列簇尽量少,最好不超过3个。因为每个列簇是存在一个独立的HFile里的,flush和compaction操作都是针对一个Region进行的,当一个列簇的数据很多需要flush的时候,其它列簇即使数据很少也需要flush,这样就产生的大量不必要的io操作。
- 在多列簇的情况下,注意各列簇数据的数量级要一致。如果两个列簇的数量级相差太大,会使数量级少的列簇的数据扫描效率低下。
- 将经常查询和不经常查询的数据放到不同的列簇。
- 因为列簇和列的名字会存在HBase的每个Cell中,所以他们的名字应该尽可能的短。比如,用f:q代替mycolumnfamily:mycolumnqualifier
2、rowkey的设计
- 避免使用递增的数字或时间做为rowkey。
- 如果rowkey是整型,用二进制的方式比用string来存储更节约空间
- 合理的控制rowkey的长度,尽可能短,因为rowkey的数据也会存在每个Cell中。
- 如果需要将表预分裂为多个region是,最好自定义分裂的规则。
参考文献:
- http://www-01.ibm.com/support/knowledgecenter/SSPT3X_2.1.2/com.ibm.swg.im.infosphere.biginsights.analyze.doc/doc/bigsql_designhints.html
- http://hbase.apache.org/book/number.of.cfs.html
- http://hbase.apache.org/book/columnfamily.html
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本教程介绍了HBase Schema的设计原则和一些具体案例分析。 ### HBase Schema设计要点 #### 1. HBase与RDBMS的区别 - **元数据具有版本描述**:HBase的元数据单元(cell)可以包含时间戳,这意味着可以对数据版本进行...
- **行**:介绍 HBase 中行键(row key)的概念及其设计原则。 - **列族**:说明 HBase 中列族(column family)的作用和使用场景。 - **Cells**:讲解 Cells 的含义及其在 HBase 中的地位。 - **Data Model Operations*...
- **RowKey设计**:深入探讨了RowKey的设计原则及其对查询性能的影响。 - **版本数量与数据类型**:讨论了版本数量设置对性能的影响,以及HBase支持的数据类型。 - **Join操作与第二索引**:虽然HBase本身不支持...
- **列族(Column Family)**:探讨列族的设计原则与使用场景。 - **Cell**:解释Cell的基本概念及其作用。 - **数据模型操作**:包括插入、查询等基本操作。 - **版本**:介绍HBase中版本控制机制。 - **排序**:讨论...
这里为你收集整理了关于毕业设计、课程设计可参考借鉴的资料一份,质量非常高,如果你投入时间去研究几天相信肯定对你有很大的帮助。到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、...
这个文档"**Hadoop期末整理.docx**"涵盖了Hadoop生态系统中的一些关键组件,包括HDFS、HBase、Hive、Sqoop和ZooKeeper。让我们深入探讨这些知识点。 1. **HDFS(分布式文件系统)**:Hadoop的基石,它是一种分布式...
设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒转原则 接口隔离原则 迪米特原则 设计模式 结构模式 适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 创建模式 抽象工厂...
可能使用的技术包括Web开发框架(如React、Vue)、数据可视化库(如D3.js、ECharts)以及交互设计原则,确保用户能够轻松理解和解读数据。 系统集成是另一大挑战,需要将各种硬件设备、软件组件和云服务无缝连接...
这里,我们重点探讨的是数据库相关的知识点,包括基本概念、类型、设计原则以及常用的操作与管理。 1. **基本概念** - **关系型数据库**: 最常见的数据库类型,基于关系模型,如MySQL、Oracle、SQL Server等,以...
同时,理解数据库设计原则,如范式理论,有助于创建高效、规范的数据模型。 四、系统设计与实现 系统设计涉及架构设计、模块划分、接口定义等,实现则需要编写代码来实现设计。在本项目中,学生需要考虑如何将数据...
1. **HDFS**:HDFS的设计原则是“一次写入,多次读取”(WORM),它以块为单位存储数据,每个块默认大小为128MB,可以配置。数据块通常在多个节点上复制,以提供容错能力。NameNode是HDFS的元数据管理节点,负责维护...
设计原则与模式是Java研发岗位的重要考察点,掌握六大设计原则以及熟练使用至少5-10个设计模式是基本要求,其中包括单例模式、策略模式、模板方法、代理模式、适配器模式、迭代器模式、责任链模式、Builder模式、...
分布式系统的设计原则,如CAP定理(一致性、可用性和分区容错性)和BASE理论(基本可用、软状态、最终一致),也是面试中常见的问题。同时,面试官可能还会询问关于CAP如何在实际项目中权衡,以及如何设计高可用和高...
- 在建设过程中,需要考虑数据仓库的设计原则、数据模型构建、数据质量和安全、性能优化等问题。 4. 猫眼数据平台建设 - 猫眼数据平台的建设是大数据应用的基础,它包括了数据采集、数据处理流程、数据应用等关键...
学习微服务架构设计原则、服务发现、持续集成与交付等内容,有助于构建灵活、可独立部署的现代应用。 三、NoSQL NoSQL数据库提供了不同于传统关系型数据库的数据存储方案,适用于大数据和高并发场景。了解MongoDB、...
在大数据技术组件中,HDFS(Hadoop Distributed File System)是分布式文件系统的核心,它被设计用于在普通硬件上运行,特别适合批量处理大量数据。HDFS遵循一次写入、多次读取的原则,采用主从架构,并在节点间复制...
4. **MySQL面试专题01.pdf**:这份文档可能专注于MySQL数据库的面试问题,包括SQL语言、事务处理、索引优化、存储引擎、数据库设计原则等,是数据库开发和管理员必备的知识。 5. **大数据面试题 100道.pdf**:...
HDFS遵循“一次写入,多次读取”(WORM)的原则,数据一旦写入就不允许修改,以简化数据一致性管理。文件被分割成块,每个块通常为128MB或256MB,这些块会被复制到集群的不同节点上,以提高容错性。 2. MapReduce...
它遵循“分而治之”的原则,通过将大数据拆分为小块并在多台服务器上并行处理,极大地提升了数据处理效率。 2. **Hadoop架构**:Hadoop主要由两个核心组件构成:HDFS(Hadoop Distributed File System)和MapReduce...
RESTful API设计原则可以被采用,提供清晰、统一的接口供外部系统调用,如新闻的添加、查询、更新和删除操作。Swagger等工具可以帮助生成和文档化这些接口。 总的来说,“news-systematization-system”是一个涵盖...