数据库
文章平均质量分 79
aa1215018028
这个作者很懒,什么都没留下…
展开
-
flink sql多表join
val createTable = """ |CREATE TABLE nt_sale_order ( | id VARCHAR, | write_date BIGINT, | create_uid INT, | name VARCHAR, | op VARCHAR |) |WITH ( | 'connector' = 'kafka', | 'topic' = 'shopforce....原创 2021-01-19 17:03:05 · 1565 阅读 · 0 评论 -
mysql优化
前言今天我们来讲讲如何优化MySQL的性能,主要从索引方面优化。下期文章讲讲MySQL慢查询日志,我们是依据慢查询日志来判断哪条SQL语句有问题,然后再进行优化,敬请期待MySQL慢查询日志篇建表优化一:全部用到索引介绍建立的复合索引包含了几个字段,查询的时候最好能全部用到,而且严格按照索引顺序,这样查询效率是最高的。(最理想情况,具体情况具体分析)SQL 案例优化二:最左前缀法则介绍如果建立的是复合索引,索引的顺序要按照建立时的顺序,即从左到右,如:..原创 2020-10-26 11:07:49 · 2661 阅读 · 0 评论 -
分布式系统架构常见知识点梳理
这篇文章主要是说在进化的过程中可能会遇到的问题以及如何去解救这些问题。一、客户端缓存优化1、添加CDN缓存CDN 缓存也叫作网络访问的“第一跳”,用户请求先到达的是互联网网络服务商的机房。在机房里面部署 CDN 服务器,提供缓存服务。缓存了一些静态资源。如果存在用户请求的内容,直接通过CDN进行返回;没有的话继续向下请求2、正向代理缓存正向代理缓存保存在客户端,代理客户端访问互联网,比如访问谷歌,直接访问不到,我们就可以使用一个代理服务器,将请求转发给代理服务器,代理..原创 2020-10-26 10:54:06 · 2362 阅读 · 0 评论 -
23个最有用的ES检索技巧(Java API实现)
前言本文是对 23个最有用的Elasticseaerch检索技巧 一文提到的ES检索技巧进行 Java API 的简单实现,但仅限于简单实现,并不考虑包括参数校验,异常处理,日志处理,安全等问题,仅供参考代码见 UsefullESSearchSkill ,原查询语句请对照原文运行环境JDK version : 10.0.2gradle version : 4.7Elastics...原创 2019-06-03 11:57:27 · 681 阅读 · 0 评论 -
HBase常用命令
HBase常用命令进入shell[hadoop@indb-3-136-hzifc bin]$ echo $HBASE_HOME/data/program/hbase[hadoop@indb-3-136-hzifc bin]$ /data/program/hbase/bin/hbase shellSLF4J: Class path contains multiple SLF4J bin...原创 2019-04-15 11:33:03 · 314 阅读 · 0 评论 -
Hbase命令使用详解
./hbase shell help help “get” #查看单独的某个命令的帮助1. 一般命令 status 查看状态 version 查看版本2.DDL(数据定义语言Data Definition Language)命令1. 创建表create ‘表名称’,’列名称1’,’列名称2’,’列名称3’如:create 'member...原创 2019-04-04 17:10:37 · 779 阅读 · 0 评论 -
opentsdb 简易生动讲解
摘要OpenTSDB是一个分布式的、可伸缩的时间序列数据库,在DB-engines的时间序列数据库排行榜上排名第五。它的特点是能够提供最高毫秒级精度的时间序列数据存储,能够长久保存原始数据并且不失精度。它拥有很强的数据写入能力,支持大并发的数据写入,并且拥有可无限水平扩展的存储容量。 它的强大的数据写入能力与存储能力得益于它底层依赖的HBase数据库,也得益于它在表结构设计...原创 2019-03-15 11:32:08 · 1038 阅读 · 0 评论 -
Elasticsearch java API Aggregations 聚合 Bucket
桶聚合编辑全球聚合编辑下面是如何使用 Global Aggregation 与Java API。准备聚合请求编辑这里有一个例子关于如何创建聚合的要求: AggregationBuilders .global("agg") .subAggregation(AggregationBuilders.terms("genders").field("ge...原创 2019-03-04 20:28:06 · 4471 阅读 · 1 评论 -
elasticsearch-dump 迁移es数据 (elasticdump)
elasticsearch 部分查询语句# 获取集群的节点列表:curl 'localhost:9200/_cat/nodes?v'# 列出所有索引:curl 'localhost:9200/_cat/indices?v'创建一个名为“customer”的索引,然后再查看所有的索引:curl -X PUT 'localhost:9200/customer?pretty'c...原创 2019-02-26 18:31:37 · 3695 阅读 · 0 评论 -
mysql查看binlog日志内容
1、登录到mysql查看binlog只查看第一个binlog文件的内容mysql> show binlog events;查看指定binlog文件的内容mysql> show binlog events in 'mysql-bin.000002'; mysql> show binlog events in 'mysql-bin.000001'; +-...原创 2019-02-20 20:31:57 · 643 阅读 · 0 评论 -
mysql系统变量查看和设置
查看MySQL变量类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Varialbes),但其实叫参数也是可以的,只要明白这俩是同一个东西就可以了。MySQL的变量分为以下两种:1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看2)状态变量:监控M...原创 2019-02-25 16:22:15 · 4146 阅读 · 0 评论 -
查询与导出mysql数据表指定行数(limit)
查询显示5到10行的记录,即查询6行记录select * from tablename limit 4,6;显示第6行的记录select * from tablename limit 5,1;查询前n行记录select * from tablename limit n;查询后n行记录select * from tablename order by id desc l...原创 2019-02-22 10:22:49 · 5971 阅读 · 0 评论 -
基于flink的流数据统计
一、统计流程image.png所有流计算统计的流程都是:1、接入数据源2、进行多次数据转换操作(过滤、拆分、聚合计算等)3、计算结果的存储其中数据源可以是多个、数据转换的节点处理完数据可以发送到一个和多个下一个节点继续处理数据Flink程序构建的基本单元是stream和transformation(DataSet实质上也是stream)。stream是一个中间结果数据...原创 2019-05-20 18:17:43 · 2650 阅读 · 0 评论 -
MySQL5.7创建用户并授权,设置允许远程连接
一. 创建用户命令:CREATEUSER'username'@'host'IDENTIFIEDBY'password';说明: username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% password:该用户的登陆密码,密码可以为空,...原创 2019-05-11 10:20:21 · 3726 阅读 · 0 评论 -
Hbase java API详解
一、几个主要 Hbase API 类和数据模型之间的对应关系:1、 HBaseAdmin关系: org.apache.hadoop.hbase.client.HBaseAdmin作用:提供了一个接口来管理 HBase 数据库的表信息。它提供的方法包括:创建表,删除表,列出表项,使表有效或无效,以及添加或删除表列族成员等。2、 HBaseConfiguration关系: org...原创 2019-08-31 12:23:50 · 1075 阅读 · 0 评论 -
揭秘阿里百亿级云客服实时分析架构演进之路
淘宝、天猫每天有上亿个不同的买卖家进行对话,产生百亿条聊天记录。对客服聊天记录的实时分析是实现智能客服的基础。本文主要分享云客服的整体架构,包括实时分析的场景、架构、技术难点,以及为何要从 NoSQL 迁移时序数据库和使用心得。网购催生客服职能转型如下图,是国内客服体系发展历程。国内客服体系经历了传统客服、Web 端客户和云客服三个发展阶段。传统客服以呼叫中心为主,主要以电话...原创 2019-08-28 10:15:27 · 1147 阅读 · 0 评论 -
hive读取Hbase的数据
1、文档(不会的直接找文档最方便)HBaseIntegration2、拷贝jar文件2.1 将Hbase/bin目录下面文件拷贝到Hive/bin目录下 cd /home/hbase/lib cp ./* /home/hive/lib 2.2把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的li...原创 2019-08-22 20:10:14 · 1267 阅读 · 0 评论 -
Hive学习实例
正文一、求单月访问次数和总访问次数1、数据说明数据字段说明用户名,月份,访问次数数据格式A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5A,2015-03,16A,...原创 2019-08-20 17:06:15 · 552 阅读 · 1 评论 -
mysql视图和临时表的区别
视图视图是由从数据库的基本表中选出来的数据组成的逻辑窗口,它与基本表不同的是,视图是一个虚表。数据库中只存放视图的定义,而不存放视图包含的数据,这些数据仍存放在原来的基表中。所以基表中的数据如果发生改变,从视图中查询出的数据也随之改变。视图是一个虚表,他是通过执行SQL查询所产生的。视图以select命名存储于数据字典当中。每当SQL查询包含有视图名称的时候,数据库管理系统会执行在视图定义...原创 2019-08-20 14:35:58 · 1859 阅读 · 0 评论 -
SkipList算法原理分析
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB...原创 2019-08-01 16:58:53 · 473 阅读 · 0 评论 -
OpenTsdb官方文档----查询过滤器
任何数据库系统的关键功能是使用某种形式的过滤来获取完整数据集的子集。OpenTsdb从版本1.x开始提供了过滤功能,并从2.2开始具有了扩展功能。过滤器目前在标签值上运行,这意味着在拉取数据时,任意指标和标签Key都必须按照与数据库中完全相同的出现方式来进行指定。示例数据 由于每个过滤器都会在下面进行说明,都会用到下述数据集。它由单一指标组成,定义在各个标签上的多个时间序列。作为例子,在...原创 2019-07-04 17:37:24 · 1443 阅读 · 0 评论 -
es多条件查询之must用法(Java实现)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30...原创 2019-06-04 10:31:55 · 8998 阅读 · 2 评论 -
ES 全文搜索
ES 全文搜索全文搜索GET /my_index/my_type/_search{ "query": { "match": { "title": "BROWN DOG!" } }}使用了match查询的多词查询只是简单地将生成的term查询包含在了一个bool查询中。通过默认的or操作符,每个term查询都以...原创 2019-06-03 18:04:01 · 1079 阅读 · 0 评论 -
Flink Table API 使用详解
Table API是流处理和批处理通用的关系型API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API是SQL语言的超集并专门为Apache Flink设计的,Table API是Scala 和Java语言集成式的API。与常规SQL语言中将查询指定为字符串不同,Table API查询是以Java或Scala中的语言嵌入样式来定义的,具有IDE支持如:自动完...原创 2019-05-17 18:10:33 · 5164 阅读 · 3 评论 -
一致性协议浅析:从逻辑时钟到Raft
前言春节在家闲着没事看了几篇论文,把一致性协议的几篇论文都过了一遍。在看这些论文之前,我一直有一些疑惑,比如同样是有Leader和两阶段提交,Zookeeper的ZAB协议和Raft有什么不同,Paxos协议到底要怎样才能用在实际工程中,这些问题我都在这些论文中找到了答案。接下来,我将尝试以自己的语言给大家讲讲这些协议,使大家能够理解这些算法。同时,我自己也有些疑问,我会在我的阐述中提出,也欢...原创 2019-02-21 19:33:18 · 478 阅读 · 0 评论 -
mysql 导出表结构和表数据 mysqldump用法
命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据mysqldump -h localhost -uroot -p123456 database > dump.sql 导出单个数据表结构和数据mysqldump -h localhost -uroot -p123456 databas...原创 2019-02-21 17:54:28 · 251 阅读 · 0 评论 -
ES写一致性原理以及quorum机制深入剖析
(1)consistency,one(primary shard),all(all shard),quorum(default)我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么?put /index/type/id?consistency=quorumone:要求我们这个写操作,只...原创 2019-01-09 19:33:48 · 676 阅读 · 0 评论 -
如何把数据快速批量添加到Elasticsearch中
问题来源最近新做一个项目,有部分搜索比较频繁的数据,而且量级比较大,预计一两年时间很可能达到100G,项目要求不要存在数据库中,最终出来有两个方案,一个是使用Protocol Buffers存储在文件上,另外就是存在Elasticsearch中,也方便搜索,但这两个方案需要验证,到底哪个方案好,从存储速度,搜索响应,占用空间方面做对比,而我负责给出Elasticsearch的部分技术建议!...原创 2018-11-15 09:36:53 · 2730 阅读 · 1 评论 -
时序数据库(TSDB)
用搜索引擎搜索下 “tsdb”或者 “时序数据库”,你可以看到各种开源的时序数据库,我没有对各种开源时序数据库进行过详细对比,只是大致上看了下别人的评论。从评论来看InfluxDB应该是目前综合性能最好的,但是它的集群版是闭源的商业产品。OpenTSDB用的人也挺多,但是性能上比较差,写入速度波动幅度比较大。假如你的物联网系统需要保存历史数据的测点数量不超过5万,那么用InfluxDB应该是没问...原创 2018-10-31 14:21:52 · 2829 阅读 · 1 评论 -
MySQL8.0设置远程访问权限
1.登录MySQLmysql -u root -p1输入您的密码2.选择 mysql 数据库use mysql;1因为 mysql 数据库中存储了用户信息的 user 表。3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息select host, user, authentication_string, plugin from us...转载 2018-08-31 18:42:02 · 1174 阅读 · 0 评论 -
CENTOS6.X下mysql5.7.11带boost和不带boost的源码安装
Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,他安装必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,仅仅是不带boost库源码的需要单独安装boost,还有后续文章percona-xtrabackup需要用到boost库下载软件到usr/local目录下:cd /usr/loc...原创 2018-08-23 17:01:19 · 299 阅读 · 0 评论 -
Spring事务管理(详解+实例)
写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。比如你去ATM机取1000块钱,大体...原创 2018-08-15 16:04:35 · 160 阅读 · 0 评论 -
秒懂Redis集群设计原理
Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计。 节点主从:主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 图上能看得到的信息:1, 只有1个Master,可以有N个slaver,而且Slaver也可以有自己的Slaver,由于这种主从的关系决定他们是在配置阶段就要指定他们的上下级关系,...原创 2018-08-03 16:08:22 · 307 阅读 · 0 评论 -
Raft协议详解
raft协议小结1、raft协议是什么? 分布式系统之于单机系统,优势之一就是有更好的容错性。比如,一台机器上的磁盘损坏,数据丢失,可以从另一台机器上的磁盘恢复(分布式系统会对数据做备份) 比如,集群中某些机器宕机,整个集群还可以对外提供服务 这是如何做到的?比较容易的一个想法就是备份(backup)。一个系统的工作模是:接受客户端的command,系统进行处理,将处理的结果返回...原创 2018-08-03 15:02:07 · 905 阅读 · 0 评论 -
10分钟了解TiDB
由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺点比较 )数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一...原创 2018-08-03 14:50:17 · 4130 阅读 · 1 评论 -
Spring主从数据库的配置和动态数据源切换原理
在大型应用程序中,配置主从数据库并使用读写分离是常见的设计模式。在Spring应用程序中,要实现读写分离,最好不要对现有代码进行改动,而是在底层透明地支持。Spring内置了一个AbstractRoutingDataSource,它可以把多个数据源配置成一个Map,然后,根据不同的key返回不同的数据源。因为AbstractRoutingDataSource也是一个DataSource接口,因...原创 2018-07-31 17:22:21 · 395 阅读 · 0 评论 -
Cassandra集群策略集合
1. 背景介绍 Cassandra 使用分布式哈希表(DHT)来确定存储某一个数据对象的节点。在 DHT 里面,负责存储的节点以及数据对象都被分配一个 token。token 只能在一定的范围内取值,比如说如果用 MD5 作为 token 的话,那么取值范围就是 [0, 2^128-1]。存储节点以及对象根据 token 的大小排列成一个环,即最大的 token 后面紧跟着最小的 toke...原创 2018-07-30 13:52:59 · 1348 阅读 · 0 评论 -
Redis5.0新特性Stream尝鲜
Redis5.0最近被作者突然放出来了,增加了很多新的特色功能。而Redis5.0最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,作者坦言Redis Stream狠狠地借鉴了Kafka的设计。Redis Stream的结构如上图所示,它有一个消息链表,将所有加入的消息都串起来,每个消息都有一个唯一的ID和对应的内容。消息是持久化的,Re...原创 2018-07-24 17:15:28 · 3138 阅读 · 0 评论 -
mysql数据实时同步到Elasticsearch
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理。本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供参考。mysql binlog日志mysql的binlog日志主要用于数据库的主从复制与数据恢复。binlog中记录了数据的增删改查操作,主从复制过程中,主库向从库同步binlog日志,从库对...原创 2018-11-22 16:44:01 · 2571 阅读 · 0 评论 -
使用Logstash来实时同步MySQL数据到ES
本篇我们来实战从MYSQL里直接同步数据一、首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使用logstash-plugin install logstash-input-jdbc 命令安装jdbc的数据连接插件 二、新增mysqltoes.conf文件,配置Input和output参数如下,连接jdbc按照规则同步指定的数据到es...原创 2018-11-22 17:39:42 · 4374 阅读 · 5 评论