首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FAQ系列之Kafka

Cloudera 平台中为操作数据库使用 Kafka 好处是集成、安全、治理和集中管理。您可以避免孤立架构风险和成本,并提供“另一种解决方案”来支持。 什么是Kafka消费者?...您生产者可能需要对写入性能和 SLA 保证进行一些调整,但通常比您消费者更简单(错误情况更少)。 可以 Kafka Java 代码调用哪些功能?...为集群 Kafka 和 Zookeeper 角色提供足够内存。(推荐:4GB 用于代理,其余内存由内核自动用作文件缓存。) Kafka 集群上有足够磁盘空间。...如果您有 3 个以上主机,您可以需要更多数据丢失保护主题上适当增加代理设置。 一旦遵循了之前所有建议,集群就永远不会丢失数据,对? Kafka不保证永远不会发生数据丢失。...回想一下关于Kafka以下事实: 创建主题时,您可以设置分区数。分区数越高,并行性越好,并且事件集群分布越均匀。

94430

《数据密集型应用系统设计》消息代理

介绍 消息代理可以看作是 处理数据流进行优化数据库。 消息代理通常部署独立服务器当中,无论是生产者还是消费者,都有可能来自于不同服务。...比如是否持久化问题,有的消息代理处理消息方式是无论是否消费都会存盘(Rocket MQ),保证消息不会随服务器宕机丢失消息数据。...消息代理优势和劣势都在异步处理,生产者只需要确保生产数据正确发送并且正确存储到消息代理,这些步骤处理完成之后,生产可以接着处理其他业务。...这一步操作需要消耗系统CPU和IO资源。 数据库通常会使用多级索引加快数据搜索,消息代理通常支持某种消息模型来支持特定主题主题发送模式,以及利用日志顺序读写加快数据搜索。...消费者仅仅通过偏移量就可以检查最新消费内容,宕机重启之后从磁盘日志中找到丢失消息进行重新接受和处理。

23330
您找到你想要的搜索结果了吗?
是的
没有找到

算法工程师面试理想与现实

,我们不能允许任何人不小心编写某个 O(n^2) 算法导致系统宕机。”...比特面试问题与现实世界存在大量冗余数组实现有所不同,因为现实世界里这个问题解决方案与预期答案相距甚远,因此可能不会有人要求你进行常数级别的提高速度。...再假设有一家公司评测代码时会观察调用频率最高代码,以寻找计算最繁重那一部分库。在这两种假设下,“窍门”不涉及任何算法问题,只需要多看就行了,完全可以通过激励措施解决。...而且,在有些情况下,虽然你想设置门槛,但门槛只有2寸高,人家可以轻松地迈过去。 从实际生产力来看,这家公司是工作过公司中生产力最高一家。...如果有些公司希望人们在工作解决面试级别的算法问题,那么他们可以通过激励措施达成这一目标。为此,我们需要付出额外努力或想别的办法,不是仅凭白板上解决算法问题过滤面试者。

42120

Java每日十题——日积月累更能事半功倍

一个大组件中直接处理这些繁杂逻辑处理,使用管道(pipeline)可以把把多个对象连接起来,Valve(阀门)整体看起来就像若干个阀门嵌套在管道处理逻辑放在阀门上。...参考答案:缓存穿透是指用户查询数据,在数据库没有,自然缓存不会有。这样就导致用户查询时候,缓存找不到,每次都要去数据库再查询一遍,然后返回空(相当于进行了两次无用查询)。...缓存雪崩我们可以简单理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同过期时间,同一时刻出现大面积缓存过期),所有原本应该访问缓存请求都去查询数据库了,而对数据库CPU...和内存造成巨大压力,严重会造成数据库宕机。...创建索引时候尽量使用唯一性大列来创建索引,由于使用b+tree做为索引,以innodb为例,一个树节点大小由“innodb_page_size”,为了减少树高度,同时让一个节点能存放更多值,索引列尽量整数类型上创建

52620

Oracle 12.2新特性掌上手册 - 第一卷 Availability

Oracle Active Data Guard用户还可以实时访问当前信息。...物理standby数据库上,数据块被标记为不可恢复,并且尝试读取它们任何SQL操作都将返回error。 对于逻辑standby数据库来说,SQL apply将会因为redo失效错误被迫中止。...4、Online Table Move(在线表移动) 非分区表可以作为联机操作移动,不阻止任何并发DML操作。 表移动操作现在还支持自动索引维护作为移动一部分。...请注意,索引不是作为此命令一部分创建创建能够进行分区或子分区交换表对于已经进行了各种结构更改和重组旧表而言可能是一个乏味任务。 使用这个新DDL,任务变得非常简单和直接实现。...但是,如果没有足够空间来创建实例,则返回操作系统级错误。 此增强功能在RMAN执行表恢复之前对辅助实例可用磁盘空间进行预先检查。

1.1K60

删库时,后悔没早学会数据库知识

可以说,ACID 被认为是一个种泛泛概念,不是一个严格执行标准。现在,发现它非常有用,因为它提供了一类问题和一类潜在解决方案。...不过需要注意是,应用程序可以在数据一致性方面做一些处理,或者程序员可能对这个问题有足够了解,可以应用程序添加额外逻辑来处理,不是严重依赖数据库。...开发人员需要在开发期间识别出这些异常,避免在生产环境中出现这个问题。话虽如此,直接从代码识别出写倾斜是非常困难。...t=204 自动递增 ID 有“毒” 自动递增是生成主键常用方法。使用数据库作为 ID 生成器,并在数据库创建带有 ID 生成表,这种情况并不少见。...在线迁移虽复杂,但还是有迹可循 在线或实时迁移就是不停机、不影响数据正确性情况下从一个数据库迁移到另一个数据库

37920

关于数据库,程序员应该了解那些事

但是无论是技术选型还是转型,你都不能忽略一个因素:你选数据库技术你能驾驭? 我们知道,现在有很多开源数据库可以让我们选择,但是我们有相关技术人员精通这些数据库?...技术更新很快,还是希望大家测试开发时候使用新技术,逐步精通过程,缓慢过度生产,如果公司有预算,可以请商业公司进行指导半年到一年,自己人学到精髓后再开展独立运维。...比如我们经常调侃“删库跑路”,虽然是依据调侃,但是是真真的见到过两次,生产环境出现一次,就会在你工作生涯上记上“光辉”一笔,所以说DBA算是一个高危工作了吧。另一种是开发人员使用不当。...再来安利一下Vertica,无Master MPP架构,集群只要不超过一半机器宕机(物理位置不相邻),集群就处于可用状态。 标准SQL ? SQL就是针对数据库查询产生语言。...分析领域我们选择Hadoop和MPP数据库作为支撑,效果也很好,但是越多技术栈意味着越多学习成本和风险。 听过PingCAP提出HTAP架构。

51140

PostgreSQL 13隐藏杀手锏特性

该版本有一些非常有影响力新特性,将在秋季预定时间发布。 PostgreSQL发布过程最喜欢部分之一是回顾和讨论新版本特性,并了解它们如何对我们用户产生正面的影响。...有时,不仅该程序进程崩溃,一些监控项也会失败(循环崩溃)。但是,有一个监控项没有失败:数据库磁盘空间耗尽警告!...事情原由:有一个复制槽未被感知到与备库失联,因此数据库主库一直保留WAL文件。如果不进行干预,PostgreSQL实例可能会耗尽磁盘空间并完全崩溃。...如果超过该值,PostgreSQL将开始删除最早WAL文件。 好消息是此特性可以帮助防止由于意外失联复制槽导致服务宕机。但是,您可能会面临备库不同步问题后必须重建风险。...PostgreSQL 13添加了“标准化”函数,只要服务器使用UTF-8,该函数就可以用于字符串标准化。这个特性有助于UTF-8字符串上执行查找:您也可以使用标准化函数作为表达式索引一部分。

1.2K30

庆祝女足夺冠,特分享 11 条数据库维护金律

当年老板把拉到小黑屋,义正严词地问,“ 能把数据库放心交给你 ”,说实话,心里特别激动。这股激动,今天女足夺冠时,又出现了。...做不到对数据库底层活动了如指掌,那么对数据库脾气和它能力自然不会有太深了解。就像“日久见人心”,“见”前提,就是要“日久”,即多触碰 本文,分享下平常巡检检查点。...如果理解 “三高” 有点费劲,那么首先理解下 “三低”:“低可用/低并发/低性能” “低可用”:经常性宕机,用着用着,数据库链接就断了。...以下就是经常会用到 11 个巡检方案。 a. 索引重建/重构 b. 表分区管理 c. 数据库备份与恢复策略 d. 日志文件清理 e. 表空间监控与自动维护 f. 数据库一致性检查 g....重新评估和设计 baseline 这些方案,实施时间粒度不同,有些可以按月,比如表分区,评估 baseline;有些必须按天, 比如备份,日志文件清理;有些则需实时告警,比如死锁,堵塞。

56020

数据库高可用和分区解决方案-MongoDB 篇

大家还可能会问 MongoDB 副本集是实时同步?这其实也是数据库一致性问题。...另外,设计 MongoDB 副本集过程,我们还需要考虑过载问题,因为过载导致 MongoDB 数据库性能极差。因此,一定衡量好读取量,充分考虑读写节点宕机可能性。...下面简单画了一下分片过程: 分片之前,可以把一个集合看成是单一整块儿,所有文档都包含在这个块当中。...注:已存在集合中进行分片,需保证片键上有索引,如果没有,需要先创建。 MongoDB 分片中有个非常重要组件叫均衡器(balancer),实际上是由 mongos 去扮演这个角色。...自动分片是一个非常理想选择,但自动分片在真实应用场景还是会有很多坑,除非我们在这条路上不断踩坑并不断填坑,拥有足够实力、足够经验,掌控好其每个细节,那我们不妨可以选择自动分片。

3.9K60

【Power BI X SSAS]——再看Power BI数据连接三种方式

(Beta)(0.9 及以上版本) · 数据库服务器 · Teradata 数据库 这种方法重要优点和缺点 可扩展性:主要优势 这种方法不会有大小限制。...仅举一个很小性能调优示例;这是当我表上有 4800 万条记录正常索引得到性能,从具有 4800 万条记录表中进行常规选择总和需要 4 分 4 秒才能运行。...当我拥有聚集列存储索引时,相同查询会在不到1秒时间内响应;当我具有相同数据行数同一个表上拥有聚集列存储索引时,性能显着提高。 03 什么是实时连接(Live Connection)?...关系配置 使用 DirectQuery,您仍然可以某些情况下配置关系。使用实时连接,您没有关系选项卡。这应该在数据源处理。...实时连接没有 Power Query DirectQuery ,您仍然可以执行简单 Power Query 转换。但是实时连接 Power Query 根本不可用。

7K20

企业是如何选择技术栈来做离线数仓

可以同一查询混来自不同数据库表。 支持ANSI SQLLEFT 0UTER JOIN和ODBC。 所有列都有缺省值。...支持索引创建 缺 MySQL最大缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。...3.1 当前技术栈 生产环境数据可以大致分成三类: 业务数据,主要存储MySQL和SQLServer,在这些关系型数据库里面有数以万计表承接着各种生产服务业务数据写入; 基础数据,也是存储MySQL...和SQLServer生产应用时一般会建立一层中心化缓存(如Redis)或者本地缓存; 日志数据,这类数据特点是”append only”,对已经生成数据不会有更新操作,考虑到这类数据高吞吐量...,生产环境一般会用消息队列Kafka暂存; 数据仓库实施数据同步时,会根据需求实时、近实时以及T+1天等不同频率执行数据同步,并且大数据环境会用不同载体承接不同频率同步过来数据。

93010

大厂生产环境RocketMQ都是这样部署

今天我们来聊聊RocketMQ集群部署问题,关于RocketMQ几种集群模式,你都知道,或者你们用是哪一种集群模式呢?...集群模式 1、单Master模式 这种部署方式风险比较大,一旦Broker宕掉,就会导致整个服务不可用,一般只开发环境为了节约资源时候使用,线上环境非常不建议使用。...,也只是会丢失非常少消息,消息时效性也不会有影响,Master宕机后依然可以消费从Slave消费消息,并且这个过程不需要人工干预,性能和多Master模式接近。...数据与服务都无单点故障,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高; 缺点:性能比异步复制模式略低(大约低10%左右),发送单个消息RT会略高,且目前版本主节点宕机后,备机不能自动切换为主机...-b格式为ip:port,port默认是10911 tools下可以看到很多命令,但并不是所有命令都能使用,只有MQAdminStartup初始化命令才能使用,你也可以修改这个类,增加或自定义命令

87730

MySQL - 高可用性:少宕机即高可用?

2 导致宕机原因 我们最常听到数据库宕机原因可能是** SQL 性能很差**。...糟糕表结构设计和索引设计 复制 20% 主备数据不一致 数据丢失或损坏 10% 误操作删除数据,缺少备份 运行环境通常可以看作是支持数据库服务器运行系统资源集合,包括操作系统、硬盘以及网络等。...使用好命名和组织约定来避免产生混乱。例如服务器是用于开发还是生产环境。 谨慎安排升级数据库服务器。...具体到增加冗余相关措施,有两种方案:增加空余容量和重复组件。 增加空余容量比较简单。可以创建一个集群或服务器池,使用负载均衡方案。这样一台服务器失效时,其它服务器可以接管失效服务器负载。...开始这个话题之前,我们先来认识下什么是 “故障转移”。有些人用 “回退” 表示,也有人会使用 “切换”,以表明一次计划切换不是故障后应对措施。

1.5K20

Elastic search 6.0.0 正式发布 大量新特性

5.x 创建 Indices ,但不能读取 2.x 创建 Indices 。...不同是,现在不必重新索引所有的旧 Indices ,你可以选择将其保留在 5.x 群集中,并使用跨群集搜索同时 6.x 和 5.x 群集上进行搜索。...使用排序索引更快查询 通过索引排序,只要收集到足够命中,搜索就可以终止。...稀疏区域改进 以前,每个列每个字段都预留了一个存储空间。如果只有少数文档出现很多字段,则可能会导致磁盘空间巨大浪费。现在,你付出你使用东西。...密集字段将使用与以前相同空间量,但稀疏字段将显着减小。这不仅可以减少磁盘空间使用量,还可以减少合并时间并提高查询吞吐量,因为可以更好地利用文件系统缓存。 完整更新内容请点此查阅

63310

Kafka 已落伍,转角遇见 Pulsar!

当然,在生产环境,架构师和工程师有办法解决上述问题;但是平台/解决方案或站点可靠性上,这是个让人头疼问题,这并不像在代码修复逻辑,然后将打包二进制文件部署到生产环境那么简单。...Kafka 本地 broker 中使用日志文件, Pulsar 把所有主题数据存储 Apache BookKeeper 专用数据层。...Pulsar 优势在于 broker 可以无缝地水平扩展以满足不断增长需求,因为它在扩展时不需要移动实际数据。 ? 如果一个 Pulsar broker 宕机了怎么办?...Kafka 需要清除旧数据才能使用磁盘空间;与 Kafka 不同,Pulsar 把主题数据存储一个分层结构,该结构可以连接其他磁盘或 Amazon S3,这样就可以无限扩展和卸载主题数据存储量。...另外,体系架构方面 Pulsar 大型消息传递解决方案速度要快得多,随着雅虎和 Twitter(以及许多其他公司)把 Pulsar 部署到生产环境,说明 Pulsar 稳定性足以支撑任何生产环境

1.3K20

PostgreSQL表膨胀终结者

点击上方蓝字关注 ? PostgreSQL数据库删除数据后磁盘空间未释放,该怎么办? 主流压缩表工具有哪些?该如何选择?...1、从空间未释放说起 近期生产环境出现一张表占用size已达2T,且会定期删除记录,但是,空间一直未释放,是何原因? 原因就在于vacuum,vacuum怎么存储,清理数据可参考官方文档进行查看。...拷贝过程为了避免表被锁定,会创建了一个额外日志表来记录原表改动,并添加了一个涉及INSERT、UPDATE、DELETE操作触发器将变更记录同步到日志表。...当原始表数据全部导入到新表索引重建完毕以及日志表改动全部完成后,pg_repack会用新表替换旧表,并将原旧表Drop掉。此工具过程简单且靠谱,单需要额外磁盘空间来报错临时创建中间表。...pg_repack pgcompacttable 是否需要保证性能 否 是 是否移动表/索引 是 否 是否有足够空间 是 否 压缩速率是否高 是 否 小结:因很多场景下磁盘空间有限,因而经常选择使用pgcompacttable

1.3K30

消息队列核心知识点_rocketmq

流量消峰: 如果高并发访问系统A(A没有数据库操作),A调用B(B有数据库操作),那么瓶颈B,因为数据库操作是比较耗时。...ConsumeQueue:消息消费逻辑队列,类似数据库索引文件。 IndexFile:消息索引文件,主要存储消息 Key 与 offset 对应关系,提升消息检索速度。...Queue 文件可以看作是索引文件,类似于 MySQL 二级索引存放了同一主题下所有消息,消费者消费时候只需要去对应 Queue 组取消息即可。...缺点:单台机器宕机期间,这台机器上未被消费消息机器恢复之前不可订阅,消息实时性会受到受到影响。 多 Master 多 Slave 模式,异步复制(2m-2s-async)。...优点:即使磁盘损坏,消息丢失非常少,且消息实时性不会受影响,因为Master 宕机后,消费者仍然可以从 Slave消费,此过程对应用透明。不需要人工干预。性能同多 Master 模式几乎一样。

57120

有效降低数据库存储成本方案与实践

Tech 导读 互联网行业降本增效大背景下,如何治理成本投入重灾区——数据库(Mysql)成为了开发人员眼中头等大事,本文介绍了降低数据库成本方法与思路,并且介绍了实践过程需要着重关注风险点与抵御风险措施...01 背景 今年敏捷团队建设通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此Runner探索之旅开始了!...因此删除索引这个方案通常是索引滥用情况下使用,清理滥用索引过程,附带降低了一些磁盘占用。...“冷热分离”是另一种极端,它改变了原有系统存储架构,架构合理性也许会提升,但这个系统改造成本是巨大,如冷热数据同步机制,冷数据迁移方案,原数据库冷数据清理方案,冷数据压缩方案、生产灰度方案等。...(业务)全场景安全:遵循灰度周期递减方式,第一阶段灰度开始时,经历时间要足够长,确保新内容已经经历过所有生产场景(all story)考验,这样能够保障新内容在业务上是正确,之后可以逐步缩短验证周期

24010

拼多多面试题

①从数据库向主数据库发送sync(数据同步)命令。 ②主数据库接收同步命令后,会保存快照,创建一个RDB文件。...③当主数据库执行完保持快照后,会向从数据库发送RDB文件,数据库会接收并载入该文件。 ④主数据库将缓冲区所有写命令发给从服务器执行。...Redis内存占用主要可以划分为以下几个部分: 1、数据 作为数据库,数据是最主要部分;这部分占用内存会统计used_memory。...2、进程本身运行需要内存 Redis主进程本身运行肯定需要占用内存,如代码、常量池等等;这部分内存大约几兆,大多数生产环境与Redis数据占用内存相比可以忽略。...这部分内存不是由jemalloc分配,因此不会统计used_memory。 补充说明:除了主进程外,Redis创建子进程运行也会占用内存,如Redis执行AOF、RDB重写时创建子进程。

1.2K30
领券