自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangleigiser的博客

大数据、分布式架构

  • 博客(83)
  • 资源 (19)
  • 收藏
  • 关注

原创 Java集合原理及特点

Java的集合类被定义在Java.util包中,主要有4种集合,分别为List、Queue、Set和Map.List是很常用的数据类型,是有序的集合,一共有三个实现类,分别是ArrayList、Vector和LinkedList。Set 的核心特性是独一无二,适用于存储无序且值不相等的元素.1.HashMap:数组+链表存储数据,线程不安全ConcurrentHashMapHashTable红黑树...

2022-06-28 11:07:33 295

原创 Doris数据分桶最佳实践

Doris不合理的分桶会影响查询效率,或者带来太多元数据的存储压力。下面介绍下Doris数据分桶最佳实践。

2024-03-22 14:26:52 127

原创 日志检索场景ES->Doris迁移最佳实践:函数篇

说明:和term区别可以理解为term是精确查询,这边match模糊查询;match会对my ss分词为两个单词,然后term对认为这是一个单词。

2023-11-27 16:48:26 624

原创 Java Stream Load写入数据到Doris

【代码】Java Stream Load写入数据到Doris。

2023-09-26 11:06:14 535

原创 Doris workload group实战

2.给用户赋予数据库权限全局开启,已经开启的话就不用再执行了创建workload group5.给用户赋予WORKLOAD权限

2023-09-01 09:50:52 1294

原创 Doris行权限入门实战

具体做法为:用户在指定表上创建安全策略并授权到具体的用户,当用户查询数据的时候查询规划会对SQL进行改写,将用户的安全策略注入到SQL中,改写后的SQL会携带用户的行权限。在表test.table1 上创建一个名称为test_row_policy_1的ROW POLICY,并将POLICY绑定在用户test_user上。Doris支持了行级数据权限,当多租户模式使用的是共享表模式的情况下该功能能很方便的帮用户数实现行级权限控制。Doris的行级权限是通过安全策略(ROW POLICY)实现的。

2023-08-31 12:06:09 623

原创 Doris权限设置Demo

【代码】Doris权限设置Demo。

2023-08-31 10:58:28 175

原创 Doris最大链接数优化

针对这种情况需要调整Doris最大连接数,具体做法如下。用户在使用Doris的时候,当访问用户过多时会报。

2023-08-30 16:24:37 2181

原创 Doris动态表使用快速入门实战

半结构化数据,是介于结构化和非结构化之间的数据。和普通纯文本相比,半结构化数据具有一定的结构性。和结构化数据相比,其结构变化复杂,我们又不能方便的使用结构化的方式去描述它。半结构的数据中通常即包括数据本身,也包括数据结构的描述。数据结构自描述:结构与数据相融合在一起,一条数据即包括“元数据”也包括“数据”。数据结构复:数据结构难以纳入现有的各种描述框架,实际应用中不易进行清晰的理解与把握。数据结构描述的动态性:数据变化通常会导致结构模式变化,整体上具有动态的结构模式。

2023-06-08 22:47:31 1500

原创 Doris半结构化数据分析(倒排索引使用)快速入门

Apache Doris2.0 基于Apache Doris向量化MPP引擎,增加了倒排索引和半结构化JSON数据支持,更好地满足日志存储、检索、分析需求。说明:建表语句中的 …是特殊语法,用于声明可以自动感知数据结构的变化。可以看下新增的log_type字段已经被自动识别。

2023-06-08 22:39:19 1336

原创 Doris ROLLUP使用

【代码】Doris ROLLUP使用。

2023-05-18 16:57:37 98

原创 Doris bitmap人群圈选案例

【代码】Doris bitmap人群圈选案例。

2023-05-12 17:21:52 406

原创 Apache doris profile文件获取和格式化

Apache doris profile文件获取和格式化

2023-05-05 16:26:42 507

原创 如何在高配置服务器上跑出Doris的性能

该配置是在10个32core,128GB,每个服务器挂着5个1TB磁盘。每秒写入80w数据的集群上的实测的配置。#控制每个内核运行工作的线程数。通常选择 2 倍或 3 倍的内核数量。这使核心保持忙碌而不会导致过度抖动。#Cumulative Compaction线程池中线程数量的最大值。#Base Compaction线程池中线程数量的最大值。1.BE、FE调优参数添加,比如数据库最大事务.

2023-04-17 17:24:30 1277 1

原创 Doris Broker Load高并发导入

当发现Broker Load导入效率不高,很可能是并发度原因,可以尝试配置如下参数:

2023-03-06 10:18:17 427 1

原创 Doris通过Flink CDC接入MySQL实战

Doris通过Flink CDC接入MySQL实战

2023-02-15 13:18:54 1496

原创 Flink SQL Print

应安全部门要求,系统对taskmanager.log日志展示数据条数进行了限制。如果您有排查脏数据或特定数据等需求,建议在Where条件中指定业务场景相关条件后,进行print操作,以避免因为2000条的数据条数限制导致无法排查。因为print sink数据输出为info日志,所以如果您需要查看print结果表的结果数据,则需要将日志级别调至info。否则,会查不到结果数据。

2023-02-15 13:05:20 2230

原创 Apache Flink X Apache Doris构建极速易用的实时数仓架构

Doris针对不同的应用场景提供了不同的数据模型,分别为:明细模型,主键模型和聚合模型。明细模型:明细数据存储(日志分析、行为分析)主键模型:相同key的数据覆盖更新(订单状态、用户状态)聚合模型:相同key列value列合并(报表统计、指标计算)

2023-02-14 15:52:35 3836

原创 Linux负载分析工具

本文介绍常用的Linux系统负载过高分析工具。

2023-02-10 10:33:08 114

原创 Flink TaskManager进程监控

【代码】Flink TaskManager进程监控。

2023-01-04 13:50:24 428

原创 Hadoop KMS环境安装

Hadoop KMS环境安装

2022-12-29 13:32:25 674

原创 Doris部分列更新在广告行业应用

背景:业务需要在不同的时间点对同一个session_id上的广告行为(展示、点击、转换等)数据的更新。

2022-12-27 18:41:16 1162

原创 敏捷开发宣言

□个体与交互高于流程和工具流程和工具总是有助于完成项目。项目利益相关者作为项目的一部分,明白如何实施计划,以及如何在项目交付工具的帮助下交付成功的结果。但是项目交付的主要责任是人员及其协作。□软件高于详尽的文档。对于产品的开发来说,文档始终是必不可少的过程。过去,许多团队只专注于收集和创建文档库,例如高层次设计、详细设计和设计变更等,这些文档以后会有助于实现对产品的定性和定量描述。使用敏捷方法论,可以专注于可交付的产品。因此,根据这条宣言,我们需要文档。但是,还需要定义有多少文档对产品的持续交付至关重

2022-12-21 22:46:53 202

原创 Doris DUPLICATE KEY数据更新&覆盖方案

因为业务侧存在数据口径和ETL出错的问题,需要对数据历史部分数据进行删除后重新生成并写入的需求。

2022-12-05 16:58:59 1512

原创 Doris DUPLICATE KEY数据覆写方案

因为业务侧存在数据口径和ETL出错的问题,需要对数据历史部分数据进行删除后重新生成并写入的需求。

2022-12-05 16:57:25 1089

原创 Doris多列分区操作

Doris多列分区操作

2022-12-02 23:36:58 482

原创 采集Doris的FE和BE 日志到对象存储

【代码】采集Doris的FE和BE 日志到对象存储。

2022-11-15 14:19:06 446

原创 phi增量故障检测器设计原理

phi增量故障检测器概念phi增量(φ-accrual)故障检测器不是将节点故障视为二元判断问题(即进程只能处于两种状态:在线或宕机),而是用连续范围来捕获被监视进程崩溃的概率。它的工作方式是维护一个滑动窗口,从对等进程收集最近心跳的到达时间。该信息用于估算下一个心跳的到达时间,将该近似值与实际到达时间进行比较,并计算可疑程度φ:代表在给定当前网络条件下,故障检测器对故障的置信度。phi增量故障检测器原理该算法的原理是:收集和采样到达时间,创建出一个可用于对节点健康状况做出可靠判断的视图,然后使用这些

2022-10-23 15:39:55 222

原创 Doris物化视图使用实战

物化视图是将预先计算(根据定义好的 SELECT 语句)好的数据集,存储在 Doris 中的一个特殊的表。物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。

2022-10-21 14:21:16 208

原创 Doris Broker Load入门实战

Doris安装参照官网:https://doris.apache.org/zh-CN/docs/get-starting/get-starting.html#%E5%8D%95%E6%9C%BA%E9%83%A8%E7%BD%B2。具体参加:https://doris.apache.org/zh-CN/docs/dev/sql-manual/sql-reference/Data-Manipulation-Statements/Load/BROKER-LOAD。查看HDFS目录,确保HDFS服务正常。

2022-10-21 13:58:14 1338

原创 一致性语义说明:严格一次,至少一次,最多一次

严格一次关于是否可以做到严格一次传递(exactly-once delivery)指的消息只严格传递一次到接收方并能成功被接收方处理。至少一次由于链路故障可能导致传递消息的第一次尝试无法成功,因此大多数实际的系统都采用至少一次传递(at-least-once delivery),它确保了发送方将重试直到收到确认为止,否则就认为对方没有收到该消息。最多一次最多一次(at-most-once):发送方仅仅发送消息而不期待得到任何确认。什么是共识?为了确保严格一次传递,各节点需要一个共识:每个节点都

2022-10-19 08:12:48 502

原创 分布式系统常见故意及解决思路

什么是级联故障?我们做不到总是完全隔离故障:被高负载压垮的进程会增加集群其余部分的负载,从而使其他节点更有可能发生故障。级联故障能够从系统的一部分传播到另一部分,扩大了问题的范围。有时,级联故障甚至可能来源于完全善意的目的。例如,某个节点离线了一段时间,因而没有接收到最近的更新。当它恢复在线时,乐于助人的其他节点希望帮助它追赶上最近的变化,于是开始向它发送缺失的数据,而这又导致网络资源耗尽,或是导致该节点启动后短时间内再次发生故障。通过熔断器防止故障扩散为了防止系统的故障扩散并妥善处理故障场景,我们

2022-10-18 23:32:49 208 1

原创 常用故障模拟工具

1:Toxiproxy用于模拟网络问题:限制带宽、引入延迟、超时等。2:Chaos Monkey的方法更为激进,它通过随机关闭服务使工程师直面生产环境故障风险3:CharybdeFS模拟文件系统及硬件错误与故障。4:CrashMonkey是一个与文件系统无关的记录–重放–测试框架,用于测试持久性文件的数据及元数据一致性。可以用这些工具来测试软件,以确保在这些故障出现时软件仍能正确工作。

2022-10-18 23:05:39 475

原创 队列在分布式系统&多进程&多线程中的作用

任务解耦使接收和处理在时间上分开,并各自独立发生。流水线化(pipline)编程不同阶段的请求由系统中独立的部分处理。负责接收消息的子系统不用阻塞到上一条消息处理完成。流量削峰填谷(流量优化)系统负载可能经常变化,但是请求到达的间隔时间对负责处理请求的组件是隐藏的。总体的系统延迟会由于排队而增加,但这通常仍比响应失败并重试请求更好。队列大小取决于工作负载和应用程序。对于相对稳定的工作负载,我们可以通过测量任务处理时间以及各任务的平均排队时间来确定队列大小,从而确保在提升吞吐量的同时,延迟仍保持在

2022-10-18 22:43:59 75

原创 数据库的写缓冲、不可变性和有序性

写缓冲增加内存缓冲区总是对写放大有积极的影响。在像WiredTiger和LA树这样使用原地更新的数据结构中,内存缓冲区有助于通过合并多个相同页的写入来均摊它们的开销。换句话说,缓冲有助于减少写放大。不可变数据结构在不可变数据结构中(如多组件LSM树和FD树),缓冲具有类似的积极作用,但是以未来发生的重写为代价,这些重写发生在将数据从一个不可变的层移动到另一个不可变层时。换句话说,使用不可变性可能会将写放大延迟。同时,使用不可变性对并发性和空间放大有积极的影响,因为所讨论的大多数不可变结构使用的页是全满

2022-10-18 00:05:25 145

原创 LSM树中的并发技术解密

LSM树并发的难点LSM树中的并发挑战主要与切换表视图(在刷写和压缩过程中更改的内存驻留表和磁盘驻留表的集合)和日志同步有关。memtable通常也是并发访问的。LSM树并发需要遵守的原则1.新的memtable必须对读写可用。2. 旧的(正在刷写的)memtable必须对读保持可见。3. 正在刷写的memtable必须写到磁盘上。4. 丢弃已经刷写的memtable与创建刷写磁盘驻留表这两个操作必须被原子地执行。5. 预写日志中,记录之前曾应用于被刷写memtable的操作的日志段必须被

2022-10-15 23:16:15 342

原创 布隆过滤器原理和使用

LSM读放大问题背景LSM树中读放大的来源是,我们必须寻址多个磁盘驻留表,以便完成读取操作。这是因为我们不一定能预先知道一个磁盘驻留表是否包含要搜索的键指向的数据记录。LSM使用bloomfilter减少数据扫描防止表查询的方法之一是在元数据中存储其键的范围(存储给定表中的最小和最大键),并检查要搜索的键是否在该表的范围之内。这一信息是不精确的,它只能告诉我们数据记录是否可能会出现在表中。为了改进这种情况,包括Apache Cassandra和RocksDB在内的许多实现都使用一种称为布隆过滤器(Bl

2022-10-15 17:16:28 529 1

原创 RUM猜想

有一种流行的存储结构开销模型考虑了如下三个因素:读取(Read)、更新(Update)和内存(Memory)开销,它被称为RUM猜想。*** RUM猜想指出,读取(Read)、更新(Update)和内存(Memory)开销减少其中两项开销将不可避免地导致第三项开销的恶化,并且优化只能以牺牲三个参数中的一个为代价。***B树的RUM我们可以根据这三个参数对不同的存储引擎进行比较,以了解它们针对哪些参数进行了优化,以及其中隐含着哪些可能的权衡。一个理想的解决方案是拥有最小的读取开销,同时保持较低的内存与写

2022-10-15 00:11:54 178

原创 数据库中的读写放大与空间放大

在实现最优compaction策略时,我们必须考虑多个因素。一种方法是回收重复记录占用的空间,减少空间开销,但这会产生由不断重写表导致的更高的写放大。替代方案是避免连续重写数据,而这又增加了读放大(在读取期间协调关联到相同键的数据记录的开销)和空间放大(因为冗余记录会被保存更长时间)。读放大:由为了检索数据而需要读取多个表所引起。写放大: 由compaction过程中不断进行的重写所引起。空间放大由: 存储关联到同一键的多个记录所引起。

2022-10-15 00:04:11 1467

原创 LSM之memtable

刷写memtable可以被周期性地触发,也可以通过大小阈值来触发。在其可被刷写之前,必须进行memtable切换:分配一个新的memtable,它成为所有新的写入操作的目标,而旧的memtable则变成刷写状态。这两个步骤必须被原子地执行。在其内容被完全刷写之前,被刷写的memtable仍可用于读取。在此之后,旧的memtable将被丢弃,取而代之的是一个新写入的磁盘驻留表,该表可用于读取。LSM树的组件、它们之间的关系,以及实现它们之间转换的操作。当前的memtable:接收写请求并服务读请求。正在

2022-10-14 23:27:24 206

Cassandra实战

《Cassandra实战》是国内首本Cassandra专著,由Cassandra领域的先驱者和实践者亲自执笔,多位数据库专家联袂推荐,权威性毋庸置疑。《Cassandra实战》内容全面,基于Cassandra最新版撰写,系统地讲解了Cassandra的所有功能特性和使用方法;实战性强,不仅包含大量示例代码,而且还设计了一个完整的在线交易系统实例;有一定的深度,不仅结合源代码分析了Cassandra的底层机制和工作原理,而且还精心总结了一些关于Cassandra的最佳实践。

2018-06-01

openlayers 3 examples

openlayers 3 examples

2016-06-17

openlayers 3 api

openlayers 3 api

2016-06-17

openlayers 3 压缩后代码

openlayers 3 压缩后代码

2016-06-17

大规模Web服务开发技术

大规模Web服务开发技术

2016-06-17

AngularJS 路由

AngularJS 路由

2016-06-17

AngularJS权威教程代码

AngularJS权威教程代码

2016-06-17

全卸载oracle11g教程

全卸载oracle11g教程,亲测可用!折腾了一天,终于制服oracle!

2015-11-22

bootstrap-3.3.4 最新API

bootstrap-3.3.4 最新API

2015-05-06

angular 开发种子

angular 开发种子,方便初次开发,angular 开发种子,方便初次开发

2015-05-06

openLayers-API中文版

openLayers-API中文版

2015-05-01

OpenLayers-2.13.1API

OpenLayers-2.13.1 API

2014-04-09

基于c#和js的Skyline demo

基于c#和js的Skyline demo

2014-04-09

百度地图api

百度地图api 简单的开发方式,易于获得的数据源。作分析很简单,但是服务扩展很难!

2012-08-08

arcgis最短路劲分析

arcgis api for engine 最短路径分析 实现方式c#

2012-08-08

ArcGIS API For Android开发教程

ArcGIS API For Android开发教程

2012-07-26

ArcGIS Runtime for Android API 2.0

ArcGIS Runtime for Android API 2.0

2012-07-26

AdobeFlex框架中的视频GIS系统设计与开发

AdobeFlex框架中的视频GIS系统设计与开发

2012-04-27

flashbuilder_4_help

flashbuilder_4_help:来自官网。对入门者很有用!

2012-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除