数据库
文章平均质量分 78
喝醉的咕咕鸟
每天学一点,进步一点点
展开
-
JSqlParser-SQL解析处理
JSqlParse是一款很精简的sql解析工具,将sql语句转成Java对象,同时也可以根据Java对象进行构建数据库sql。原创 2022-07-07 15:32:18 · 7284 阅读 · 3 评论 -
中间件-Canal
Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。 目前。Canal主要支持了 MySQL的Binlog解析,解析完成后才利用Canal Client来处理获得 的相关数据 (数据库同步需要阿里的 Otter 中间件,基于 Canal)。原创 2022-04-13 13:01:52 · 3815 阅读 · 0 评论 -
分布式数据库Cassandra
Apache Cassandra是高度可扩展的,高性能的分布式NoSQL数据库。提供高可用性而无需担心单点故障。具有能够处理大量数据的分布式架构。数据放置在具有多个复制因子的不同机器上,以获得高可用性,而无需担心单点故障。弹性可扩展性 - Cassandra是高度可扩展的;它允许添加更多的硬件以适应更多的客户和更多的数据根据要求。始终基于架构 - Cassandra没有单点故障,它可以连续用于不能承担故障的关键业务应用程序。原创 2022-11-17 16:25:53 · 4477 阅读 · 1 评论 -
时序数据库 InfluxDB
InfluxDB 是一个,GO 编写的,旨在处理高写入和查询负载。InfluxDB 旨在用作涉及大量时间戳数据的任何用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。原创 2022-11-15 21:57:50 · 8442 阅读 · 0 评论 -
Datax-异构数据源离线同步
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,进行数据同步。原创 2022-11-10 17:05:21 · 1507 阅读 · 0 评论 -
redis内存策略
redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节),如果内存超过了,没有设置内存策略,则程序报错。需要设置内存策略。配置文件中的maxmemory-policy:其默认值是noeviction。LRU算法:最近最少使用算法。默认删除最近最少使用的键。同时,我们需要注意一下redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取3个键...原创 2019-01-18 23:23:57 · 631 阅读 · 0 评论 -
Java的Redis操作
Java的Redis客户端Jedis:Jedis jedis = new Jedis("127.0.0.1",6379);//keySet<String> keys = jedis.keys("*");//Stringjedis.set("k4","k4_Redis");//ListList<String> list = jedis.lrange(&quo原创 2018-11-14 21:27:40 · 226 阅读 · 0 评论 -
Nosql-redis介绍和操作
技术的分类解决功能性的问题:Java、Jsp、 RDBMS Tomcat、HTML、Linux、 Jdbc、SVN 解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis 解决性能的问题:NoSQL、Java线程、Hadoop、 Nginx、MQ、 ElasticSearch解决应服务器的cpu和内存压力:解决IO的压力NoS...原创 2018-11-14 21:27:18 · 233 阅读 · 0 评论 -
Nosql-redis配置说明
配置:1.计量单位说明:2.大小写不敏感3.include类似jsp中的include,多实例的情况可以把公用的配置文件提取出来4.ip地址的绑定(bind)默认情况bind=127.0.0.1只能接受本机的访问请求 不写的情况下,无限制接受任何ip地址的访问 生产环境肯定要写你应用服务器的地址 如果开启了protected-mode,那么在没有设定bind ...原创 2018-11-14 17:06:45 · 228 阅读 · 0 评论 -
Nosql-redis备份
Redis的持久化:RDB (Redis DataBase) AOF (Append Of File)1.RDB: 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里 备份是如何执行的: Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都...原创 2018-11-14 17:07:03 · 212 阅读 · 0 评论 -
Memcached的工具类
package com.cpp.core.common.cache.memcached;import java.util.Collection;import java.util.Map;import java.util.concurrent.TimeoutException;import net.rubyeye.xmemcached.MemcachedClient;import ne...原创 2018-11-06 12:55:57 · 531 阅读 · 0 评论 -
Nosql-redis事务/消息订阅/发布/主从复制
Redis事务:Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务的主要作用就是串联多个命令防止别的命令插队Multi、Exec、discard:从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,Redis会将之前的命令队列中的命令依次执行...原创 2018-11-14 21:26:58 · 240 阅读 · 0 评论 -
Nosql-redis集群
什么是集群:Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。 Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。搭建集群:制作6个实例,6379,6380,6381,6389,...原创 2018-11-15 10:30:44 · 257 阅读 · 0 评论 -
多数据源配置pagehelper分页插件
pagehelper在多个数据源情况下需要给不同的数据源都配置分页插件。配置方式: @Bean(name = "clusterSqlSessionFactory") public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource clusterDataSour...原创 2019-08-29 16:08:28 · 4625 阅读 · 2 评论 -
mysql存储过程/定时器/子id获取所有的父ids
存储过程:-- 查询父子结构 PARENT_ID 父idCREATE FUNCTION `getParentNodeList`(`nodeId` int) RETURNS varchar(1000) CHARSET utf8BEGIN DECLARE parentList VARCHAR(1000); # 返回父节点结果集 DECLARE tempParent VARCHAR(1000); # 临时存放父节点 SET parentList = '原创 2020-07-14 10:35:09 · 518 阅读 · 0 评论 -
MySQL数据库审计系统
数据库审计数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据...转载 2020-05-26 20:55:37 · 674 阅读 · 0 评论 -
MYSQL的默认数据库说明
最近需要进行数据库优化,已经统计并发数,所以对数据库默认表总结一下。默认数据库分类:information_schema performance_schema mysql testinformance_schema保存了MySQl服务所有数据库的信息。 具体MySQL服务有多少个数据库,各个数据库有哪些表,各个表中的字段是什么数据类型,各个表中有哪些索引,各个数据库要什...原创 2019-09-30 17:08:26 · 546 阅读 · 2 评论 -
InfluxDB学习-02函数/数据备份
1.连续查询高级应用:RESAMPLE FOR 关键词 来指定连续查询的时间范围,比如,每次执行都对1小时内的数据进行连续查询 CREATE CONTINUOUS QUERY vampires_1 ON test RESAMPLE FOR 60m BEGIN SELECT count(userid) INTO vampire_populations_1 FROM raw_vamp...原创 2018-11-15 10:29:35 · 603 阅读 · 0 评论 -
InfluxDB学习-03原理学习
概况:Chronograf仪表板中可视化数据,根据数据在Kapacitor中创建警报,InfluxDB查询数据,Telegraf将数据写入InfluxDB特点:可以设置metric的保存时间。 支持通过条件过滤以及正则表达式删除数据。 支持类似 sql 的语法。 可以设置数据在集群中的副本数。 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。1.I...转载 2018-11-15 10:29:45 · 550 阅读 · 0 评论 -
Mysql学习-03 索引优化分析--性能分析
性能分析 -->Explain工具: 执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 查看官网说明 2.用途 表的读取顺序,哪些索引可以使用,数据读取操作的操作类型,哪些索引被实际使用,表之间的引用,每张表有多少行被物理查询...原创 2018-11-18 14:47:56 · 915 阅读 · 1 评论 -
InfluxDB学习
一、InfluxDB 简介InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有Elasticsearch、Graphite等。其主要特色功能1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)2)可度量性:你可以实时对大量数据进行...转载 2018-11-12 17:18:59 · 462 阅读 · 0 评论 -
Mysql学习-01架构介绍/基本命令
1.概述:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 Mysql是开源的,所以你不需要支付额外的费用。 Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。 Mysql支持大...原创 2018-11-13 22:02:26 · 244 阅读 · 0 评论 -
Mysql学习-06 MySql锁机制
锁定义: 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁的分类: ...原创 2018-11-19 11:08:35 · 201 阅读 · 0 评论 -
Mysql学习-02 sql执行顺序与索引分析
1.性能下降SQL慢 执行时间长 等待时间长原因: 查询数据过多 关联了太多的表,太多join 没有充分利用到索引 -- > 单值,复合 Mysql一般情况下,查询一张表只会用到其中的一个索引,所以单值索引有时候并不能把sql的查询条件都纳入索引查找范围。所以需要适当的使用复合索引。 服务器调优及各个参数设置(缓冲、线程数等)2.常见通用的Join查询:SQL...原创 2018-11-18 14:47:46 · 3125 阅读 · 0 评论 -
Mysql学习-07 定时器/触发器/工具和技巧拾遗
视图 VIEW: 说明: 将一段查询sql封装为一个虚拟的表。 这个虚拟表只保存了sql逻辑,不会保存任何查询结果。 作用: 1、封装复杂sql语句,提高复用性 2、逻辑放在数据库上面,更新不需要发布程序,面对频繁的需求变更更灵活 场景: 很多地方可以共用的一组查询结果/报...原创 2018-11-19 11:27:47 · 265 阅读 · 0 评论 -
Mysql学习-08 主从复制
复制的基本原理: slave会从master读取binlog来进行数据同步 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events slave将master的binary log events拷贝到它的中继日志(relay log) ...原创 2018-11-19 11:50:51 · 185 阅读 · 0 评论 -
Mysql学习-04 索引优化分析--查询优化
索引的规则:1.索引失效情况<1>全值匹配我最爱 建立索引提高效率 CREATE INDEX 索引名字 ON 表名(表字段,表字段,表字段,......) 建立索引前: 索引后: <2>最佳左前缀法则 如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。 EX...原创 2018-11-18 14:48:04 · 489 阅读 · 0 评论 -
Mysql学习-05 查询结果分析
慢查询日志:1.介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒...原创 2018-11-19 11:08:18 · 307 阅读 · 0 评论 -
mysql数据编号 @rownum
查找个区域排名前十的店铺:表结构:CREATE TABLE `store` ( `id` varchar(32) NOT NULL DEFAULT '' COMMENT '店铺ID', `store_name` varchar(64) DEFAULT NULL COMMENT '店铺名称', `del_flag` varchar(1) DEFAULT NULL, PRIM...原创 2018-12-26 18:40:03 · 271 阅读 · 0 评论 -
数据库可用行与性能监控
可用行:1.监控数据库是否可以连接 方法: mysqladmin -umonitor_user -p -h ping telnet ip db_port2.监控数据库是否可以读写 方法: 检查数据库read_only参数是否为off. 建立监控表对表中数据进行操作 连接后可以执行 select @@versio...原创 2019-03-30 01:51:52 · 242 阅读 · 0 评论 -
Mysql主从复制配置
Mysql主从复制此处采用一台windows上面的mysql(主库)与一台linux上的mysql(从库)进行主从配置。复制的基本原理: slave会从master读取binlog来进行数据同步。原理图:MySQL复制过程分成三步:1 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave将...原创 2019-03-30 01:01:49 · 198 阅读 · 0 评论 -
InfluxDB学习-01介绍/基本操作
1.概念: InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载。它是TICK堆栈的组成部分 。InfluxDB旨在用作涉及大量带时间戳数据的任何用例的后备存储,包括DevOps监控,应用程序指标,物联网传感器数据和实时分析。2.主要特点: 1.专为时间序列数据编写的自定义高性能数据存储。TSM引擎允许高摄取速度和数据压缩 2.完全写...原创 2018-11-15 10:29:23 · 4740 阅读 · 0 评论