各类数据库使用场景比较

clickhouse

列式数据库,其具有以下特点:
易用性高:适合OLAP(on line analytical process)场景,兼容大部分的SQL,使用灵活;
性能好单表查询能力性能超过其他类型OLAP数据库;
适合批量写入,写入粒度过细会生成太多小文件,影响查询性能;
缺陷:
对比较大的表,主键列(即排序列,LSM 合并排序文件时数据排序所依赖的列)的选择需要业务方的介入,选择不恰当,很影响查询效率;
没有完整的事务支持;
修改与删除数据能力不足;
可以构建物化视图,进行数据预聚合,但SQL的维护容易出错;

Druid

时序数据库(同样作为OLAP数据库,适合趋势分析、UV等);
数据预聚合(相当于对所有维度列进行了group by),适合聚合查询场景,度量列只能支持数值类型(因为需要按照维度进行预聚合计算);
对每一维度列都构建了位图索引,可以提升查询效率;
缺陷:
同influxdb一样,同样作为时序数据库,与clickhouse相比,**sql 查询分析能力不够完善**, 但是作为时序数据库,对实时数据的写入能力要优于clickhouse;
不适合超高基维度(维度数量特别大,例如用户电话号码、 vid 这类数据就不适合存储在druid 中);

公司内部druid集群性能描述:
写入千万QPS;
查询十亿级数据,亚秒级返回;

在这里插入图片描述
参考: Kylin、Druid、ClickHouse核心技术对比

influxdb

时序数据库, 特别适合处理与分析监控数据这种时序数据,但SQL 兼容性不高
特点:
时序数据的写入性能不错,单机版也可以满足多数业务的需求, 适合小规模的业务数据;
使用灵活,满足一些特定场景的需求: 比如 数据修改 (cdn 的日志数据写入,经常出现需要数据覆盖的情况,而clickhouse 对数据修改不太支持、存储明细数据(druid 不支持);
存储需求;
对比OpenTSDB、Druid,部署与运维也相对简单;
支持类sql的查询;
性能推荐:
在这里插入图片描述
缺点:
集群版没有开源,需要收费;
series (相当于druid中的维度列)数量最好不要超过100万;

OpenTSDB

基于HBase研发的数据库,用于公司整个metrics打点存储;
特点是:基于Hbase, 因此写入与存储能力很强大(scalable, 对比仅仅开源单机版的influxdb);

ElasticSearch

明细查询,全文检索;
实时;
非结构化数据;
相比时序数据库,搜索能力更强,而分析能力更弱, 而且成本比较高,写入能力与查询能力一般情况下不如时序数据库;

公司内部elasticsearch描述:
适合做日志分析,与logstash(数据预处理), kibana(数据可视化)共同组成完整的日志分析系统;
因为全文索引比较重, 写入能力相对较弱,支持50WQPS写入;

参考:各类时序数据库
各类数据库选择对比:
在这里插入图片描述

OLAP VS OLTP

OLTP(on line transaction process)场景, 适合该场景的数据库:mysql 等
OLAP(on line analytical process)场景,适合该处理场景的数据库: clickhouse 等

事实表

用来记录具体事件的

纬度表

纬度表为对时间表中事件要素的描述信息;代表了观察该事件的角度;
例如对于销售事实表,可以有5个不同的纬度表与其对应;
在这里插入图片描述

Cube

cube 是dimension(纬度)的组合, 是经过大量聚类运算好的加以特定方式存储的多维报表;
参考:Cube正方体

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 数据库技术是计算机科学领域中非常重要的一部分,用于存储、管理和检索大量数据。数据库技术的发展历程经历了多个阶段,从传统的关系数据库到现在的大数据和云数据库,不断提升了数据的存储能力、处理速度和可用性。 当前的数据库技术主要集中在以下几个方向上进行研究和发展。 首先,非关系型数据库在近年来得到了广泛应用和发展。由于传统关系型数据库在大数据场景下的限制,非关系型数据库提供了更好的可扩展性和性能。例如,NoSQL数据库采用了键值对、文档、列族和图形等多种数据模型,适用于不同类型的数据存储需求。 其次,分布式数据库技术在面对海量数据处理和高并发访问时显得尤为重要。分布式数据库可以将数据存储在多台服务器上,提供更高的并行性和容错性。同时,分布式数据库还可以通过数据分片技术将数据分散存储在多个节点上,提高数据的存储能力和查询效率。 另外,云数据库作为一种新兴的数据库技术,同样受到了广泛关注。云数据库提供了灵活、可扩展和高可用的数据库服务,可以大大降低企业的IT成本和维护难度。通过将数据库托管在云平台上,用户可以更灵活地动态调整资源,实现按需付费和弹性扩容。 在未来,数据库技术的发展趋势将继续朝着高效、智能和安全的方向发展。通过引入机器学习和人工智能技术,数据库可以自动优化查询执行计划、自动识别异常数据和自动化资源管理。此外,数据隐私和安全问题也将更加重要,数据库技术需要提供更强大的隐私保护和数据加密机制。 总之,数据库技术在不断创新和发展中,逐渐成为支撑现代信息化社会的核心基础设施。通过不断地研究和探索,数据库技术将持续提升性能、可扩展性和安全性,满足不断增长的数据管理需求。 ### 回答2: 数据库技术是信息科技领域中的关键技术之一,它的发展对于数据管理和应用具有重要意义。 就现状而言,数据库技术已经取得了长足的发展。传统的关系型数据库仍然占据主导地位,其基于表格的结构使得数据的存储和查询操作变得简单和高效。同时,数据库系统也逐渐引入了新的功能和技术,如事务管理、并发控制、索引优化等,以提高系统的性能和可靠性。此外,由于大数据的快速发展,新兴的非关系型数据库也逐渐崭露头角,如NoSQL数据库和分布式数据库等,它们可以更好地处理大规模和异构化的数据。 在未来,数据库技术将继续朝着以下方向发展。首先,随着物联网和人工智能等新兴技术的兴起,数据库系统将需要扩展支持更多种类和更大规模的数据,如传感器数据、图像数据等。其次,数据安全和隐私保护将成为一个更加紧迫的问题,数据库系统需要提供更强的数据加密、访问控制等机制来保护用户的数据。此外,云计算和边缘计算的发展也将对数据库技术提出新的挑战和需求,如数据的快速迁移、分布式查询等。最后,数据库系统还将更加注重系统的可扩展性和灵活性,以适应不断变化的业务需求和环境。 总的来说,数据库技术在不断演进和创新中,面临着越来越多的挑战和机遇。通过不断提升性能、安全性和可扩展性,数据库技术将继续为各行各业提供强大的数据管理和分析能力。同时,随着新兴技术的发展,数据库系统也将逐渐适应新的需求和场景,成为信息时代的重要基石之一。 ### 回答3: 数据库技术是随着信息技术的发展而不断演变和进步的重要组成部分。目前,数据库技术在互联网、大数据、人工智能等领域得到广泛应用,具有较高的重要性和发展前景。 首先,数据库技术的现状是多样化和专业化。随着需求的增长,各类数据库产品和技术不断涌现,如关系型数据库、NoSQL数据库、内存数据库等。这些不同类型的数据库针对不同的应用场景和需求,提供了更具灵活性和高性能的解决方案。同时,数据库技术的专业化也日益显著,例如大数据存储和处理的数据库技术、分布式数据库技术等,为众多行业中的复杂应用提供了强大的支持。 其次,数据库技术的趋势是大数据、云计算和人工智能的深度融合。随着数据规模的不断增大和数据类型的多样化,数据库技术需要适应大规模数据存储和处理的需求,提供高效的查询和分析能力。云计算的兴起使得数据库可以灵活运行在云端,提供即时的数据服务。人工智能的发展则使得数据库能够结合机器学习和数据挖掘算法,实现数据的自动化管理和分析。这些趋势都将对数据库技术提出更高的要求,例如更高的性能、更好的扩展性和更智能的功能。 综上所述,数据库技术目前处于多样化和专业化的现状,并且面临着与大数据、云计算和人工智能深度融合的趋势。这些发展都展示了数据库技术在各行各业中的重要性和应用前景,并将进一步推动数据库技术的创新和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值