随笔分类 -  数据库

摘要:生产环境中一台ETCD节点宕机之后,添加新的节点的时候出现以下错误, 出现该错误的原因应该是member add时候出现异常 解决方案: 把之前执行member add的节点移除,重新添加一下应该就可以解决;我们这边生产环境就是这么解决的,如果有别的异常可以留言一起讨论 member remove 阅读全文
posted @ 2019-11-08 09:31 davygeek 阅读(4271) 评论(0) 推荐(0) 编辑
摘要:可以说数据库必须有索引,没有索引则检索过程变成了顺序查找,O(n)的时间复杂度几乎是不能忍受的。我们非常容易想象出一个只有单关键字组成的表如何使用B+树进行索引,只要将关键字存储到树的节点即可。当数据库一条记录里包含多个字段时,一棵B+树就只能存储主键,如果检索的是非主键字段,则主键索引失去作用,又 阅读全文
posted @ 2018-11-13 18:11 davygeek 阅读(554) 评论(0) 推荐(0) 编辑
摘要:1 搜索二叉树:每个节点有两个子节点,数据量的增大必然导致高度的快速增加,显然这个不适合作为大量数据存储的基础结构。 2 B树:一棵m阶B树是一棵平衡的m路搜索树。最重要的性质是每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;一个节点的子节点数量会比关键字个 阅读全文
posted @ 2018-11-13 17:58 davygeek 阅读(3206) 评论(0) 推荐(0) 编辑
摘要:Table of Contents Introduction Script-based installation Install script Install packages after script Manual installation Install required packages Cr 阅读全文
posted @ 2017-12-11 14:53 davygeek 阅读(1126) 评论(0) 推荐(0) 编辑
摘要:ClickHouse是一个开源的面向列式数据的数据库管理系统,能够使用SQL查询并且生成实时数据报告。 优点: 1.并行处理单个查询(利用多核) 2.在多个服务器上分布式处理 3.非常快的扫描,可用于实时查询 4.列存储非常适用于“宽”/“非规格化”表(多列) 5.良好的压缩特性 6.SQL支持(有 阅读全文
posted @ 2017-12-10 21:44 davygeek 阅读(15297) 评论(0) 推荐(0) 编辑
摘要:作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了 阅读全文
posted @ 2017-12-06 21:49 davygeek 阅读(452) 评论(0) 推荐(0) 编辑
摘要:在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的;在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简单 阅读全文
posted @ 2017-12-06 21:48 davygeek 阅读(3897) 评论(1) 推荐(1) 编辑
摘要:上一篇文章 MySQL 索引设计概要 介绍了影响索引设计的几大因素,包括过滤因子、索引片的宽窄与大小以及匹配列和过滤列。在文章的后半部分介绍了 数据库索引设计与优化 一书中,理想的三星索引的设计流程和套路,到目前为止虽然我们掌握了单表索引的设计方法,但是却没有分析预估索引耗时的能力。 在本文中,我们 阅读全文
posted @ 2017-12-06 21:47 davygeek 阅读(546) 评论(0) 推荐(0) 编辑
摘要:在关系型数据库中设计索引其实并不是复杂的事情,很多开发者都觉得设计索引能够提升数据库的性能,相关的知识一定非常复杂。 然而这种想法是不正确的,索引其实并不是一个多么高深莫测的东西,只要我们掌握一定的方法,理解索引的实现就能在不需要 DBA 的情况下设计出高效的索引。 本文会介绍 数据库索引设计与优化 阅读全文
posted @ 2017-12-06 21:46 davygeek 阅读(590) 评论(0) 推荐(0) 编辑
摘要:在学习几年编程之后,你会发现所有的问题都没有简单、快捷的解决方案,很多问题都需要权衡和妥协,而本文介绍的就是数据库在并发性能和可串行化之间做的权衡和妥协 - 并发控制机制。 如果数据库中的所有事务都是串行执行的,那么它非常容易成为整个应用的性能瓶颈,虽然说没法水平扩展的节点在最后都会成为瓶颈,但是串 阅读全文
posted @ 2017-12-06 21:44 davygeek 阅读(2360) 评论(0) 推荐(1) 编辑
摘要:在 2006 年的 OSDI 上,Google 发布了名为 Bigtable: A Distributed Storage System for Structured Data 的论文,其中描述了一个用于管理结构化数据的分布式存储系统 - Bigtable 的数据模型、接口以及实现等内容。 本文会先 阅读全文
posted @ 2017-12-06 21:42 davygeek 阅读(2580) 评论(0) 推荐(1) 编辑
摘要:主从复制中常会遇到的问题就是1062主键重复、1032 slave上相关记录没找到 如果在读写分离的架构中,slave同步失败会对业务造成很大的影响的(比如主写入了一条数据,从上无法读取到这样对业务影响很大) 主从同步主要涉及一个参数: slave_exec_mode slave_exec_mode 阅读全文
posted @ 2017-11-23 09:45 davygeek 阅读(583) 评论(0) 推荐(0) 编辑
摘要:通常情况下我们主库的binlog只保留7天,如果从库故障超过7天以上的数据没有同步的话,那么主从架构就会异常,需要重新搭建主从架构。 本文就简单说明下如何通过mysqldump主库的数据恢复从库的主从架构 下面就以我们在线上业务中实际遇到的情况做个简单说明 本文就以以下集群为例: 主库: 192.1 阅读全文
posted @ 2017-10-13 17:59 davygeek 阅读(433) 评论(0) 推荐(0) 编辑
摘要:今天再查看文档的时候突然看到了oak-online-alter-table执行在线ddl,以前只使用过pt-online-schema。所以这里收集一些资料对比下差异,方便日后自己查阅。 一.oak-online-alter-table openark工具包是一组用于MySQL的实用工具,该工具集解 阅读全文
posted @ 2017-06-15 23:43 davygeek 阅读(750) 评论(0) 推荐(0) 编辑
摘要:在使用pt-online-schema-change做线上DDL的时候对于数据量比较小的表问题不大,但是对于数据量比较大的表(比如:单表2亿数据)访问量较大的时候就有可能出现异常, 原本使用pt-online-schema-change就是为了线上不锁表操作,但是对于数据量 比较大的表会出现主从延迟 阅读全文
posted @ 2017-04-12 09:34 davygeek 阅读(489) 评论(0) 推荐(0) 编辑
摘要:简介 minikube是一个可以很容易在本地运行Kubernetes集群的工具, minikube在电脑上的虚拟机内运行单节点Kubernetes集群,可以很方便的供Kubernetes日常开发使用;minikube在Linux下是部署需要依赖VirtualBox或者KVM,本文中所说的是基于KVM 阅读全文
posted @ 2017-02-23 14:26 davygeek 阅读(2355) 评论(0) 推荐(0) 编辑
摘要:1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) (2)导出数据库结构(不含数据) (3)导出数据库中的某张数据表(包含数据) (4)导出数据库中的某张数据表的表结构(不含数据) 2.mysqldump常用参数说明: --all-databases , -A 导出全 阅读全文
posted @ 2016-08-18 11:23 davygeek 阅读(5167) 评论(0) 推荐(0) 编辑
摘要:目前在从事数据库中间件的开发和维护工作,我们使用的数据库中间件就是由cobar改造而来,所以对于cobar的一些说明一看就明白了; 下面是看到的一个很不错的分析文档 这里整理了下方便自己学习使用。 Cobar是阿里巴巴研发的关系型数据的分布式处理系统(Amoeba的升级版,该产品成功替代了原先基于O 阅读全文
posted @ 2016-07-27 14:13 davygeek 阅读(3135) 评论(0) 推荐(0) 编辑
摘要:今天突然有个同事问题一个问题, mysqlTPS和QPS的计算公式是什么? 以前确实也没有关注过这个计算公式,所以查了下学习了下; 下面是参考内容。 在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标。本文比较了网上的两种计算方式。先来了解一下相关概念。 概念介绍: QPS:Quer 阅读全文
posted @ 2016-07-25 14:18 davygeek 阅读(1411) 评论(0) 推荐(0) 编辑
摘要:最近使用qt开发了一个访问数据库的工具, 默认使用ODBC驱动注入的方式,后来发现Oracle中ODBC驱动注入经常失败。 后来就想直接使用OCI方式访问,而默认情况下Qt只有Sqlite和ODBC驱动,OCI需要自己编译安装; 网上有相应的驱动安装介绍,自己实验可行: 编译前置条件: 1. QT源 阅读全文
posted @ 2016-07-11 13:35 davygeek 阅读(5546) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示