当前位置: 首页 > news >正文

帮网站做关键词排名优化创造网站需要多少钱

帮网站做关键词排名优化,创造网站需要多少钱,河间米各庄网站建设制作,郑州做商城网站1. HBase 1.1 概念 HBase是构建在Hadoop HDFS之上的分布式NoSQL数据库#xff0c;采用列式存储模型#xff0c;支持海量数据的实时读写和随机访问。适用于高吞吐、低延迟的场景#xff0c;如实时日志处理、在线交易等。 RowKey#xff08;行键#xff09; 定义#xf…1. HBase 1.1 概念 HBase是构建在Hadoop HDFS之上的分布式NoSQL数据库采用列式存储模型支持海量数据的实时读写和随机访问。适用于高吞吐、低延迟的场景如实时日志处理、在线交易等。 RowKey行键 定义表中每行数据的唯一标识类似于关系数据库的主键。 特点数据按 RowKey 的字典序全局排序。 所有查询必须基于 RowKey 或范围扫描Scan。 示例user_123_order_1001用户ID 订单ID。 Region区域 定义HBase 表的水平分片每个 Region 存储一段连续的 RowKey 范围。 特点一个表初始只有一个 Region随着数据增长自动分裂如达到 10GB 阈值。 每个 Region 由一个 RegionServer 管理。 示例Region 1 存储 [A-M] 的 RowKeyRegion 2 存储 [N-Z] Column Family列族 定义列的逻辑分组每个列族对应独立的物理存储单元HFile。 特点列族需预先定义但列Qualifier可动态添加。 同一列族的数据存储在一起优化读取效率。 示例定义 OrderInfo 和 ProductDetails 两个列族。 1.2 组件 HMaster 角色集群的管理者负责元数据操作和协调。 职责管理表的创建、删除、修改如列族定义。 分配 Region 到 RegionServer并在节点故障时重新分配。 监控所有 RegionServer 的状态通过 ZooKeeper。 注意HMaster 本身不直接处理读写请求因此 HBase 的高可用性依赖多 HMaster 实例。 RegionServer 角色数据存储和读写请求的实际处理者。 职责管理多个 Region每个 Region 对应表的一部分数据。 处理客户端的读写请求如 Put、Get、Scan。 管理 MemStore内存缓存和 HFile磁盘文件。 定期执行数据刷写Flush和合并Compaction。 ZooKeeper 角色分布式协调服务维护集群状态和元数据。 职责管理 HMaster 的选举避免单点故障。 监控 RegionServer 的存活状态通过心跳机制。 存储 HBase 的元数据如 hbase:meta 表的位置。 HDFS 角色HBase 的底层存储系统。 职责持久化存储 HFile 数据每个 HFile 对应一个列族。 通过多副本机制保障数据可靠性。 1.3 计算流程 写入流程 #mermaid-svg-cc2QTNL3Y75Ap3eS {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .error-icon{fill:#552222;}#mermaid-svg-cc2QTNL3Y75Ap3eS .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cc2QTNL3Y75Ap3eS .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .marker.cross{stroke:#333333;}#mermaid-svg-cc2QTNL3Y75Ap3eS svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .cluster-label text{fill:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .cluster-label span{color:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .label text,#mermaid-svg-cc2QTNL3Y75Ap3eS span{fill:#333;color:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .node rect,#mermaid-svg-cc2QTNL3Y75Ap3eS .node circle,#mermaid-svg-cc2QTNL3Y75Ap3eS .node ellipse,#mermaid-svg-cc2QTNL3Y75Ap3eS .node polygon,#mermaid-svg-cc2QTNL3Y75Ap3eS .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .node .label{text-align:center;}#mermaid-svg-cc2QTNL3Y75Ap3eS .node.clickable{cursor:pointer;}#mermaid-svg-cc2QTNL3Y75Ap3eS .arrowheadPath{fill:#333333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-cc2QTNL3Y75Ap3eS .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-cc2QTNL3Y75Ap3eS .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-cc2QTNL3Y75Ap3eS .cluster text{fill:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS .cluster span{color:#333;}#mermaid-svg-cc2QTNL3Y75Ap3eS div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-cc2QTNL3Y75Ap3eS :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 通过ZooKeeper 是 否 客户端发起写入请求 查询hbase:meta表 定位目标RegionServer 写入WAL-预写日志 写入MemStore-内存缓存 MemStore是否达到阈值? 刷写为HFile-HDFS存储 写入完成 读取流程 #mermaid-svg-igvLnwuXRCWsBgSa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .error-icon{fill:#552222;}#mermaid-svg-igvLnwuXRCWsBgSa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-igvLnwuXRCWsBgSa .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-igvLnwuXRCWsBgSa .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-igvLnwuXRCWsBgSa .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-igvLnwuXRCWsBgSa .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-igvLnwuXRCWsBgSa .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-igvLnwuXRCWsBgSa .marker{fill:#333333;stroke:#333333;}#mermaid-svg-igvLnwuXRCWsBgSa .marker.cross{stroke:#333333;}#mermaid-svg-igvLnwuXRCWsBgSa svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-igvLnwuXRCWsBgSa .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .cluster-label text{fill:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .cluster-label span{color:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .label text,#mermaid-svg-igvLnwuXRCWsBgSa span{fill:#333;color:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .node rect,#mermaid-svg-igvLnwuXRCWsBgSa .node circle,#mermaid-svg-igvLnwuXRCWsBgSa .node ellipse,#mermaid-svg-igvLnwuXRCWsBgSa .node polygon,#mermaid-svg-igvLnwuXRCWsBgSa .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-igvLnwuXRCWsBgSa .node .label{text-align:center;}#mermaid-svg-igvLnwuXRCWsBgSa .node.clickable{cursor:pointer;}#mermaid-svg-igvLnwuXRCWsBgSa .arrowheadPath{fill:#333333;}#mermaid-svg-igvLnwuXRCWsBgSa .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-igvLnwuXRCWsBgSa .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-igvLnwuXRCWsBgSa .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-igvLnwuXRCWsBgSa .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-igvLnwuXRCWsBgSa .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-igvLnwuXRCWsBgSa .cluster text{fill:#333;}#mermaid-svg-igvLnwuXRCWsBgSa .cluster span{color:#333;}#mermaid-svg-igvLnwuXRCWsBgSa div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-igvLnwuXRCWsBgSa :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 通过ZooKeeper 是 否 客户端发起Get/Scan请求 查询hbase:meta表 定位目标RegionServer 检查Block Cache-读缓存 数据是否在缓存中? 直接返回数据 从MemStore和HFile合并读取 使用Bloom Filter过滤HFile 返回结果 1.4 列族存储与行键的协同关系 物理分离逻辑聚合每个列族对应独立的 HFile 文件但同一行键下的不同列族数据通过行键关联。 假设表结构如下 RowKey列族Info列族Orderuser_123name: Aliceorder_2023: 手机user_456name: Boborder_2023: 电脑 列族 Info 和 Order 的数据存储在不同的 HFile 中。 当查询 user_123 的 Info.name 和 Order.order_2023 时HBase 会通过行键 user_123 定位到对应的 Region再分别从 Info 和 Order 的 HFile 中读取数据。 1.5 行键设计的核心原则 将高频查询条件作为前缀 示例若按用户查询为主行键设计为 用户ID_时间戳。 若按时间范围查询为主行键设计为 反转时间戳_用户ID避免热点。 避免热点问题 错误设计单调递增的行键如 timestamp导致新数据集中写入单个 Region。 改进方案添加哈希前缀如 MD5(userID)[0:4]_userID。 反转时间戳如 Long.MAX_VALUE - timestamp。 控制行键长度 行键会冗余存储在每个单元格Cell中过长会浪费存储和内存。 场景1高效读取合理行键设计 需求查询用户 user_123 的姓名列族 Info列 name。 行键设计用户ID如 user_123。 流程通过行键 user_123 直接定位到对应的 Region。 在该 Region 的 Info 列族 HFile 中读取 name 列的值。 耗时毫秒级。 场景2低效读取无行键条件 需求查询所有用户的 name 列。 问题未指定行键需全表扫描。 流程扫描所有 Region。 遍历每个 Region 的 Info 列族 HFile。 耗时分钟级到小时级。 1.6 HBase适合实时的原因 写得快LSM 树Log-Structured Merge Tree架构 写入优化数据先写入内存MemStore再异步刷写到磁盘HFile避免传统数据库的直接磁盘随机写入。 内存写入速度极快微秒级适合高吞吐的实时写入如每秒百万级写入。 合并机制定期将多个小 HFile 合并为大文件Compaction平衡读写性能避免碎片化导致的读取延迟。 写方面与HIVE对比 数据库写入机制速度特点HBase- 数据先写入内存MemStore异步刷写到磁盘HFile。- 基于LSM树优化写入。高速写入支持高吞吐每秒百万级写入延迟在毫秒级适合实时写入场景。Hive- 数据写入本质是向HDFS追加文件如TextFile、ORC、Parquet。- 需要格式转换。低速写入涉及文件格式转换和分布式写入延迟在分钟级适合批量加载。 读得快基于 RowKey 的快速随机访问 行键索引所有数据按 RowKey 全局排序配合 Bloom Filter 快速判断数据是否存在减少磁盘扫描。 直接定位 Region通过 RowKey 快速定位数据所在的 Region避免全表扫描例如 Get 操作时间复杂度接近 O(1)。 读方面与HIVE对比 数据库写入机制速度特点HBase- 通过RowKey直接定位Region利用MemStore和Block Cache加速读取。- 支持随机读。低延迟读取单行查询为毫秒级范围扫描Scan性能取决于数据量和RowKey设计。Hive- 通过MapReduce/Tez/Spark执行全表扫描或复杂查询。- 需解析文件格式如ORC。高延迟读取复杂查询通常需要分钟到小时级适合离线批处理分析。 2. ClickHouse 2.1 概念 ClickHouse 是一款开源的列式联机分析处理OLAP数据库专为大规模数据分析和高速查询设计。 2.2 特点 列式存储与数据压缩 列式存储数据按列存储相同数据类型连续存放大幅提升压缩率如数值列压缩率可达90%以上。 高效压缩算法支持LZ4、ZSTD等算法减少磁盘I/O和存储成本。 向量化查询执行引擎 利用CPU SIMD指令单指令多数据一次处理多行数据提升批量计算效率。 例如计算1亿行数据的SUM传统逐行处理需1亿次操作向量化引擎可能仅需数百万次操作。 分布式架构与并行计算 分片Sharding数据水平拆分到多台节点支持横向扩展。 副本Replication通过ZooKeeper实现多副本容灾最终一致性。 分布式查询查询自动路由到相关分片结果聚合后返回。 实时数据插入与批量导入 高吞吐写入支持每秒百万级数据插入适合日志、事件流。 批量导入通过INSERT SELECT、文件导入如Parquet快速加载数据。 2.3 横向对比 维度ClickHouseHBaseHive存储模型列式存储针对分析优化列族存储半结构化数据行式/列式依赖文件格式如ORC查询延迟毫秒到秒级OLAP场景毫秒级单行查询分钟到小时级批处理写入吞吐高吞吐批量写入适合日志流高吞吐实时写入适合事务日志低吞吐批量加载ETL流程数据更新支持批量更新异步合并支持单行实时更新仅支持覆盖或分区更新典型场景实时分析、宽表聚合、时序数据实时读写、在线查询离线数据仓库、复杂ETLSQL支持完整SQL语法兼容ANSI SQL无原生SQL需API或Phoenix扩展类SQLHiveQL支持复杂查询 与 HBase 和 Hive 的协作模式 HBase作为实时数据接入层处理高并发写入和单行查询。 ClickHouse作为实时分析层承载复杂聚合和即席查询。 Hive作为离线数据仓库处理历史数据批量计算。
http://www.zqtcl.cn/news/770477/

相关文章:

  • 广西网站建设推荐wordpress 宣布停止
  • 专注网站制作青岛景观设计公司排名
  • 安庆做网站网站代理建设网站观澜
  • 网站开发需求收集 模板cms做门户网站
  • dw网站首页的导航怎么做有大佬给个网址吗
  • 一个网站怎么做聚合洛可可设计公司贾伟
  • 什么是优化型网站网页设计作业在线网站首页
  • 关于网站建设广告词英文案例网站
  • 有哪些可以做策划方案的网站国家域名
  • vk网站做婚介做seo排名好的网站
  • 广州企业网站建设公司苏州建网站提
  • html如何做购物网站天元建设集团有限公司法人代表
  • 教育培训机构排名seo是搜索引擎营销
  • 做奢侈品网站有哪些沧州手机建站哪家好
  • 德州网站网站建设广西房管局官网
  • 白石桥做网站公司seo顾问服务四川
  • 网站建设注册哪类商标十大网页设计公司
  • 网站建设的源代码有什么作用金华网站建设优化技术
  • 个人网站申请做瞹瞹嗳视频网站在线观看
  • 做网站 融资玉石网站建设的定位
  • 自己做的网站字体变成方框seo同行网站
  • 宁波网站建设培训微信小程序开发平台官网
  • 西部数码做的网站打不开哈尔滨模板建站推荐
  • 外贸网站建设流程杭州软件定制开发
  • 网站的首页面设计软文推广特点
  • 网站描述在哪里写网页设计图片怎么换
  • 深圳网站关键词优化推广做mod游戏下载网站
  • 通达oa 做网站wordpress动转换标签别名
  • 三亚学做网站培训招聘网站排名
  • 企业网站建设费用需要多少钱怎样下载建设银行信用卡网站