自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

“IT-老兵” 的博客

致力于 NewSQL/HTAP 数据库的推广普及

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL常用的配置、脚本和命令

1. sysbench #配置文件mysql.conf mysql-host=192.168.13.168 mysql-port=4000 mysql-user=root mysql-password=123456 mysql-db=sbtest time=600 threads=8 report-interval=10...

2019-12-10 21:48:26 319

原创 在amd-64 Linux 下编译CockroachDB源码

CockroachLabs公司的CockroachDB(简称CRDB)是一款适合于海量数据环境下高并发OLTP和OLAP场景的开源分布式NewSQL/HTAP数据库。它采用了新的架构和设计、新的分布式理论和算法,吸收了关系型数据库和NoSQL数据库各自的优点,无需应用级的分库分表,具有SQL模型的简单易用、水平弹性扩展、支持强一致性分布事务、异地多活的高可用、云原生等一系列特点。...

2019-02-27 16:03:40 1503

原创 NewSQL数据库压力测试工具系列——TPCC

前两篇文章向大家介绍了sysbench和YCSB两个开源性能基准测试工具,这两个工具着重于对数据库进行产品级基本的、与业务和应用无关的压力测试。在这篇文章中将向大家介绍在传统关系型数据库领域中存在的以假想的零售业务为基础的TPC-C性能测,并介绍基于sysbench的一个开源工具sysbench-tpcc针对TiDB和Cockroach的用法。TPC-C简介 TPC-C是专...

2018-11-02 13:26:10 2584 1

原创 NewSQL数据库压力测试工具系列——YCSB

在上一篇文章中向大家介绍了sysbench开源性能基准测试工具,在这篇文章中将向大家介绍另一个流行的开源测试工具YCSB。YCS简介绍     YCSB(Yahoo Cloud Serving Benchmark)是由Brian Cooper为数据库基准测试创建的一套工具。 YCSB支持各种类型的数据库,包括SQL数据库(比如:MySQL、PostgreSQL等)和NoSQL数据库(比如:R...

2018-11-01 14:01:53 1640

原创 NewSQL数据库压力测试工具系列——Sysbench

      数据库是企业应用系统的重要基础支撑软件,企业在进行技术选型的时候都是格外慎重的,需要综合考虑多个方面,此外还需要做多种层次的测试。前面的一系列文章跟大家介绍了分布式NewSQL数据库领域的两个典型产品——TiDB和CockroachDB,大家可以通过一些负载测试来考察他们的性能表现。从本文开始,向大家介绍几个常见的数据库测试方法,包括:sysbench、TPCC、ycsb和一个模拟银行...

2018-10-31 10:55:01 1297

原创 使用Docker Compose部署单机TiDB集群时指定版本的一个方法

     在先前的文章——《使用Docker Compose快速搭建一个单机TiDB集群》介绍了在单机上快速部署和启动TiDB集群的方法,它安装TiDB版本缺省是最新版本,用latest标识。在这里,将向大家介绍如何指定TiDB版本的一种方法,简单、高效。     1. 下载tidb-docker-compose          假设Linux操作系统账户是tidb,其主home目录为/...

2018-10-29 14:35:12 1011

原创 CockroachDB SQL开发基础 ——事务隔离级别和并发控制介绍 (2)

     在前一篇文章中介绍了CRDB SI事务隔离级别,在这篇文章将向大家介绍CRDB缺省的事务隔离级别SSI(可串行化快照隔离级别)。     2. SSI隔离级别     在CRDB中,运行在SSI隔离级别的事务具有如下行为特点:      (1) 不会发生“脏读”、“不可重复读”和“幻象读”,也不会发生“写偏斜”异常。对于应用开发人员来说,只需要正常的使用标准的SQL语法就能够享...

2018-10-24 16:55:08 486

原创 CockroachDB SQL开发基础 ——事务隔离级别和并发控制介绍 (1)

     CockroachLabs公司的CockroachDB(简称CRDB)是一款适合于海量数据环境下高并发OLTP和OLAP场景的开源分布式NewSQL/HTAP数据库。它采用了新的架构和设计、新的分布式理论和算法,吸收了关系型数据库和NoSQL数据库各自的优点,无需应用级的分库分表,具有SQL模型的简单易用、水平弹性扩展、支持强一致性分布事务、异地多活的高可用、云原生等一系列特点。  ...

2018-10-20 15:33:33 1387

原创 CockroachDB SQL开发基础 ——增删改查 (2)

     在上一篇文章中介绍了应用开发人员在开发数据库访问逻辑时最频繁使用DML语句的用法和示例,包括:INSERT、UPDATE、DELETE和SELECT等语句。这篇文章将向大家介绍UPSERT、WITH等语句的用法。 1. UPSERT语句     在CRDB中,UPSERT语句是“精简版的”INSERT ON CONFLICT(前一篇文章有描述)。当待插入行中的值没有违反表的主...

2018-10-19 10:29:59 595

原创 CockroachDB SQL开发基础 ——增删改查 (1)

     在先前的几篇有关应用开发基础的文章中介绍了CockroachDB中如何创建数据库、创建表(以及创建表的更多用法示例)和索引等内容。在这篇文章中,将向大家介绍基本的SQL操纵语句(DML语句),这些是应用开发人员在开发数据库访问逻辑时最频繁使用的。CockraochDB对DML语句的支持深度是在开源分布式NewSQL/HTAP产品中是比较领先的,不仅支持基本的SELECT、INSERT、U...

2018-10-15 10:54:35 1073

原创 CockroachDB SQL开发基础——创建索引

      索引是关系型数据库中的一种非常重要的对象,通过使用索引查找数据、避免全表扫描而提升数据库查询的性能。CockroachDB(简称CRDB)支持较为丰富的索引功能,包括“标准索引(Standard index)”和“倒排索引(Inverted index)”。标准索引与传统关系型数据库的索引相同,在CRDB中包括:“主键索引”、“唯一(UNIQUE)索引”、单字段索引和多字段组合索引等。...

2018-10-14 17:39:23 787

原创 CockroachDB SQL开发基础 ——创建表的更多有趣示例 (2)

     在上一篇文章中,介绍了CockroachDB中创建表的更多一些示例,包括:“主键”、“外键”、“Check约束”这些SQL标准中的特性用法;还结合示例介绍了如何创建带有计算列和能够映射KV存储表的方法。本文将介绍CockroachDB中创建表时的另外一些示例,包括:创建带有二级索引和倒排索引的表、创建带有ID值自动生成的表(3种方式)、从Select语句创建表以及创建具有多列族的表(这是...

2018-10-13 13:36:42 547

原创 CockroachDB SQL开发基础 ——创建表的更多有趣示例 (1)

     上一篇文章介绍了CockroachDB中创建数据库和表的基本方法和示例。在这些示例中使用的CRDB语句的语法也能够用于其它的数据库(比如MySQL或者兼容MySQL的PingCap的TiDB)。 CockroachDB在SQL标准的遵从和实现度方面,在开源NewSQL/HTAP数据库中是比较领先的(相比较来说,TiDB在SQL标准的支持方面要稍弱一些)。     本文将介绍在创建表时...

2018-10-09 15:46:57 745

原创 CockroachDB SQL开发基础 ——创建数据库、表和视图

       CockroachDB兼容PostgreSQL协议和PostgreSQL语法,它的目标是提供对ANSI SQL标准的兼容,在兼容标准的前提下进行了一定程度的扩展。从客户端的角度看,我们可以把CockroachDB当作一个存储容量和计算能力可以“无限扩展”的PostgreSQL。PostgreSQL生态中的很多工具、程序和应用能够适用于CockroachDB(不用修改或少量修改)。对于...

2018-10-07 17:21:05 2348

原创 在单机上构建 secure 多节点CockroachDB集群

       本文将向大家介绍如何在一台机器上(可以是物理机,也可以是一台虚拟机)创建secure多节点CockroachDB集群(在示例中我们将创建一个具有3节点的CRDB数据库集群)。这里所说的secure是指集群的各节点之间以及client与集群节点之间使用TLS证书对通信进行加密。在生产环境下建议创建secure多节点CockroachDB集群。环境说明一个虚拟机:8G Mem 、...

2018-10-06 16:15:57 752

原创 在单机上构建 insecure 多节点CockroachDB集群

       本文将向大家介绍如何在一台机器上(可以是物理机,也可以是一台虚拟机)创建insecure多节点CockroachDB集群(在示例中我们将创建一个具有3节点的CRDB数据库集群)。这种方式创建的集群非常适合大家学习CRDB使用。在本人后续的很多文章中所描述的示例,为了方便大家试验和运行将采用这种方式创建CRDB集群。      这里所说的不安全模式 (insecure) 是指集群的...

2018-10-05 17:19:27 406

原创 分布式NewSQL/HTAP数据库——CockroachDB

       CockroachDB是一个分布式关系型数据库,它的主要设计目标是可扩展性,强一致性和高可靠性。CockroachDB能够在无人为干预情况下,以极短的中断时间容忍磁盘、主机、机架甚至整个数据中心的故障。CockroachDB采用完全去中心化架构,集群中各个节点的地位完全相同,同时所有功能封装在一个二进制可执行程序文件中,可以做到最小化设置和没有外部依赖的直接部署。       C...

2018-09-28 14:53:48 2475 3

原创 使用TiDB-Operator在k8s平台上部署Ti-DB集群

        TiDB Operator是PingCap公司开发的一款在Kubernetes平台上部署和管理TiDB集群的开源软件。使用它可以把TiDB集群自动化部署到k8s集群,这使得TiDB分布式数据库成为一款"云原生(cloud-native)"数据库,用户能够在自己的容器云上部署TiDB数据库。TiDB Operator的主要特性: 安全地扩展 TiDB cluster      ...

2018-09-03 16:46:37 5883 1

原创 在单机上使用Kubeadm-dind 部署多节点k8s集群

     近几年Google的Kubernetes(简称k8s)已经成为分布式容器编排和管理领域事实上的标准,在基于容器的微服务架构下的分布式应用开发、部署和运维管理等领域,会有越来越多的用户部署和使用k8s平台。对于初学着来说,部署一个多机k8s集群一来缺少环境、另外也相对比较复杂。为了满足用户尝试和使用的便利性需要,可以使用两种方法在一个单机环境下(物理机或者虚拟机)部署一个k8s环境: ...

2018-09-03 11:50:16 3522

原创 为什么选择第三代分布式关系数据库而不是分库分表的二代方案

       “互联网经济”所带来的巨大流量使得企业、机构面临外部访问负载以及数据量的大幅飙升,很多企业信息系统目前所采用的传统集中式关系型数据库越来越不适应海量数据以及高并发环境下对数据处理能力的要求,在应对此类场景时数据库逐渐成为整体系统的瓶颈,扩展成本较高。        为了解决这些问题,互联网企业最先进行了尝试和探索,他们采用分库、分表,使用 MySQL+数据库中间件方案来解决问题,...

2018-08-16 10:57:32 2777

原创 TiDB SQL开发基础——增删改查

       在前面的几篇有关应用开发方面的博文介绍了在TiDB中如何创建数据库、创建表和索引等内容。在这篇文章中,将向大家介绍基本的SQL操纵语句,这些在应用开发中访问数据库最频繁使用的。1. 插入数据    在TiDB中,可以使用INSERT 语句向表内插入数据。例如:        INSERT INTO person VALUES("1","tom","20170912");...

2018-07-19 13:56:38 3653

原创 TiDB SQL开发基础——创建索引

     TiDB支持索引,包括主键索引、唯一索引、单字段索引和多字段组合索引。对于了解传统关系型数据库的开发人员和DBA来说可以很方便的继承他们已经很熟悉的索引知识来优化查询。本文将向大家介绍TiDB中索引使用的基本知识。      1. 创建索引       (1)  主键索引             在TiDB中,表的主键与传统RDBMS一样,也是自动创建一个主键索引。主键索引可...

2018-07-18 13:37:27 7312

原创 TiDB SQL开发基础——创建数据库和表

     TiDB兼容MySQL协议和MySQL语法,从客户端的视角看,可以把TiDB当作一个存储容量和计算能力可以“无限扩展”的MySQL。MySQL生态中的很多工具、程序和应用能够适用于TiDB(不用修改或少量修改)。例如,我们可以使用MySQL Workebench工具连接和访问TiDB数据库。对于熟悉MySQL数据库的开发人员,上手TiDB是很快的;对于不熟悉的MySQL而熟悉其它数据库的...

2018-07-17 16:24:46 6000

原创 TiDB事务隔离级别和并发控制的特点详述

       TiDB作为新一代分布式SQL数据库,它支持强一致性事务。ANSI SQL-92 对于事务的隔离级别有明确的定义,这也是大部分传统数据库(MySQL、PostgreSQL、Oracle、DB2、SqlServer等)都遵循的标准。TiDB的事务隔离级别并没有完全支持ANSI标准中的所有隔离级别,它缺省的隔离级别是"Snapshot Isolation"(简称SI),这种隔离级别类似于...

2018-07-16 17:50:24 4971

原创 使用Docker Compose快速搭建一个单机TiDB集群

       通过最初的几篇博文大家已经对分布式 New SQL数据库和TiDB已经有了大致的了解。有些读者可能已经跃跃欲试,想动手试试了。TiDB有多种安装部署方法,在这里向大家介绍一种简单、快速,适合于初学者的简单安装方法——使用Docker Compose快速安装一个单机TiDB集群。       1. 环境说明        (1) 虚拟机: 2 vCores、4G Mem  ...

2018-07-16 10:09:09 1287 3

原创 TiDB事物隔离级别以及乐观锁模型介绍

     TiDB支持ANSI SQL-92标准中的“读已提交”和“可重复读”两种事物隔离级别。对于“可重复读”隔离级别,在TiDB中叫做“Snapshot Isolation”(快照隔离级别,简称SI),这种隔离级别不会产生“幻像读”,但是会产生写偏斜(write skew)。TiDB缺省的事物隔离级别是SI,可以通过相关语句设置为“读已提交”隔离级别。     注意:         (1) ...

2018-07-13 15:11:54 2692 1

原创 开源分布式New SQL数据库SQL支持对比(TiDB vs CockroachDB)

目前,在开源分布式New SQL数据库领域中最著名的两个产品是PingCap公司的TiDB和Cockroach Labs的CockroachDB(简称 CRDB)。这两个产品都是受到Google Spanner 论文启发,是它的两种开源实现。 TiDB兼容MySQL,而CRDB是兼容PostgreSQL。对于应用开发人员来说,如果比较熟悉MySQL,那么选择TiDB可能是比较...

2018-07-13 14:37:23 9474

原创 安装TiDB的软件和硬件环境要求

       TiDB 作为一款开源分布式 New SQL 数据库,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境。本文将向大家介绍安装TiDB所需要的软硬件环境要求。       1. Linux操作系统版本要求 Linux操作系统版本Red Hat Enterprise ...

2018-07-09 09:11:50 6604

原创 TiDB 应用案例介绍

     TiDB从2015年开始,经过短短的三年时间在国内不少企业(互联网、金融、传统企业)落地开花。本文将列举一些典型案例供大家参考。这里面的内容来自于pingcap官方网站,在这里做了链接。     1. 互联网        (1) TiDB 分布式数据库在转转公司的应用实践             https://pingcap.com/cases-cn/user-case-zhuanz...

2018-07-06 15:08:56 2876

原创 TiDB适用和不适用场景

TiDB 的典型的应用场景是:(1) 原业务的 MySQL 的业务遇到单机容量或者性能瓶颈时,可以考虑使用 TiDB 无缝替换 MySQL。TiDB 可以提供如下特性:吞吐量、存储和计算能力的水平扩展水平伸缩时不停服务强一致性分布式 ACID 事务(2) 大数据量下,MySQL 复杂查询很慢。(3) 大数据量下,数据增长很快,接近单机处理的极限,不想分库分表或者使用数据库中间件等对业务侵入性较大、...

2018-07-06 14:52:21 52223 1

原创 分布式 New SQL数据库 TiDB 总体架构

      这篇文章将向大家介绍TiDB数据库系统的总体架构,本文参考了pingcap官方文档,并补充了少量内容。在介绍TiDB总体架构时,还简要描述了每一个组件的可扩展性和高可用性。      TiDB 分布式数据库集群如上图所示主要分为三个组件:      (1) TiDB Server      TiDB Server 负责接收SQL请求,处理SQL 相关的逻辑,并通过PD 找到...

2018-07-06 12:03:09 1585

原创 分布式New SQL数据库典型开源产品和主要功能特性

      分布式NewSQL数据库的New主要是新在它结合了NoSQL数据库的水平扩展能力,同时继承了传统关系型数据库所采用的SQL关系模型和对ACID事务完整支持的能力。也就说,NewSQL结合了传统关系型数据库和NoSQL数据库各自的主要优点(也弥补了各自的主要缺点) ,采用新的架构和理论模型开发的新一代关系型数据库系统。      NewSQL数据库采用分布式架构,数据库引擎内置自动水...

2018-07-05 12:20:29 1106

原创 分布式New SQL数据库的起源

       关系型数据库是企事业单位、政府机构信息系统的核心资源,对于一些关键行业(例如银行、非银行金融机构、电信等),由于自身业务的特点,决定了其信息系统在可靠性、可用性、可扩展性以及强一致性等方面有着极高的要求。因此,现有这些企业的信息系统在设计与实现时大部分采用了数据集中式的架构,软硬件产品选型也以IBM、Oracle、EMC等大型商业公司提供的商用产品为主。比如使用小型机和SAN存储来保...

2018-07-04 16:06:50 893

数据仓库和数据挖掘(1)

介绍数据仓库的基本概念、架构和技术。适合于从一般角度了解。

2013-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除