数据库
文章平均质量分 68
涂有
架构世界,架构未来
展开
-
ES增量同步方案
基于对我们系统现状的分析,最终确定的方案选择是基于Oracle的SCN机制 + 触发器来实现增量同步数据到ES,不依赖开源框架,基于Oracle的SCN机制实现insert/update数据的增量同步,基于delete触发器实现delete数据的增量同步。通过数据库的触发器监控数据的增加、修改、删除,然后把新增、修改、删除的数据备份一条数据到变更记录表里,通过Java定时器定时同步方式的把变更的数据同步到ES中,具体同步流程参数下图。缺点:1、通知特性是Oracle的实验特性,并不稳定,有些版本并不支持;原创 2023-03-10 22:25:24 · 2754 阅读 · 0 评论 -
【ElasticSearch笔记】
分析器都有三部分组成:字符过滤器、分词器、分词过滤器,其中字符过滤器和分词过滤器可以有多个,分词器只有一个建立索引和查询需要用相同的分析器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UcQL7iB-1661069228237)(img/分析器.png)]_ttl: 剩余存活时间_timestamp: 创建时间_all:表示所有字段可以多次定义映射,并且新的映射会和老的映射自动合并;但是无法改变已有的字段类型和索引方式。原创 2022-08-21 16:08:36 · 829 阅读 · 0 评论 -
架构设计读书笔记-性能篇(一)
概述计算机的性能,从硬件来说,一个和IO相关(磁盘、内存),一个和计算能力相关(CPU、GPU)。说到软件的性能,也可以理解为这两个方面,即存储和计算。一、存储高性能1、关系数据库1)读写分离**定义:**将数据库的读写操作分散到不同的节点上。基本实现:(1) 一般采用主从集群的方式,一主多从,主可以进行读写操作,从只负责读(2) 主通过复制的方式同步写的数据到从,每个主从节点需要保存完整的数据常见问题:(1)主从复制延迟。主节点写完成后,如果有大量数据需要同步,就会出现延迟现象,转载 2021-07-19 22:25:29 · 181 阅读 · 0 评论 -
You can't specify target table 'Person' for update in FROM clause
delete from Person where id not in ( select min(Id) id from Person group by Email having count(Email) > 1) or Email not in ( select Email from Person group by Email having count(Email) =...原创 2019-05-16 23:30:41 · 4213 阅读 · 1 评论 -
一篇文章搞懂MySQL
高性能推荐的MySQL分支版本:mariaDB、percona server对于非严格苛刻交易型的数据表,建议用 MariaDB,这个版本目前在开源界很盛行,评价很高,percona 版本也值得推荐,percona 有很多辅助的运维工具。有意思的函数in用group_concat()函数,@@GROUP_CONCAT_MAX_LEN表示分组的最大长度convert()/原创 2017-12-25 18:00:08 · 1169 阅读 · 0 评论 -
数据库分区分片(Shards)技术概览
什么是shardingSharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID 散列)转载 2018-01-05 14:23:59 · 12505 阅读 · 0 评论 -
MySQL+MyCat实现读写分离和主备热切换
配置MyCat的schema.xml文件 <dataHost name="localhost1" maxCon="1000" minCon="10" balance="2" writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100"> show slave st原创 2018-01-11 22:05:04 · 2793 阅读 · 0 评论 -
mysql 判断使用了组合索引的哪些列
可以根据执行计划explain的ken_len来判断复合索引中字段是否有使用,计算规则如下: 当索引字段为定长数据类型,比如char,int,datetime,需要有是否为空的标记,这个标记需要占用1个字节;对于变长数据类型,比如:varchar,除了是否为空的标记外,还需要有长度信息,需要占用2个字节;同时还需要考虑表所使用的字符集,不同的字符集,gbk编码的为一个字符2个字节,utf8编码原创 2017-12-26 16:51:53 · 1099 阅读 · 0 评论 -
解决SQL server 2005主键自动增长问题
首先我要说明一下,sql server 2005并没有可视化的设置主键自动增长的功能,也就是只能写脚本,不能在右键或者快捷方式设置,不过sql server 2000却是有的。我们要在sql server 2005中设置主键自动增长我们需要使用其脚本语言来设置。 如建表是create table mytest ( id int primary key identity(1,1)转载 2013-06-07 17:02:10 · 3681 阅读 · 0 评论 -
Oracle创建删除用户、角色、表空间、导入导出命令总结
//创建临时表空间create temporary tablespace zfmi_temptempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local;//tempfile参数必须有/转载 2014-06-30 09:20:16 · 550 阅读 · 0 评论 -
elasticsearch 5.4映射类型语法变化
type以前老版本要表示字段映射类型为字符串,用type:"string"现在“string”被“text”、“keyword”替换,text表示全文索引,keyword表示精确匹配index以前老版本要字段是否支持全文索引,用的是{type:"string",index:"not_analyzed | analyzed | no"},其中analyzed表示支持现在被inde原创 2017-05-31 15:01:25 · 1048 阅读 · 0 评论 -
ElasticSearch 5.4 Linux安装教程
下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-4-1 首先新建用户,es规定root用户不能启动es,所以必须新建用户groupadd esuseradd -g es eschown es:es elasticsearch-5.4.1.zipsu es 切换到es用户执行以下命令操作...原创 2017-06-20 10:32:33 · 3408 阅读 · 0 评论 -
MySQL QPS/TPS/缓存命中率/数据库压力 查看
show global status like 'uptime' ; -- 启动时间,单位秒(1)QPS(每秒Query量) QPS = Questions(or Queries) / seconds mysql > show global status like 'Questions'; -- 没经过查询缓存的sql数量 (2)TPS(每秒事务量) TPS原创 2017-12-26 16:50:28 · 1602 阅读 · 1 评论 -
MySQL设置锁、事务隔离级别的常用命令
锁1、查看表锁, Table_locks_waited较高表明锁争用比较严重show status like 'table%' 2、查看行锁,Innodb_row_lock_waits和InnoDB_row_lock_time_avg较高表明锁争用比较严重show status like 'innodb_row_lock%' 3、加写表锁(需手动unclock ta...原创 2017-03-04 21:48:42 · 5956 阅读 · 0 评论 -
解决Java API不能远程访问HBase的问题
今天我在虚拟机里面安装了Hbase 1.2.4,说在windows上Java API调用访问下玩玩,结果始终连接不上。现象是启动程序后,程序出现卡死的状态,没报错也不停止,大约半分钟后才打印一堆日志出来,说连接重试了多次也连接不上,截图如下:这个问题纠结了我半天,一查看发现HBase绑定的是本地IP:127.0.0.1,这当然访问不了然后我想可以把HBase的绑定在指定IP上,...原创 2017-07-12 14:42:30 · 16975 阅读 · 9 评论