文章分类 - DBA
DBA
摘要:集群介绍 Elasticsearch的集群可以横向扩展为成百上千的服务器节点,可同时处理PB级的数据。 并且Elasticsearch天生支持分布式,在设计之初就屏蔽了分布式的复杂性,因此对分布式集群搭建等操作十分简洁。 Elasticsearch集群中各个节点的信息都是相互共享且透明的,这意味着用
阅读全文
摘要:内嵌文档 以下是一个嵌套文档案例: PUT /test_index/userinfo/1?pretty { "name" : "Jack", "age" : 18, "gender" : 1, "hobby" : ["篮球", "足球", "音乐"], "class" : { "name" : "三
阅读全文
摘要:基础搜索 空搜索 返回所有索引下的所有文档: GET /_search 当然这种操作会返回kibana的内置索引。 多类型搜索 返回指定索引下的多个类型中的所有文档: PUT /user/userinfo/1 { "name" : "Jack", "age" : 19, "class"
阅读全文
摘要:操作语法 由于Elasticsearch中弱化了表的概念,更多的是index与document,故不再研究type。 以下是操作语法: Restful风格 语法 描述 PUT Elasticsearch-host:port/indexName/typeName/documentID 创建or
阅读全文
摘要:分词器 分词的意思就是将一段文字拆分成一个一个的关键字,在搜索时通过关键字搜索出相关数据。 举例: 美国队长 - 美国 - 美国队 - 国队 - 队长 - 美国队长 当然,这里的分词规则只是较常用的一种,除此之外还有非常多的分词规则。 下面我们将使用kibana对其进行详细的测试。
阅读全文
摘要:语法格式 Elasticsearch通过RESTful API和9200端口与其它语言驱动进行通信。 它的主要格式如下,这里主要针对curl交互方式,特别繁琐: curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>'
阅读全文
摘要:Elasticsearch简介 基础概念 Elasticsearch由Shay banon在2004年进行初步开发,并且在2010年2月发布第一个版本。 此后Shay banon在2012建立Elasticsearch BV公司,继续围绕Elasticsearch提供相关软件和产品。 E
阅读全文
摘要:应用场景 Redis常用于数据缓存,与MySQL进行搭配能有良好的效果。 如下图所示: Redis数据存储在内存中,读取操作比MySQL从磁盘数据页读取快了不止千倍,因此使用Redis作为缓存是十分明智的选择。 但是这样的使用场景依然会发生很多意料之外的问题,本文将对其进行简单的探究
阅读全文
摘要:删除策略 基本介绍 Redis数据存放在内存中,具有3种删除策略: 定时删除 惰性删除 定期删除 定时删除 之前介绍过几种对Redis的键做时效性的设置: 通用: expireat pexpireat 字符串: setex psetex 查询: TTL PTTL 定时删除的策略无外乎对k
阅读全文
摘要:安装介绍 redis-trib.rb是一款由Redis官方提供的集群管理工具,能够大量减少集群搭建的时间。 除此之外,还能够简化集群的检查、槽迁徙、负载均衡等常见的运维操作,但是使用前必须要安装ruby环境。 1)使用yum进行安装ruby: yum install -y rubygem
阅读全文
摘要:功能概述 Redis Cluster是Redis的自带的官方分布式解决方案,提供数据分片、高可用功能,在3.0版本正式推出。 使用Redis Cluster能解决负载均衡的问题,内部采用哈希分片规则: 基础架构图如下所示: 图中最大的虚线部分为一个Cluster集群,由6个Redis
阅读全文
摘要:功能概述 本篇文章紧接上一篇主从复制为基础,可点击跳转Redis 主从复制。 在Redis的主从模式下,主节点一旦宕机则需要人工进行干预将从节点晋升为主节点,同时还需要修改application链接已宕机主节点的信息等,这对于很多应用场景来说是无法接受的,我们需要的是自动化的故障转移。
阅读全文
摘要:功能概述 Redis的主从复制与MySQL相同,本身并不提供任何高可用方面的功能,需要借助其他技术进行实现,但却是高可用架构的基础前提。 相较于MySQL来说,Redis的主从复制搭建比较简单,关注的点也比较少,且因内部原因数据同步速率影响较小(如果网速慢另当别论)。 下面我准备使用3台
阅读全文
摘要:执行流程 Redis事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送EXEC命令前被放入队列缓存。 收到EXEC命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。 一个事务从开始到执行会经
阅读全文
摘要:功能概述 Redis会将数据全部存储在内存中,这意味着一旦服务停止,所有数据都将被丢失。 因此Redis提供了2种持久化方式,RDB与AOF: RDB:根据配置的指定时间间隔与数据提交频率进行快照存储 AOF:仅记录变更日志,当服务重启后进行回放操作,达到数据恢复的目的 Redis默认开
阅读全文
摘要:字符串 存储方式 string在内存中按照一个key对应一个value进行存储: 获取操作 以下是常用获取操作: 命令 描述 GET key 获取指定 key 的值 MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值 GETRANGE key start end
阅读全文
摘要:获取帮助 登录shell: $ redis-cli -h 192.168.0.120 获取相关有2种形式: HELP 命令 HELP @群组 1)获取GET命令相关帮助: 192.168.0.120:6379> HELP GET GET key # 命令格式 summary: Get t
阅读全文
摘要:基础知识 Redis简介 Redis是一个开源项目,是一种基于键值对的NoSQL数据库,与很多键值对数据库不同,redis中的值可以有string、hash、list、set、zset等多种数据类型。 而同为键值对形式存储的Memcached来说则仅支持字符串类型。 Redis会将所有的
阅读全文
摘要:mongoexport 将数据导出成JSON或者CSV格式,用于MongoDB中的数据向别的数据库产品进行迁移。 命令行中执行: T > mongoexport --help 参数说明: 参数 描述 -h 指明数据库宿主机的IP -u 指明数据库的用户名 -p 指明数据库的密码 -d 指
阅读全文
摘要:mongodump 功能概述 mongodump能够在Mongodb运行时进行备份,它的工作原理是对运行的Mongodb做查询,然后将所有查到的文档写入磁盘。 但是存在的问题是使用mongodump产生的备份不一定是数据库的实时快照,如果我们在备份时对数据库进行了写入操作,则备份出来的文件可
阅读全文