Day.1 起点 - 前言 ( Percona Server )


在这30天的文章中分享藉由在工作上学习资料库管理相关的一些心得笔记与一些经验分享和操作纪录,希望能帮助到一些从头接触资料库相关的人~

os.第一次跟着团队一起参加铁人赛,没想到会有自己写文章的一天XDDD 如果内容上有任何叙述时错误的地方或问题, 麻烦各位大大不吝指教。/images/emoticon/emoticon41.gif

这次的主题为MYSQL,使用的是Percona Server for MySQL,後面就直接用MYSQL称呼。

关於Percona Server这边简单的介绍一下 :
1.属於 Mysql 分支 (目前主流分支主要分为->Oracle官方版本的MySQL、Percona Server、MariaDB )。
2.免费、完全兼容、增强、开源的MYSQL数据库替代品。
3.包括许多只在MYSQL商业企业版中可用的(扩展性、可用性、安全性和备份功能)。
4.优化、增强现有数据库软件,满足大多数据库应用程序工作负载需求。

另外後面会介绍到Percona的其他开源项目xtrabackup(数据库备份)和Percona Monitoring and Management  (管理和监控MySQL),方便资料库管理者在遇到问题时,提供找问题判断资料库发生异常状态时的时间点纪录和数据操作的一个快速管道,大大的帮助管理者了解系统状况喔。


资料库管理系统-(database management system,简称 DBMS)

指的就是管理资料库的软件EX : MySQL , PostgreSQL , Microsoft SQL Server , Cassandra ...(讲不完废话略过!!

使用者 <-----沟通-----> 资料库

简单来说使用者能透过使用资料库软件建立自己的资料库,达到存取所需资料以及管理资料库的各项事务,使资料管理更加EASY。/images/emoticon/emoticon07.gif

Q: 所以该如何选择? 用哪一套DB? 怎麽开始?

Ans: 不用怀疑会得到的答案为看使用情况。 

评估一款适合用在生产环境的资料库,牵扯的范围很多,再加上每款资料库都有不同的设计方式有各自的优缺点与适合的应用场景,最重要的日後如何维护与设计也是一大考量~
过程中还得经过基本的数据压测相互比较,找到相对配置下的资料量到达一定值会出现的瓶颈点,经过一连串的各种考量评估才可能上线...(持续学习中嗯嗯/images/emoticon/emoticon06.gif


资料库选择<->生产环境上考量点

1.(商业逻辑层面)
要能上战场在正式生产环境使用,首先要考量在逻辑设计上的资料应用,如何呈现功能与实现设计的目的。
2.(作业系统层面)
在不同的作业系统上如何调整与安装使用。(EX:在原本环境上能正常执行的档案换OS後没办法正常执行了)
3.(预算成本层面)
在现实考量下的机器部署方式与成本计算,如何将有限资源发挥到最佳CP值。
4.(维护营运层面)
考量在系统管理上如何维护与营运,包含资料上的维护与发生问题时如何即时修复保持生产环境安全运作。
5.(资料库特性层面)
判断业务型别资料是着重於什麽特性(EX:准确一制性or快速读取可用性),资料量会随着系统成长而增加,如何分散流量大时的工作负载量等。


遇到问题时,解决问题的方向

之前在读文章时看到了一段话 : 在学习的路上,会看到许多不同的工具,但很多时候问题的重点不在於『哪个工具最好用』,而是我们要解决什麽问题。

套用在一开始的问题该如何选择资料库?

  •  有了问题 -> 想一下要解决的问题是什麽
  • 有了目标 -> 寻找有提供相关功能的工具
  • 有了选择 -> 去研究各个工具的使用方式
  • 有了比较 -> 就能找出最合适解决的方式

30天的分享内容大致上为:

  • 认识Mysql的基础与一些架构内容

  • 维运相关实务操作

  • 系统监控状况


目录索引

  • Day.1 起点 - 前言 ( Percona Server )
  • Day.2 选择 - 关联式与非关联式 (SQL vs. NoSQL )
  • Day.3 环境部署 - 从安装开始 (GCP & Percona Mysql )
  • Day.4 针对使用者做管理 - 权限管理&资安 (Power)
  • Day.5 留个纪录好办事 - Mysql Log (日志纪录)-上
  • Day.6 留个纪录好办事 - Mysql Log (日志纪录)-下
  • Day.7 保有日常备份重要性 - binlog 解析 &备份资料 (mysqldump / binlog)
  • Day.8 备份还原 - 备份资料 (MYSQL binlog )-上
  • Day.9 备份还原 - 还原资料 (MYSQL binlog )-下
  • Day10 日志管理工具 - Logrotate (Linux)
  • Day.11 搞懂主从架构- 主从复制(Master Slave Replication)
  • Day.12 主从搭建 - 部署流程(Master Slave Replication )
  • Day.13 Crash Recovery - InnoDB 架构 -> MYSQL 二阶段提交(2PC) _1
  • Day.14 Crash Recovery- InnoDB 架构 -> MYSQL 二阶段提交(2PC) _2
  • Day.15 Crash Recovery- InnoDB 架构 -> MYSQL 二阶段提交(2PC) _完
  • Day.16 应用中学习- 资料库操作 ( golang / sql )
  • Day.17 应用中学习 - 实务操作资料库写入 ( golang / sql )
  • Day.18 InnoDB资料储存 - 主索引架构 (Clustered Index)
  • Day.19 认识索引 - 二级索引 (Secondary Index)
  • Day.20 从零开始 - 实务需求学SQL_1
  • Day.21 从零开始 - 实务需求学SQL_2
  • Day.22 SQL应用 - 表与表之间的连结 (JOIN)
  • Day.23 分析语法效能必备 - MYSQL语法优化 ( Explain)
  • Day.24 提升大数据资料管理 - 资料表分区 ( MYSQL Partition)
  • Day.25 提升大数据资料管理 - 资料表分区 ( MYSQL Partition)_2
  • Day.26 实务应用 - 实作表自动分区管理( event / procedure / partition )_1
  • Day.27 实务应用 - 实作表自动分区管理( event / procedure / partition )_2
  • Day.28 实务应用 - 实作表自动分区管理( event / procedure / partition )_END
  • Day.29 部署环境 - 监控系统状态(Percona Monitoring and Management)
  • Day.30 维运必备辅助 - 系统监控(Percona Monitoring and Management)

明天开始进入我们的主题! 首先跟大家介绍SQL和NoSQL差异为何?分别有什麽特点?


<<:  D-21. & 、meta programming & Monkey patch

>>:  D1 - 前言

day5_Windows,Linux, MacOs 与 arm 的支援度和 x86 的差异

三大作业系统 目前无论是桌上型电脑与笔记型电脑抑或是服务器,大致上可分为三个主要作业系统,Windo...

[iT铁人赛Day6]JAVA的运算简写

既然讲到运算符号,也讲完了运算的优先顺序,那就来说说运算的简写吧 一般我们写运算时会写:"...

Day 1:同步与非同步执行

Hi 各位好,又到了我们一年一度的 iT邦铁人赛的挑战,这次我所挑战的主题是 Kotlin 中用来处...

[C#] LeetCode 3. Longest Substring Without Repeating Characters

Given a string s, find the length of the longest s...

LineBot 读取使用者档案格式

想请问各位, 如何读取 使用者传送的文件档案格式? 目前想要读取後 再存放到电脑指定资料夹中, 存放...