<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database on 凌虚 Blog</title><link>https://rifewang.github.io/categories/database/</link><description>Recent content in Database on 凌虚 Blog</description><generator>Hugo</generator><language>zh-CN</language><copyright>Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)</copyright><lastBuildDate>Wed, 30 Oct 2024 00:36:40 +0800</lastBuildDate><atom:link href="https://rifewang.github.io/categories/database/index.xml" rel="self" type="application/rss+xml"/><item><title>解读 MySQL Client/Server Protocol: Connection &amp; Replication</title><link>https://rifewang.github.io/protocol-connectionreplication/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0800</pubDate><guid>https://rifewang.github.io/protocol-connectionreplication/</guid><description>&lt;h1 id="解读-mysql-clientserver-protocol-connection--replication"&gt;解读 MySQL Client/Server Protocol: Connection &amp;amp; Replication&lt;/h1&gt;
&lt;p&gt;MySQL 客户端与服务器之间的通信基于特定的 TCP 协议，本文将会详解其中的 Connection 和 Replication 部分，这两个部分分别对应的是客户端与服务器建立连接、完成认证鉴权，以及客户端注册成为一个 slave 并获取 master 的 binlog 日志。&lt;/p&gt;</description></item><item><title>同步 MySQL 数据至 Elasticsearch/Redis/MQ 等的五种方式</title><link>https://rifewang.github.io/sync-data-from-mysql/</link><pubDate>Mon, 30 Nov 2020 00:00:00 +0800</pubDate><guid>https://rifewang.github.io/sync-data-from-mysql/</guid><description>&lt;h1 id="同步-mysql-数据至-elasticsearchredismq-等的五种方式"&gt;同步 MySQL 数据至 Elasticsearch/Redis/MQ 等的五种方式&lt;/h1&gt;
&lt;p&gt;在实际应用中，我们经常需要把 MySQL 的数据同步至其它数据源，也就是在对 MySQL 的数据进行了新增、修改、删除等操作后，把该数据相关的业务逻辑变更也应用到其它数据源，例如：&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（七）</title><link>https://rifewang.github.io/influxdb-7/</link><pubDate>Sun, 17 Nov 2019 13:43:48 +0800</pubDate><guid>https://rifewang.github.io/influxdb-7/</guid><description>&lt;hr&gt;
&lt;h1 id="单点故障和容灾备份"&gt;单点故障和容灾备份&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;InfluxDB 开源的社区版本面临的最大的问题就是单点故障和容灾备份，有没有一个简单的方案去解决这个问题呢？&lt;/p&gt;
&lt;p&gt;既然有单点故障的可能，那么索性写入多个节点，同时也解决了容灾备份的问题：&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（六）</title><link>https://rifewang.github.io/influxdb-6/</link><pubDate>Wed, 06 Nov 2019 13:36:39 +0800</pubDate><guid>https://rifewang.github.io/influxdb-6/</guid><description>&lt;hr&gt;
&lt;h1 id="cq-连续查询"&gt;CQ 连续查询&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;连续查询 Continuous Queries（ CQ ）是 InfluxDB 很重要的一项功能，它的作用是在 InfluxDB 数据库内部自动定期的执行查询，然后将查询结果存储到指定的 measurement 里。&lt;/p&gt;
&lt;p&gt;配置文件中的相关配置：&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（五）</title><link>https://rifewang.github.io/influxdb-5/</link><pubDate>Wed, 30 Oct 2019 13:33:30 +0800</pubDate><guid>https://rifewang.github.io/influxdb-5/</guid><description>&lt;hr&gt;
&lt;h1 id="系统监控"&gt;系统监控&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;InfluxDB 自带有一个监控系统，默认情况下此功能是开启的，每隔 10 秒中采集一次系统数据并把数据写入到 _internal 数据库中，其默认使用名称为 monitor 的 RP（数据保留 7 天），相关配置见配置文件中的：&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（四）</title><link>https://rifewang.github.io/influxdb-4/</link><pubDate>Mon, 28 Oct 2019 13:27:36 +0800</pubDate><guid>https://rifewang.github.io/influxdb-4/</guid><description>&lt;hr&gt;
&lt;h1 id="存储引擎"&gt;存储引擎&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;InfluxDB 数据的写入如下图所示：&lt;/p&gt;
&lt;p&gt;&lt;img
 class="lazyload"
 src="https://rifewang.github.io/svg/loading.min.svg"
 data-src="https://raw.githubusercontent.com/RifeWang/images/master/influxdb/write-data.png"
 data-srcset="https://raw.githubusercontent.com/RifeWang/images/master/influxdb/write-data.png, https://raw.githubusercontent.com/RifeWang/images/master/influxdb/write-data.png 1.5x, https://raw.githubusercontent.com/RifeWang/images/master/influxdb/write-data.png 2x"
 data-sizes="auto"
 alt="https://raw.githubusercontent.com/RifeWang/images/master/influxdb/write-data.png"
 title="write data" /&gt;&lt;/p&gt;
&lt;p&gt;所有数据先写入到 WAL（ Write Ahead Log ）预写日志文件，并同步到 Cache 缓存中，当 Cache 缓存的数据达到了一定的大小，或者达到一定的时间间隔之后，数据会被写入到 TSM 文件中。&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（三）</title><link>https://rifewang.github.io/influxdb-3/</link><pubDate>Sun, 27 Oct 2019 13:25:48 +0800</pubDate><guid>https://rifewang.github.io/influxdb-3/</guid><description>&lt;hr&gt;
&lt;h3 id="数据类型"&gt;数据类型&lt;/h3&gt;
&lt;hr&gt;
&lt;p&gt;InfluxDB 是一个无结构模式，这也就是说你无需事先定义好表以及表的数据结构。&lt;/p&gt;
&lt;p&gt;InfluxDB 支持的数据类型非常简单：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;measurement : string&lt;/li&gt;
&lt;li&gt;tag key : string&lt;/li&gt;
&lt;li&gt;tag value : string&lt;/li&gt;
&lt;li&gt;field key : string&lt;/li&gt;
&lt;li&gt;field value : string , float , interger , boolean&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你可以看到除了 field value 支持的数据类型多一点之外，其余全是字符串类型。&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（二）</title><link>https://rifewang.github.io/influxdb-2/</link><pubDate>Sat, 26 Oct 2019 13:14:35 +0800</pubDate><guid>https://rifewang.github.io/influxdb-2/</guid><description>&lt;hr&gt;
&lt;h4 id="rp"&gt;RP&lt;/h4&gt;
&lt;hr&gt;
&lt;p&gt;先回顾一下 RP 策略（ retention policy ），它由三个部分构成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DURATION：数据的保留时长。&lt;/li&gt;
&lt;li&gt;REPLICATION：集群模式下数据的副本数，单节点无效。&lt;/li&gt;
&lt;li&gt;SHARD DURATION：可选项，shard group 划分的时间范围。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;前两个部分没啥好说的，而 shard duration 和 shard group 的概念你可能会感到比较陌生。&lt;/p&gt;</description></item><item><title>时序数据库 InfluxDB（一）</title><link>https://rifewang.github.io/influxdb-1/</link><pubDate>Fri, 25 Oct 2019 13:02:58 +0800</pubDate><guid>https://rifewang.github.io/influxdb-1/</guid><description>&lt;hr&gt;
&lt;p&gt;数据库种类有很多，比如传统的关系型数据库 RDBMS（ 如 MySQL ），NoSQL 数据库（ 如 MongoDB ），Key-Value 类型（ 如 redis ），Wide column 类型（ 如 HBase ）等等等等，当然还有本系列文章将会介绍的时序数据库 TSDB（ 如 InfluxDB ）。&lt;/p&gt;</description></item></channel></rss>