获得徽章 0
shell快捷键ctrl+a将光标移动到行首
ctrl+e将光标移动到行尾
评论
后台 @BIG Company
后台 @BIG Company
Kafka的Controller Broker是什么
segmentfault.com
评论
Banker's rounding(银行家舍入)算法,即四舍六入五取偶。
采用这种算法的目的为了避免四舍五入规则造成的结果偏高,误差偏大的现象出现。准确而言,四舍六入五留双应称作“四舍六入,逢五无后则留双”,如此就可以完全覆盖此规则的详情。
评论
OLTP联机事务处理,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关系操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。
OLAP联机分析处理,一般针对某些主题的历史数据进行分析,支持管理决策。

数据库设计是尽量避免冗余,一般针对某一业务应用进行设计。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标而设计。
数据库是为了捕获数据而设计,数据仓库是为了分析数据而设计。
展开
评论
宽表
所谓的宽表就是字段比较多的表,包含的维度层次比较多,造成冗余也比较多,毁范式设计,但是利于取数统计,而窄表往往对于OLTP比较合适,符合范式设计原则。
1
DruidApache Druid是一种新型数据库,可为事件驱动数据的实时分析工作负载提供支持,而不是传统的数据仓库。尽管Druid结合了数据仓库的架构思想,例如面向列的存储,但Druid也结合列存储系统和时间序列数据库的设计。Druid的架构旨在处理传统数据仓库无法处理的许多用例。
与传统数据数据仓库相比,Druid具有以下优势:
- OLAP样式查询的延迟要低得多
- 数据摄取(流和批处理)的延迟要低得多
- 与Apache Kafka、AWS Kinesis、HDFS、AWS S3、Aliyun OSS等开箱即用的集成
- 基于时间的分区,支持基于时间的高性能查询
- 快速搜索和过滤,用于快速切片和切换
- 对半结构化和嵌套数据的最小架构设计和本机支持

Druid是TSDB,且比一般的TSDB更优秀。Druid针对存在时间戳的数据进行了优化。Druid按时间对数据进行分区,包含时间过滤器的查询将比不包含时间过滤器的查询快得多。当存在时间过滤器时,聚合指标和过滤维度(大致相当于TSDB的标签)也非常快。
但是,由于Druid结合了来自分析数据库和存储系统的许多架构设计,因此在对非时间标签进行分组、搜索和过滤时,或者在计算直方图和分位数等复杂指标时,它的性能可以显著优于TSDB。

Druid将存储和计算分开。Druid创建原始数据的索引副本,该副本针对分析查询进行了高度优化。Druid对该索引数据运行查询,在Druid中称为Segment,并且不会根据查询需要从外部存储系统中提取原始数据。

Druid通常连接到原始数据源,例如消息总线(例如Apache Kafka)或文件系统(例如HDFS)。Druid摄取优化的、面向列的、索引的数据副本,并在其上提供分析工作负载。
展开
评论
面向列的数据存储
在大多数OLTP系统中,数据存储都是以面向行的方式组织的。这种方式把一行数据存放在一起。
在OLAP中,查询语句一般是获取大量行数据中的特定某几列。这里就需要引入面向列存储的概念:相比于面向行存储把一行数据相邻存放,面向列存储把一列的数据存放在一起。
面向列存储还有一个好处:处于同一列的数据往往具有某些相似性,这种特性会方便数据的压缩处理。
谷歌知名的BigTable有一个列族(column families)的概念(HBase和Cassandra也一并继承了这个概念)。但是同一列族的数据仍然也以行为单位存放在一起,所以BigTable本身更贴近于面向行的数据存储。
展开
评论
时序数据库(TSDB)
时序数据库是针对摄取、处理和存储带有时间戳数据进行优化过的数据库。
时序数据通常具有如下属性特征:
- 每个数据点都包含了用于索引、聚合、以及采样的时间戳。此类数据往往是多维的且相关的。
- 它们主要以高速写入(摄取)的方式,来捕获高频的数据。
- 数据的汇总视图可以提供比单个数据点更多见的洞见。
- 通常需要获取在一段时间内访问某累数据,以供分析。

虽然其它类型的数据库,也可以在一定程度上处理时许数据,但是TSDB可以在设计上,针对上述数据特性,更有效地处理那些随着时间的推移,而开展的各类数据摄取、压缩、以及聚合活动。
常见的三种TSDB:InfluxDB、TimescaleDB、QuestDB
展开
评论
BFF(Backend for Frontend):
微服务提供给前端的数据可能不会按照前端需要的方式进行编排或过滤。在这样的情况下,我们可以使用 BFF 将一些前端逻辑转移到中间层,中间层就是 BFF。当前端请求一些数据时,它将调用 BFF 中的 API。

BFF 将执行以下操作:
- 调用相关的微服务 API 并获取所需数据
- 根据前端展现来处理数据
- 将格式化后的数据发送到前端
因此,前端将有更少的逻辑,BFF 有助于简化数据展示,并为前端提供一个目的明确的接口。
展开
2
histogram 并不记录所有数据,只记录每个 bucket 下的 count 和 sum。

接口耗时分位数:
histogram_quantile(0.99,sum(rate(request_duration_seconds_bucket [1m])) by(le))
接口qps:
sum(rate(request_duration_seconds_count[1m])
展开
评论
下一页
个人成就
文章被点赞 24
文章被阅读 24,223
掘力值 993
收藏集
3
关注标签
17
加入于