TiDB是一个分布式NewSQL数据库。它支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性,是一个不仅适合OLTP场景还适合OLAP场景的混合数据库。TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL5.7协议和MySQL生态等重要特性。目标是为用户提供一站式OLTP(Onli
TiDB基础使用TiDBdashboard使用TiDBDashboard是TiDB自4.0版本起提供的图形化界面,可用于监控及诊断TiDB集群。TiDBDashboard内置于TiDB的PD组件中,无需独立部署。集群概况查看集群整体QPS数值、执行耗时、消耗资源最多的几类SQL语句等概况信息。该页面显示了整个集群的概况,包含以下信息:整个集群的QPS整个集群的查询延迟最近一段时间内累计耗时最多的若干SQL语句最近一段时间内运行时间超过一定阈值的慢查询各个实例的节点数和状态监控及告警信息QPS该区域显示最近一小时整个集群的每秒成功和失败查询数量注意:该功能仅在部署了Prometheus监控组件的
TiDB基础使用TiDBdashboard使用TiDBDashboard是TiDB自4.0版本起提供的图形化界面,可用于监控及诊断TiDB集群。TiDBDashboard内置于TiDB的PD组件中,无需独立部署。集群概况查看集群整体QPS数值、执行耗时、消耗资源最多的几类SQL语句等概况信息。该页面显示了整个集群的概况,包含以下信息:整个集群的QPS整个集群的查询延迟最近一段时间内累计耗时最多的若干SQL语句最近一段时间内运行时间超过一定阈值的慢查询各个实例的节点数和状态监控及告警信息QPS该区域显示最近一小时整个集群的每秒成功和失败查询数量注意:该功能仅在部署了Prometheus监控组件的
TiDB基础使用TiDBdashboard使用TiDBDashboard是TiDB自4.0版本起提供的图形化界面,可用于监控及诊断TiDB集群。TiDBDashboard内置于TiDB的PD组件中,无需独立部署。集群概况查看集群整体QPS数值、执行耗时、消耗资源最多的几类SQL语句等概况信息。该页面显示了整个集群的概况,包含以下信息:整个集群的QPS整个集群的查询延迟最近一段时间内累计耗时最多的若干SQL语句最近一段时间内运行时间超过一定阈值的慢查询各个实例的节点数和状态监控及告警信息QPS该区域显示最近一小时整个集群的每秒成功和失败查询数量注意:该功能仅在部署了Prometheus监控组件的
TiDB基础使用TiDBdashboard使用TiDBDashboard是TiDB自4.0版本起提供的图形化界面,可用于监控及诊断TiDB集群。TiDBDashboard内置于TiDB的PD组件中,无需独立部署。集群概况查看集群整体QPS数值、执行耗时、消耗资源最多的几类SQL语句等概况信息。该页面显示了整个集群的概况,包含以下信息:整个集群的QPS整个集群的查询延迟最近一段时间内累计耗时最多的若干SQL语句最近一段时间内运行时间超过一定阈值的慢查询各个实例的节点数和状态监控及告警信息QPS该区域显示最近一小时整个集群的每秒成功和失败查询数量注意:该功能仅在部署了Prometheus监控组件的
实现原理当我们new一个上下文DbContext后,每次执行CURD方式时,都会依次调用OnConfiguring(),OnModelCreating()两个方法。OnConfiguring()我们将用来替换一些服务实现,以支持分表的工作OnModelCreating()我们将用来重新实现实体与数据库表的映射关系每次调用OnModelCreating()时,会判断实体与数据库表的映射关系有没有改变,如果改变则采用新的映射关系。判断是否发生改变,通过替换IModelCacheKeyFactory接口的实现来完成。详情可见:在具有相同DbContext类型的多个模型之间进行交替IModelCach
实现原理当我们new一个上下文DbContext后,每次执行CURD方式时,都会依次调用OnConfiguring(),OnModelCreating()两个方法。OnConfiguring()我们将用来替换一些服务实现,以支持分表的工作OnModelCreating()我们将用来重新实现实体与数据库表的映射关系每次调用OnModelCreating()时,会判断实体与数据库表的映射关系有没有改变,如果改变则采用新的映射关系。判断是否发生改变,通过替换IModelCacheKeyFactory接口的实现来完成。详情可见:在具有相同DbContext类型的多个模型之间进行交替IModelCach
主从复制+分库分表要讲主从复制,首先来看看MySQL自带的日志文件。日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志文件。该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:showvariableslike'%log_error%';通过tail指令查看日志文件的尾部记录的日志:tail-50/var/log/mysqld.log实时查看文件尾部记录的日志:tail-f/var/log/my
主从复制+分库分表要讲主从复制,首先来看看MySQL自带的日志文件。日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志文件。该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:showvariableslike'%log_error%';通过tail指令查看日志文件的尾部记录的日志:tail-50/var/log/mysqld.log实时查看文件尾部记录的日志:tail-f/var/log/my
曾几何时,“并发高就分库,数据大就分表”已经成了处理MySQL数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?分表在业务刚刚发展起来的时候,流量全部打到了一个MySQL上,用户信息全落到了user表。后来,user表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的user表拆分成了新的user表和user_details表。这样一拆之后,用户的信息分散到两个表,user表的数据量一下就变小了,user表数据量过大的问题暂时就解决了。但随着业务的发展,线上的流量越来越大,单个MySQL已经扛不住流量的压力了