数据库日志整理 数据库日志整理Database : log, redolog, undolog, commandlog幂等性数据库日志文件中的操作记录应该具有幂等性,同一个操作执行多次,结果是一样的。因为日志在故障恢复过程中,可能会被回放多次。重做日志/事务日志(Redo日志)作用它记录了InnoDB存储引擎的事务日志,用于数据库故障的恢复,以保证数据的完整性。 在事务C...
数据库事务总结 数据库事务总结数据库事务Tags: Database Transaction锁机制悲观锁假设更新冲突会发生,所以不管冲突是否真的发生,都使用锁,这样会带来很大的性能损失 悲观锁是很常见的数据库锁方式,尤其是传统数据库,很多带事务的NewSQL数据库也都是使用的悲观锁。表锁对数据库整张表进行加锁,在加锁期间,整张表都是不允许使用的。行锁针...
Kafka事务简介 说明:本文翻译Confluent官网,原文地址:https://www.confluent.io/blog/transactions-apache-kafka/ 在之前的博客文章(见尾部链接)中,我们介绍了ApacheKafka的exactly once语义,介绍了各种消息传输语义,producer的幂等特性,事和Kafka Stream的exactly once处理语义。现在我们将从
PipeLineDB总结 1、基于Postgre数据库, 可以使用数据库库的函数,表达式,存储过程等功能,自身功能就已经足够强大了。而且还支持proxy等分表分库插件。2、所有的流必须以Stream开始,先创建stream然后才可以使用view或者transform来查询。stream中的数据必须通过insert插入。3、view和transform的区别在于,view的计算结果会保存在pg数据库中,transfo
关于时序数据库 看了一些时序数据库,没有太深入,有一些大概认识,记录下来。 1. 核心数据存储分为行存储或者列存储,由于列存储的高压缩比,现在使用列存储的比较多一些。当前有很多时序数据库采用了在底层KV存储(Cadssandra, HBase, LevelDB, RocksDB)基础上做时序封装,这样能够更快出原型,而且底层还很容易替换。 时间序列数据可以分成两部分,序列和数据点。序列就
流处理基本介绍 1. 什么是流处理一种被设计来处理无穷数据集的数据处理系统引擎2. 流处理的几个概念1. 无穷数据(Unbounded data):一种持续生成,本质上是无穷尽的数据集。它经常会被称为“流数据”。然而,用流和批次来定义数据集的时候就有问题了,因为如前所述,这就意味着用处理数据的引擎的类型来定义数据的类型。现实中,这两类数据的本质区别在于是否有限,因此用能体现出这个区别的词汇
Calcite中的流式SQL Calcite中的流式SQLCalcite中的流式SQL总体设计思路总体语法应该兼容SQL,这个是和目前流处理SQL的发展趋势是一致的。 如果部分功能标准SQL中没有包含,则尽量采用业界标杆(Oracle)。比如模式匹配的功能,目前流处理中还没有针对语法达成共识,那么在设计上,就采用Oracle data warehouse的Match Recognize的方式。还有滑窗功能。 如果还有功能目前
KafkaStreams介绍(四) –架构 说明:本文是Confluent Platform 3.0版本中对于Kafka Streams的翻译。原文地址:https://docs.confluent.io/3.0.0/streams/index.html看了很多其他人翻译的文档,还是第一次翻译,有什么翻译的不好的地方还请指出。 这是Kafka Streams介绍的第四篇,以前的介绍如下:http://blog.csd
KafkaStreams介绍(三) –概念 说明:本文是Confluent Platform 3.0版本中对于Kafka Streams的翻译。原文地址:https://docs.confluent.io/3.0.0/streams/index.html看了很多其他人翻译的文档,还是第一次翻译,有什么翻译的不好的地方还请指出。 这是Kafka Streams介绍的第三篇,以前的介绍如下:http://blog.csd
KafkaStreams介绍(二) 说明:本文是Confluent Platform 3.0版本中对于Kafka Streams的翻译。原文地址:https://docs.confluent.io/3.0.0/streams/index.html看了很多其他人翻译的文档,还是第一次翻译,有什么翻译的不好的地方还请指出。 这是Kafka Streams介绍的第二篇,以前的介绍如下:http://blog.csd
Kafka Stream介绍(—) Kafka Stream介绍(—)介绍Kafka Stream – 举重若轻的强大Kafka stream。Apache Kafka开源项目的一个组成部分。是一个功能强大,易于使用的库。用于在Kafka上构建高可分布式、拓展性,容错的应用程序。它建立在流处理的一系列重要功能基础之上,比如正确区分事件事件和处理时间,处理迟到数据以及高效的应用程序状态管理。 下面的列表强调了Kafka Stream的
Twitter Heron阅读笔记 Twitter Heron阅读笔记说明:本文是《Twitter Heron: Stream Processing at Scale》的阅读记录整理,再结合网上其他资料整理而成,文中图片主要来自Heron论文和InfoQ上的宣传资料。Storm的问题所在Worker级别Storm在worker设计上的问题应该是最多的。 所有task都一视同仁,无法对单个Task进行资源设置,会造成比较严重的
Storm-Kafka源代码解析 Storm-Kafka源代码解析说明:本文所有代码基于Storm 0.10版本,本文描述内容只涉及KafkaSpout和KafkaBolt相关,不包含trident特性。Kafka SpoutKafkaSpout的构造函数如下:public KafkaSpout(SpoutConfig spoutConf) { _spoutConfig = spoutConf;}其构造参数来自于Spou
StreamCQL源码阅读(4) 应用程序执行 本文转载自http://zqhxuyuan.github.io/如需转帖,请征得原作者同意StreamCQL应用程序执行流程前戏: CQL代码结构之前我们并没有梳理CQL部分的代码结构, 在分析了差不多的代码之后, 来看看每个部分都一一对应:还没有涉及的包括: PhysicalPlan,物理计划/逻辑计划优化器,executors执行器.
StreamCQL源码阅读(3) 拆分组合算子 本文转载自http://zqhxuyuan.github.io/如需转帖,请征得原作者同意StreamCQL的算子组成了Application前戏: buildApplication上篇在解析Schema的时候分析了CQL中一些常用的Statement syntax和对应的语法/语义解析器结果,现在继续ApplicationBuilder.build
StreamCQL源码阅读(2) 语法和语义解析 本文转载自http://zqhxuyuan.github.io/如需转帖,请征得原作者同意StreamCQL的Schema以及语法和语义解析前戏: SemanticAnalyzer客户端提交的CQL语句经过Application.parse返回StatementContext(语法解析结果),再进入语义解析.如果是SubmitTask会触发之前的
StreamCQL源码阅读(1) 提交任务 本文转载自http://zqhxuyuan.github.io/如需转帖,请征得原作者同意大数据上的流式SQL引擎—StreamCQL: http://www.csdn.net/article/2015-11-13/2826204http://www.csdn.net/article/2015-12-22/2826541IntroduceCQL(Co
StreamCQL 1.1版本RoadMap StreamCQL RoadMap特性列表 分组窗支持,支持在窗口中,按照指定字段进行分组。功能包含分组长度滑动窗,分组长度跳动窗,分组时间滑动窗,分组时间跳动窗。 支持Active, Deactive、rebalance功能,功能作用同Storm,rebanance只支持worker数量设置。 支持in、like、case、between表达式 添加RDBDatasource
SreamCQL架构解析,来自华为的开源流处理框架 StreamCQL是一个类SQL的声明式语言,它用于在流(streams)和可更新关系(updatable relation)上的可持续查询,目的是在流处理平台分布式计算能力之上,通过使用简易通用的类SQL语言,使得业务逻辑的开发变得统一和简易。在功能上,StreamCQL弥补了传统流处理平台上一些基本业务功能的缺失,除了过滤、转换等基本SQL能力之外, 还引入基于内存窗口的计算、统计、关联等能力,以及流数据的拆分、合并等功能。
大数据上的流式SQL引擎——StreamCQL StreamCQL是一个类SQL的声明式语言,用于在流和可更新关系上的可持续查询,目的是在流处理平台分布式计算能力之上,开源前已在电信、金融等多个行业成功应用。此次开源便是让更多的开源爱好者用户体验进来