海量高性能列式数据库HiStore介绍

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

HiStore是阿里中间件技术团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列式存储,是低存储成本,低维护成本,海量数据OLAP存储引擎;有效的解决了海量数据存储的成本问题,以及在百亿数据场景下支持实时高效的多维度自由组合的检索。

HiStore的优势

• 存储数据量大:TB级数据大小,百亿条记录。数据量存储主要依赖自己提供的高速数据加载工具(2TB/小时)和高数据压缩比(>10:1);
• 高压缩比:平均压缩比>10:1,远高于常规压缩算法,甚至可以达到40:1,极大地节省了数据存储空间。高数据压缩比主要依赖列式存储和patent-pending的灵活压缩算法;
• 基于列存储:无需建索引,无需分区。即使数据量十分巨大,查询速度也很快。用于数据仓库。不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜索;
• 大数据量查询性能强劲、稳定:亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB等普通的MySQL存储引擎快30倍。高效查询主要依赖特殊设计的存储结构对查询的优化,但这里优化的效果还取决于数据库结构和查询语句的设计;
• 并行导入:基于MySQL的协议的并行导入,以及专门的入库工具;
• 高并发:实时性的多维数据检索;实时数据导入,海量数据秒级检索;为实时业务提供保障;
• 线性扩展:结合TDDL / DRDS,可实现存储容量和处理能力的线性提升;
• 系统易用:迁移成本低,无其它依赖独立部署,mysql工具及应用可直接无缝运行其上;
• 快速响应复杂的聚合类查询:适合复杂的分析性的SQL查询,如SUM,COUNT,AVG,GROUP BY;

HiStore的价值

• 节约设计开销,没有复杂的数据仓库模型设计要求(比如星状模型、雪花模型),无需要物化视图、数据分区、索引建立;
• 节省存储资源,高压缩比率通常是10:1,某些应用可能达到40:1;
• 集成利用广泛,和众多的BI套件相容,比如Pentaho的,Cognos公司,Jaspersof;
• 降低运维成本,随着数据库的逐渐增大,查询和装载性能持续保持稳定,实施和管理简单,需要极少的管理;
• 分库分表支持,结合TDDL/DRDS,可实现无缝的横向扩展功能和处理能力的线性提升;

HiStore适用场景

• 日志/事件管理系统:调用链路日志跟踪,消息轨迹分析,系统/网络安全审计记录;
• 通信行业:话单分析,用户行为分析等;
• 大数据量的分析应用:网页/在线分析,移动分析,客户行为分析,营销和广告数据;
• 数据仓库/数据集市:实时展示统计分析后数据,便于用户根据统计结果做决策;
• 对数据存储成本敏感,查询有实时性要求的场景应考虑HiStore;
• 物联网:保存大量物理节点的采集上报,状态等信息,用于后期统计处理;
• 历史评价数据,历史订单数据等;

HiStore全局功能模块图

HiStore引擎架构图

HiStore引擎架构图(与MySQL和Postgres的)

Knowledge Grid(知识网格) - 高性能的重要原因

HiStore负载流程

HiStore字符串查询

粗糙集(Rough集)

HiStore的核心技术之一,HiStore在执行查询的时候会根据知识网络(知识网格)把DN分成三类:
• 相关的DN(相关节点),满足查询条件限制的DN
• 不相关的DN(无关节点),不满足查询条件限制的DN
• 可疑的DN(可疑节点),DN里面的数据部分满足查询条件的限制

案例(商品评价管理) - 获取评价标识(按时)

SELECT COUNT(feed_id)
FROM feed_item_subscribe
WHERE seller_id = 12345 AND (gmt_modify BETWEEN str_to_date('start', '%Y%m%d%H') AND str_to_date('end', '%Y%m%d%H')) -- [start, end)
LIMIT start+1, num -- 分页
No. Column Type Desc
1 seller_id bigint 卖家ID
2 feed_id bigint 主评ID
3 feedback varchar(4000) 主评内容
4 gmt_modify datetime 修改时间

同类产品

  • Infobright
  • InfiniDB
  • Pivotal Greenplum
  • Amazon RedShift
  • Teradata DB
  • HP Vertica
  • SAP HANA
  • IBM Netezza
  • 神舟通用,kstore
  • 华为高斯DB
  • 达梦数据库DM7

企业级互联网架构Aliware,让您的业务能力云化:https://www.aliyun.com/aliware

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB PostgreSQL版:Oracle兼容的高性能数据库
PolarDB PostgreSQL版是一款高性能的数据库,具有与Oracle兼容的特性。它采用了分布式架构,可以轻松处理大量的数据,同时还支持多种数据类型和函数,具有高可用性和可扩展性。它还提供了丰富的管理工具和性能优化功能,为企业提供了可靠的数据存储和处理解决方案。PolarDB PostgreSQL版在数据库领域具有很高的竞争力,可以满足各种企业的需求。
|
7月前
|
前端开发 关系型数据库 MySQL
高性能服务器Nodejs操作Mysql数据库
高性能服务器Nodejs操作Mysql数据库
78 0
|
1月前
|
存储 数据处理 数据库
构建高性能的数据库查询引擎
本文将介绍如何构建一个高性能的数据库查询引擎,以提升数据库查询的效率和响应速度。通过优化查询计划、索引设计和数据存储等方面,可以实现更快速和可扩展的数据库查询,为应用程序提供更好的用户体验和数据处理能力。
|
5月前
|
存储 消息中间件 NoSQL
深入了解Redis:高性能的内存数据库
深入了解Redis:高性能的内存数据库
|
15天前
|
存储 缓存 NoSQL
Redis 服务器指南:高性能内存数据库的完整使用指南
Redis 服务器指南:高性能内存数据库的完整使用指南
|
3月前
|
缓存 数据库 开发者
构建高性能的数据库查询语句优化策略
数据库查询是开发过程中常见的性能瓶颈之一。本文将介绍构建高性能数据库查询语句的优化策略,包括索引的设计与使用、查询语句的编写技巧、连接的优化等方面,帮助开发者提升数据库查询的效率和响应速度。
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL标准版:低成本高性能的数据库解决方案
PolarDB MySQL标准版:低成本高性能的数据库解决方案 随着数字化时代的到来,企业对于数据处理的需求越来越高,而数据库作为数据处理的核心,其性能和成本成为了企业关注的焦点。阿里云全新推出的PolarDB MySQL标准版,以全新的架构和优化,为企业提供了高性能、低成本的数据库解决方案。
129 2
|
8月前
|
存储 消息中间件 缓存
Redis:高性能、多功能的内存数据库
Redis是一种开源、高性能的内存数据库,广泛应用于缓存、会话存储、实时数据处理等场景。本文将介绍Redis的特点、优势和主要功能,探讨它在不同应用领域中的应用场景,以及如何充分利用Redis提升应用性能和可靠性。无论是小型应用还是大规模的分布式系统,Redis都是一个值得关注的强大工具。
59 0
|
8月前
|
SQL 监控 druid
深入了解Druid连接池:高性能数据库连接管理工具
在现代的应用开发中,数据库连接池是优化数据库访问性能的关键。Druid连接池作为一款高性能的数据库连接管理工具,为我们提供了强大的连接池功能和监控能力。本文将深入探讨Druid连接池的基本概念、特点,以及如何在实际应用中使用它进行高效的数据库连接管理。
821 0
|
9月前
|
存储 缓存 NoSQL
高性能数据库
Redis(Remote Dictionary Server)是一个开源的高性能键值对存储系统,它以其快速、灵活、可靠的特性在互联网应用中得到了广泛应用。Redis不仅仅是一个内存数据库,还具备了丰富的数据结构和功能,包括字符串、哈希表、列表、集合、有序集合等。本文将深入探索Redis的背景、特点、功能以及在互联网应用中的重要性。