DB层级
最上层: 业务层
负载均衡: LVS
代理层: DB-PROXY
DB层: DB主库 DB从库
随着DB出现各种问题,对DB层级有了跟多的了解。
第一层认识:业务层直连到DB层
第二层认识:业务层连接到db-proxy,db-proxy负责读写分离;
第三层认识:业务层直连的其实是LVS,LVS负责转发业务层的sql语句。
db-proxy:
为什么需要db-proxy层?因为业务直连sql会出现如下问题:
1,有些sql语句很危险(delete from table),需要避免;
2,直连sql无法做到读写分离;
3,其它对sql语句的控制层可以在这一层实现。
db-proxy弊端:因为要对所有的sql检查,需要的话会重写,所以有些非标准的sql语句支持得不好,sql语句不完备。
业务出现过问题:中文字符存入读取乱码。原因是下面这条语句未在proxy的sql集合中,导致utf8格式被默认的GBK替代:
SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary
为什么需要LVS?这个需要确认。
但业务因LVS层出现过问题:慢sql会导致业务整体挂掉。
DB层级的更多相关文章
- DB设计工具——dbschema
Preface I've got a db design job about meeting room booking system last week.There're many s ...
- 神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
前言 开心一刻 感觉不妙呀,弟弟舔它! 不该舔的,舔到怀疑人生了...... GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写 ...
- 记一次客户DB CPU短时间内冲高至99%处理
问题背景: 客户反映DB CPU短时间内冲高,查询变得缓慢,记录此背景下的处理方式 1> 查看系统负载及相关sql 2> 查看相关sql的执行计划 3> 想看相关sql的执行计划是否 ...
- Django之创建项目、目录层级、基本操作
创建项目 在合适的位置创建一个目录 打开cmd窗口,进入到创建的目录内 输入django-admin startproject project 目录层级 manage.py 是一个命令行工具,可以使我 ...
- django 无限层级的评论
一.摘要 拓展 django 官方的评论库,为评论提供无限层级的支持. 二.demo演示 访问链接: https://github.com/zmrenwu/django-mptt-comments 下 ...
- [转]神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
原文:https://www.cnblogs.com/youzhibing/p/11516154.html 这篇文章,对group by的讲解不错 -------------------------- ...
- Level DB 小调研
一. 概况: 1. 背景: 随着信息技术的高速发展,数据存储量和流量呈现爆炸式增长.目前百度统计日 PV(日点击量)已超过 75 亿次,中国网民在百度上进行50 亿次的搜索请求,百度贴吧日 PV 十亿 ...
- ROS-2 : ROS系统层级结构
一.ROS文件系统层级 ROS的文件和文件夹按如下层级来组织:
- 高性能可扩展mysql 笔记(五)商品实体、订单实体、DB规划
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.商品模块 商品实体信息所存储的表包括: 品牌信息表: create table `brand_i ...
随机推荐
- SDK平台三态按钮的实现
Windows平台提供了丰富的控件,但是在使用中我们不会使用它提供的默认风格,有时候需要对控件进行改写,让它展现出更友好的一面,这次主要是说明三态按钮的实现. 三态按钮指的是按钮在鼠标移到按钮上时显示 ...
- Maxwell顺态求解器电磁力分析
文源:技术邻 问题描述:求解一段通有正弦交流电的直导线在某一稳态磁场中的受力情况,并简单验证仿真结果. 模型介绍: 如上几何模型中10mm边长立方体代表永磁体,材料属性为材料库中的NdFe35,修改磁 ...
- Atitit 版本管理----分支管理
Atitit 版本管理----分支管理 版本管理系统"(Version Control System Branch/tag在一个功能选项中,在使用中很容易产生混淆. 分支(Branch)管理 ...
- LINQ 查询集合总的重复项
select new FMDS_FarmPlotNewInfo { FarmPlo ...
- 【成长之路】【python】python基础2
1.位运算 &(与) | (或) ~ (非) ^(异或) 2.三元运算 c = a+b if a>b else a-b if (a>b): a+b else: a-b 3.小知识( ...
- Spring Security(04)——认证简介
目录 1.1 认证过程 1.2 Web应用的认证过程 1.2.1 ExceptionTranslationFilter 1.2.2 在request之间共享Security ...
- mybatis 批量插入值的sql
<insert id="insertAwardPic" useGeneratedKeys="true" parameterType="java. ...
- hdu_5874_Friends and Enemies(公式题)
题目链接:hdu_5874_Friends and Enemies 题意: 有nn个人, mm种颜色的石头, 人两两之间要么是朋友, 要么是敌人. 每个人可以携带若干种石头或者不带, 要求朋友之间至少 ...
- Makefile:130: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
修改了snmp里面的包Makefile,出现了如下问题: Makefile:130: *** missing separator (did you mean TAB instead of 8 spac ...
- kettle连接Hive中数据导入导出(6)
1.hive往外写数据 http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS 连接hive