本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- johnsmith9th
- jveqi
- java-007
- sunj
最新文章列表
【赵强老师】在MongoDB中使用MapReduce方式计算聚合
MapReduce 能够计算非常复杂的聚合逻辑,非常灵活,但是,MapReduce非常慢,不应该用于实时的数据分析中。MapReduce能够在多台Server上并行执行,每台Server只负责完成一部分wordload,最后将wordload发送到Master Server上合并,计算出最终的结果集,返回客户端。 MapReduce的基本思想,如下图所示:
在这个例子中,我们以一个求和为 ...
【赵强老师】Redis的慢查询日志
Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。
Redis客户端一条命令分为如下四部分执行:
需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题。需要注意的是,慢查询日志只是统 ...
【赵强老师】Redis的RDB持久化
Redis 提供了多种不同级别的持久化方式:
RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
AOF (Append-only file)持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis ...
【赵强老师】MySQL高可用架构:MHA
MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线 ...
Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (latin1_swedish_ci
事情是这样晒的,有两个独立部署的web服务器环境A和B,A的数据库和B的数据库几乎是一样的(库、表、字段、数据),也有可能没发现不一样的地方。A正常,B请求异常,如下所示:
### Error querying database. Cause: java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,COERCIBL ...
【赵强老师】什么是Spark SQL?
一、Spark SQL简介
Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。
为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所 ...
SAP ABAP SQL的execution plan和cache
我在SE38里执行这段open SQL:
因为我在OPEN SQL里没有使用IGNORE_PLAN_CACHE这个hint,
所以execution plan会存储在表M_SQL_PLAN_CACHE里。这个表的PREPARATION_TIME field就包含了statement的preparation时间。
【赵强老师】在Hive中使用Load语句加载数据
一、Hive中load语句的语法说明
Hive Load语句不会在加载数据的时候做任何转换工作,而是纯粹的把数据文件复制/移动到Hive表对应的地址。语法格式如下:
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename \
[PARTITION (partcol1=val1, partcol2=val2 ...
【赵强老师】什么是PL/SQL?
一、什么是PL/SQL?
PL/SQL(Procedure Language/SQL)是oracle在标准的sql语言上的扩展。ql/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许私用条件语句和循环语句,允许使用例外处理各种错误,这使得它的功能变得更加强大。
PL/SQL开发工具主要有:
SQL*PLUS开发工具。SQL*PLUS是oracle公司提供的一个命令行工具,我们可 ...
【赵强老师】在MongoDB中使用游标
一、什么是游标?
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。
游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标可以被看作是一个查询结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成的一个临时文件,提供了在查询结果集中向前或向后 ...
【赵强老师】数据库的事务
一、什么是事务?
数据库事务(Transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。
例如:从A账号给B账号转帐,对应于如下两条sql语句
update from account set money=money+100 where name=‘b ...
【赵强老师】使用MongoDB的命令行工具:mongoshell
一、启动mongo shell
安装好MongoDB后,直接在命令行终端执行下面的命令:
mongo
如下图所示:
可选参数如下:
也可以简写为:
在mongo shell中使用外部编辑器,如:vi,只需设置环境变量:
export EDITOR=vi
启动mongo shel即可。下面我们在mongoshell中编辑一个函数:
定义函数:
...
【赵强老师】Redis案例分析:用setbit统计活跃用户
一、需求背景
首先,我们来看一下需求:网站统计用户登录的次数,具体如下:
网站有1亿个用户,有经常登录的,也有不经常登录的
如何来记录用户的登录信息
如何查询活跃用户:比如:一周内,登录3次的
二、使用传统的关系型数据库
我们使用传统的关系型数据库(比如:Oracle)来存储这样的数据,如下图所示。
每周产生7亿条数据,对于任何一个关系型数据库来说,都是非常不好维护的, ...