db2

数据结构与算法之美_26_红黑树(下):掌握这些技巧,你也可以实现一个红黑树

时间秒杀一切 提交于 2020-04-24 16:06:14
上一节,我们讲到红黑树定义的时候,提到红黑树的叶子节点都是黑色的空节点。这是为了代码实现方便,那更加确切的原因是什么呢? 实现红黑树的基本思想 魔方的复原解法是有固定的算法的:遇到那几面是什么样子,对应就怎么转几下。只要跟着这个复原步骤,就肯定能将魔方复原。 实际上,红黑树的平衡过程跟魔方复原非常神似,大致过程就是:遇到什么样的节点排布,我们就对应怎么去调整。只要按照这些固定的调整规则来操作,就能将一个非平衡的红黑树调整成平衡的。 我们再回顾下红黑树需要满足的几个要求: 根节点是黑色的; 每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据; 任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的; 每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点。 在插入,删除节点的过程中,第三、第四点要求可能会被破坏,而我们今天要讲的“平衡调整”,实际上就是要把被破坏的第三、第四点恢复过来。 在正式开始之前,我们先介绍两个非常重要的操作,左旋(rotate left)、右旋(rotate right)。 左旋全称其实是叫围绕某个节点的左旋,那右旋的全称就是围绕某个节点的右旋。 下面讲的平衡调整中,会一直用到这两个操作,下图所示就是这两个操作的示意图,图中的 a、b、r表示子树,可以为空。 前面说了,红黑树的插入、删除操作会破坏红黑树的平衡

es整理

夙愿已清 提交于 2020-04-23 21:49:32
es写操作 往primary同步到replica,replicaa和primary不在同一台机器,如果primary挂掉会把replica提成primary节点。 kafka只能从partition的leader读写数据,而es没有限制。 如果replica所在的机器2宕机,后重启,这台机器会改为primary节点。 es写入过程 一定不能丢数据,需要设置参数 删除数据 合并数据 数据写入到segment file之后,同时就建立好倒排索引了 查询 搜索 会拿着搜索的关键字,去拿node上的任意一个replicaa和primary找,最终返回给协调节点,协调节点根据document去筛选给返回客户端 来源: oschina 链接: https://my.oschina.net/u/3730149/blog/3531079

本地操作系统备份还原介绍

我的梦境 提交于 2020-04-23 04:54:03
互联网技术发展的近几年,数据灾备领域也发生了一些重大变革。与互联网的其他领域一样,云计算技术已到业务的开发与应用。将云集成到备份和灾难恢复应用中,灵活的实现了传统灾备方式不具备的交付方式和功能。 关于UCACHE企业级云灾备的一些功能实现: 勒索病毒防护 保护企业的核心数据免遭这类勒索软件加密或锁定降低企业生存风险。 文件系统备份/恢复 保护企业的非结构化数据,满足全量备份和增量备份要求。 云平台备份/恢复 保护企业的自建云平台运营安全,兼容Openstack、CAS、FusionCloud等云平台。 虚拟化备份/恢复 保护企业的虚拟化平台数据运营安全,兼容VMware、Hyper-v、XenServer等虚拟化平台。 数据库备份/恢复 持续性数据保护帮助企业数据库等应用备份RPO≈“0”保障核心数据运营安全,支持DB2\ \MySQL\Oracle\SAP HANA\SQL等。 数据迁移工具 一站式帮助企业不中断,高效无缝迁移业务,为云转移、设备替换、业务割接场景,提供了搬迁、校验、同步、加密等完美体验。 UCACHE灾备云本地数据保护应用场景 UCACHE云灾备保护本地机房物理数据,包括办公文件,设计稿,音视频,医疗影像等重要文件,虚拟机配置及数据文件,操作系统、磁盘卷级备份DB2 、 GaussDB 、 GBase 、 MySQL 、 Oracle 、 SAP HANA 、

error while loading shared libraries: libevent cannot open shared object file

て烟熏妆下的殇ゞ 提交于 2020-04-22 22:25:24
错误提示 程序执行时,默认去/lib/或者/usr/lib下连接动态库 此时可以把要链接的动态库复制到这两个目录下,程序执行时就能自动链接执行 或者把动态链接库目录添加到/etc/ld.so.conf 文件中 执行ldconfig生效 来源: oschina 链接: https://my.oschina.net/u/4149215/blog/3301944

earthly 使用中碰到的一些问题说明

爷,独闯天下 提交于 2020-04-22 13:29:06
buildkit依赖 earthly 依赖buildkit,我们可以自己搭建buildkit集群,或者earthly自己基于容器运行,可以通过 --buildkit-image 指定buildkit的镜像,当前的为 earthly/buildkitd:v0.1.0 无网络环境的问题 目前在测试机器无网络环境构建镜像的时候发现暂时不太好事(buildkit的原因),通过大略查看buildkit 的源码,发现 在upack 阶段会有根据manifest 发去http 请求的处理,如果机器没有网络会有类似如下的错误 failed to load cache key: failed to do request: Head https: //registry-1.docker.io/v2/library/busybox/manifests/1.31.1: dial tcp 54.210.105.17: 443: i / o timeout earthly 大致流程(后边详细介绍) 通过bcc的execsnoop查看到的,有利于学习earthly的一些原理 测试的命令 earth -- buildkit - image xxxx / buildkitd: v0 .1.0 + docker 效果 PCOMM PID PPID RET ARGS earth 24375 23225 0 / bin

TiDB 在金融场景里面那些不得不说的事

心不动则不痛 提交于 2020-04-21 20:20:46
今年春天突如其来的新冠病毒疫情,在一定程度上改变了人们的生活、工作习惯,给各行各业带来了巨大影响。银行也难逃“池鱼之殃”:传统商业银行的盈利能力、资产和信贷规模都受到了一定程度的影响。疫情期间,人们对线上银行服务的需求激增,原本深受诟病传统银行的技术架构,又一次被推上了风口浪尖。有”危“就有“机”,疫情期间,北银金科云计算应用部副总经理 & 金融业务及解决方案专家于振华老师做客 TiDB 直播间,分享了 TiDB 在金融场景的应用,以下为直播文字回顾。 本文以银行业数据库架构演进为契机,结合商业银行的核心业务,探讨未来商业银行的技术发展趋势和机遇。 第一部分:背景介绍 我发现随着时间的推进,金融科技工作者感觉越来越累,因为技术变化是一直存在的,金融科技发展有一个非常快的加速度,并且我觉得未来应该也会延续这种趋势。下面这张图,如果是你能够站上这条曲线,能够追上科技的发展,那就能够利用科技的力量来赋能业务,这就是为什么我们现在这么累,为什么大家感觉科技工作者的节奏越来越快的理解。 具体谈到在业务层面,第一是互联网的业务爆发增长,对系统提出了更高的要求,以往没有互联网的时候,业务可能是恒定的量,有了互联网,有了线上化的模式,需要系统架构有一定的可扩展能力。第二是我们现在做互联网金融产品,就是要快速上线,快速适应市场的行情,具备快速交付能力。第三就是要做到自主可控,做到金融安全可以把控

Python全栈 MySQL 数据库 (简述 、安装、基本命令)

邮差的信 提交于 2020-04-21 04:02:38
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰   开局一张图 一个月的python已经结束了 下面就是数据库了 先说MySQL 这个数据库应该差不多是用户量最多的了 MySQL概述: 1.什么是数据库:      存储数据的厂库 2.有哪些公司在用数据库    金融 机构、 游戏 网站、 购物 网站、 论坛 网站... 3.提供 数据库 服务的 软件 :     1.软件的分类:        MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB     2.生产环境中,如何 选择 使用哪些 数据库 软件:        1.是否开源         1.开源软件:MySQL、Mariadb、MongoDB         2.商业软件:Oracle、DB2、SQL_Server        2.是否跨平台         1.不过平台:SQL_Server         2.跨平台:......         3.公司的类型:      商业软件 :政府部门、金融机构      开源软件 :游戏网站、购物网站、论坛网址站 4.MySQL的特点:    1.关系型数据库     1.关系型数据库的特点       1.数据是 以行和列 ( 表格 )的形式 存储的       2.表格到的每 一行是一条记录

《SQL 反模式》 学习笔记

落花浮王杯 提交于 2020-04-20 09:59:53
第一章 引言 GoF 所著的的《设计模式》,在软件领域引入了 “设计模式”(design pattern) 的概念。 而后,Andrew Koenig 在 1995 年造了 反模式(anti-pattern) (又称反面模式)这个词,灵感来自于 GoF 所著的的《设计模式》。 反模式指的是在实践中经常出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。它们已经经过研究并分类,以防止日后重蹈覆辙,并能在研发尚未投产的系统时辨认出来。 所以,反模式是特殊的设计模式,而这种设计模式是欠妥的,起到了反效果。 但有的时候,出于权衡考量,也会使用反模式。 例如数据库的结构中使用的 反规范化 设计。 下面的每一章,都会列举一种特定场景下的反模式,然后再给出避免使用反模式的建议。 有个别章节,我略去了反模式,直接写解决方案了。 第二章 乱穿马路 假设有 Product 和 Account 两个实体。 1、一对一关系 假设:Product 只有一个 Account(即 Account 也只有一个 Product)。 方案:只用 一张表 ,用两个字段(Product + Account)关联即可。 如无必要,就别用多个表,这会增加复杂度(除非考虑未来的拓展性等其他情况)。 2、一对多关系 假设:Product 可以有多个 Account。 方案1: 两张表 ,一个 Product

Mysql高手系列

拥有回忆 提交于 2020-04-18 07:38:46
这是Mysql系列第13篇。 环境:mysql5.7.25,cmd命令中进行演示。 当数据的值为NULL的时候,可能出现各种意想不到的效果,让人防不胜防,我们来看看NULL导致的各种神坑,如何避免? 比较运算符中使用NULL 认真看下面的效果 mysql> select 1>NULL; +--------+ | 1>NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<NULL; +--------+ | 1<NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<>NULL; +---------+ | 1<>NULL | +---------+ | NULL | +---------+ 1 row in set (0.00 sec) mysql> select 1>NULL; +--------+ | 1>NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<NULL; +--------+ | 1<NULL | +--------+ | NULL | +--------+ 1

Mysql高手系列

只谈情不闲聊 提交于 2020-04-18 07:38:04
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 这是Mysql系列第21篇。 本文开始连续3篇详解mysql索引: 第1篇来说说什么是索引? 第2篇详解Mysql中索引的原理 第3篇结合索引详解关键字explain 本文为索引第一篇:我们来了解一下什么是索引? 路人在搞计算机之前,是负责小区建设规划的,上级领导安排路人负责一个万人小区建设规划,并提了一个要求:可以快速通过户主姓名找到户主的房子;让路人出个好的解决方案。 方案1 刚开始路人没什么经验,实在想不到什么好办法。 路人告诉领导:你可以去敲每户的门,然后开门之后再去询问房主姓名,是否和需要找的人姓名一致。 领导一听郁闷了:我敲你的头,1万户,我一个个找,找到什么时候了?你明天不用来上班了。 这里面涉及到的时间有:走到每户的门口耗时、敲门等待开门耗时、询问户主获取户主姓名耗时、将户主姓名和需要查找的姓名对比是否一致耗时。 加入要找的人刚好在最后一户,领导岂不是要疯掉了,需要重复1万次上面的操作。 上面是最原始,最耗时的做法,可能要找的人根本不在这个小区,白费力的找了1万次,岂不是要疯掉。 方案2 路人灵机一动,想到了一个方案: 给所有的户主制定一个编号,从1-10000,户主将户号贴在自家的门口 路人自己制作了一个户主和户号对应的表格,我们叫做: 户主目录表 ,共1万条记录,如下: 户主姓名