TiDB:开源分布式关系型数据库完全指南

小支同学的TiDB 【备考指南】平凯数据库认证 TiDB 数据库从业者考试 (PingCAP Certified TiDB Associate)是 PingCAP 公司认证 TiDB 数据库专员的缩写。PCTA 要求具备安装部署及日常运维分布式关系型数据库的能力。PCTA 需要学习并熟练掌握 TiDB 架构原理、安装部署、周边工具等基础知识。首页 | TiDB 社区TiDB 社区是由 TiDB 生态中的开发者、用户、Contributor、合作伙伴一起建立的分享、学习平台。在这里,我们可以自由发声,互相协助解决问题。 阅读详情

TiDB:开源分布式关系型数据库完全指南

背景

在数据量爆发式增长的时代,传统单机数据库面临容量瓶颈和性能天花板。水平扩展能力成为现代数据库的核心需求,但很多团队又希望保留熟悉的 SQL 开发体验。TiDB 作为一款开源分布式 NewSQL 数据库,完美平衡了这两方面需求——既支持 MySQL 协议和语法让迁移成本降到最低,又具备分布式架构的水平扩展能力。本文分享 TiDB 的部署与使用经验,帮助技术团队构建高可用、可扩展的数据基础设施。

一、项目概述与核心特性

TiDB 是 PingCAP 公司开源的分布式关系型数据库项目,GitHub Stars 数超过 40K,是 NewSQL 领域的代表性产品。其核心设计目标是提供分布式数据库的横向扩展能力,同时保持与 MySQL 的完全兼容。

MySQL 协议兼容:TiDB 全面兼容 MySQL 5.7 和 MySQL 8.0 的协议和语法,这意味着大多数 MySQL 客户端、驱动和 ORM 框架可以直接连接到 TiDB 无需修改代码。对于已有 MySQL 应用的团队,迁移到 TiDB 的成本大幅降低。

水平扩展架构:TiDB 采用计算与存储分离的分布式架构。TiDB Server 层负责 SQL 处理和事务协调,TiKV/TiFlash 存储层负责数据持久化。系统可以根据负载动态扩缩容,数据自动均衡分布到各存储节点。

强一致性事务:TiDB 使用 Raft 共识协议保证分布式数据强一致性,支持分布式 ACID 事务。跨节点写入时不用担心数据冲突或不一致问题,应用层可以像使用单机数据库一样编写事务逻辑。

HTAP 混合负载:TiDB 的存储层支持 TiKV(行存)和 TiFlash(列存)两种引擎,可以同时支持事务处理(OLTP)和分析查询(OLAP)。一套数据库满足多种工作负载需求,无需维护独立的数据仓库。

实时分析能力:TiFlash 异步复制实现准同步列存副本,分析查询不影响主库事务性能。复杂报表和分析查询可以在列存副本上执行,避免与在线业务争抢资源。

二、Docker Compose 部署教程

环境准备

TiDB 的 Docker 部署方案适合开发测试环境和中小规模生产场景。服务器要求:

  • Docker Engine 24.0+
  • Docker Compose v2.x
  • 最低 8GB 内存(推荐 16GB+)
  • 50GB+ 可用磁盘空间
  • 支持 Linux AMD64 或 ARM64

单机快速部署

对于功能验证和开发测试,可以使用 TiDB Operator 的简单模式快速启动单机集群:

mkdir -p ~/tidb-data
cd ~/tidb-data

创建 docker-compose.yaml:

version: "3.8"

services:
  tikv:
    image: pingcap/tikv:v8.1.0
    container_name: tikv
    volumes:
      - ./tikv-data:/tidb-data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv:20160
      - --data-dir=/tidb-data
      - --pd-endpoints=pd:2379
    depends_on:
      - pd
    networks:
      - tidb-network

  tidb:
    image: pingcap/tidb:v8.1.0
    container_name: tidb
    ports:
      - "4000:4000"
      - "10080:10080"
    command:
      - --store=tikv
      - --path=pd:2379
      - --advertise-addr=tidb:4000
    depends_on:
      - tikv
    networks:
      - tidb-network

  pd:
    image: pingcap/pd:v8.1.0
    container_name: pd
    volumes:
      - ./pd-data:/pd-data
    command:
      - --name=pd
      - --data-dir=/pd-data
      - --client-urls=0.0.0.0:2379
      - --advertise-addr=pd:2379
      - --peer-urls=0.0.0.0:2380
    networks:
      - tidb-network

networks:
  tidb-network:
    driver: bridge

启动 TiDB 集群:

docker compose up -d

等待约 30 秒让集群完成初始化。使用 MySQL 客户端连接测试:

mysql -h 127.0.0.1 -P 4000 -u root

生产级集群部署

对于生产环境,建议部署包含多个存储节点的集群以保证高可用:

version: "3.8"

services:
  pd-1:
    image: pingcap/pd:v8.1.0
    container_name: pd-1
    hostname: pd-1
    volumes:
      - ./pd-1-data:/pd-data
    command:
      - --name=pd-1
      - --data-dir=/pd-data
      - --client-urls=0.0.0.0:2379
      - --advertise-addr=pd-1:2379
      - --peer-urls=0.0.0.0:2380
      - --initial-cluster=pd-1=http://pd-1:2380,pd-2=http://pd-2:2380,pd-3=http://pd-3:2380
    networks:
      - tidb-cluster

  pd-2:
    image: pingcap/pd:v8.1.0
    container_name: pd-2
    hostname: pd-2
    volumes:
      - ./pd-2-data:/pd-data
    command:
      - --name=pd-2
      - --data-dir=/pd-data
      - --client-urls=0.0.0.0:2379
      - --advertise-addr=pd-2:2379
      - --peer-urls=0.0.0.0:2380
      - --initial-cluster=pd-1=http://pd-1:2380,pd-2=http://pd-2:2380,pd-3=http://pd-3:2380
    networks:
      - tidb-cluster

  pd-3:
    image: pingcap/pd:v8.1.0
    container_name: pd-3
    hostname: pd-3
    volumes:
      - ./pd-3-data:/pd-data
    command:
      - --name=pd-3
      - --data-dir=/pd-data
      - --client-urls=0.0.0.0:2379
      - --advertise-addr=pd-3:2379
      - --peer-urls=0.0.0.0:2380
      - --initial-cluster=pd-1=http://pd-1:2380,pd-2=http://pd-2:2380,pd-3=http://pd-3:2380
    networks:
      - tidb-cluster

  tikv-1:
    image: pingcap/tikv:v8.1.0
    container_name: tikv-1
    hostname: tikv-1
    volumes:
      - ./tikv-1-data:/tidb-data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv-1:20160
      - --data-dir=/tidb-data
      - --pd-endpoints=pd-1:2379,pd-2:2379,pd-3:2379
    depends_on:
      - pd-1
      - pd-2
      - pd-3
    networks:
      - tidb-cluster

  tikv-2:
    image: pingcap/tikv:v8.1.0
    container_name: tikv-2
    hostname: tikv-2
    volumes:
      - ./tikv-2-data:/tidb-data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv-2:20160
      - --data-dir=/tidb-data
      - --pd-endpoints=pd-1:2379,pd-2:2379,pd-3:2379
    depends_on:
      - pd-1
      - pd-2
      - pd-3
    networks:
      - tidb-cluster

  tikv-3:
    image: pingcap/tikv:v8.1.0
    container_name: tikv-3
    hostname: tikv-3
    volumes:
      - ./tikv-3-data:/tidb-data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv-3:20160
      - --data-dir=/tidb-data
      - --pd-endpoints=pd-1:2379,pd-2:2379,pd-3:2379
    depends_on:
      - pd-1
      - pd-2
      - pd-3
    networks:
      - tidb-cluster

  tidb:
    image: pingcap/tidb:v8.1.0
    container_name: tidb
    hostname: tidb
    ports:
      - "4000:4000"
      - "10080:10080"
    command:
      - --store=tikv
      - --path=pd-1:2379,pd-2:2379,pd-3:2379
      - --advertise-addr=tidb:4000
      - --log-file=/tidb-log/tidb.log
    volumes:
      - ./tidb-log:/tidb-log
    depends_on:
      - tikv-1
      - tikv-2
      - tikv-3
    networks:
      - tidb-cluster

networks:
  tidb-cluster:
    driver: bridge

三、快速入门与基础使用

连接数据库

TiDB 默认提供两个端口:

  • 4000:MySQL 协议端口,用于应用程序连接
  • 10080:TiDB HTTP API 端口,用于监控和运维

使用 MySQL 客户端连接:

mysql -h 127.0.0.1 -P 4000 -u root

如果需要指定密码,创建用户并设置密码:

CREATE USER 'app'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'app'@'%';
FLUSH PRIVILEGES;

基本 SQL 操作

TiDB 兼容 MySQL 语法,以下是常用操作示例:

创建数据库:

CREATE DATABASE IF NOT EXISTS myapp;
USE myapp;

创建表:

CREATE TABLE users (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(200) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

插入数据:

INSERT INTO users (name, email) VALUES 
    ('张三', 'zhangsan@example.com'),
    ('李四', 'lisi@example.com');

查询数据:

SELECT * FROM users WHERE id = 1;
SELECT COUNT(*) as total FROM users;

更新数据:

UPDATE users SET email = 'newemail@example.com' WHERE id = 1;

分布式特性体验

TiDB 的分布式架构对应用层透明,以下特性可以直观感受分布式能力:

自动分区:TiDB 会将大表自动分割成多个 Region 分布到不同存储节点:

-- 查看表的 Region 分布信息
SHOW TABLE REGIONS FROM myapp;

水平扩展:增加 TiKV 节点后,数据会自动均衡:

-- 查看集群存储节点状态
SHOW CLUSTER STATUS;

分布式执行计划:复杂查询会自动分配到多个节点并行执行:

EXPLAIN ANALYZE SELECT COUNT(*) FROM large_table GROUP BY category;

性能监控

TiDB 提供了丰富的监控接口。访问 http://服务器IP:10080/dashboard 可以进入 TiDB Dashboard,进行以下操作:

  • SQL 语句分析:查看慢查询和执行统计
  • 集群拓扑:查看各节点状态和负载
  • 容量规划:查看存储使用趋势
  • 实例管理:在线查看和修改配置

四、高级功能与最佳实践

事务处理指南

TiDB 支持分布式事务,但需要注意事务大小的控制:

小事务优化:TiDB 适合高频小事务,避免单个事务涉及过多数据行。建议单事务控制在 1000 行以内,事务执行时间控制在秒级以内。

重试机制:乐观事务模式下的冲突会导致事务失败,应用层需要实现重试逻辑。TiDB 支持设置 tidb_retry_limit 变量开启事务自动重试:

SET GLOBAL tidb_retry_limit = 10;

事务模式选择:TiDB 支持两种事务模式:

  • 乐观事务(默认):提交时检测冲突,适合冲突率低的场景
  • 悲观事务:通过 SET TRANSACTION 切换,适合高并发写入场景
SET SESSION tidb_txn_mode = 'pessimistic';
START TRANSACTION;
-- 业务逻辑
COMMIT;

索引设计原则

合理的索引设计对 TiDB 性能至关重要:

主键选择:TiDB 推荐使用自增主键或趋势主键,避免使用随机 UUID。随机主键会导致写入热点,降低写入性能:

-- 推荐
CREATE TABLE orders (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    ...
);

-- 避免
CREATE TABLE orders (
    id VARCHAR(36) PRIMARY KEY,  -- UUID
    ...
);

复合索引:将等值查询列放在前面,范围查询列放在后面:

-- 假设有 status 和 created_at 两个查询条件
-- 推荐索引顺序
CREATE INDEX idx_status_created ON orders(status, created_at);

前缀索引:对于长字符串列可以使用前缀索引减少存储开销:

CREATE INDEX idx_email ON users(email(10));

数据类型选择

时间类型:优先使用 DATETIME 而非 TIMESTAMP,避免时区和进制转换问题:

CREATE TABLE events (
    id BIGINT PRIMARY KEY,
    event_time DATETIME NOT NULL,
    ...
);

数字类型:使用 BIGINT 存储金额等精确数值,避免浮点数精度丢失:

-- 存储金额,单位为分
CREATE TABLE accounts (
    balance BIGINT NOT NULL DEFAULT 0,  -- 存储分
    ...
);

JSON 支持:TiDB 原生支持 JSON 类型,适合存储半结构化数据:

CREATE TABLE user_attributes (
    user_id BIGINT PRIMARY KEY,
    attributes JSON,
    ...
);

INSERT INTO user_attributes VALUES (1, '{"hobby": "reading", "city": "Beijing"}');

高可用配置

TiDB 集群的高可用通过 PD 的调度机制实现。默认配置下,单个 TiKV 节点故障不会影响服务,PD 会自动进行故障转移和数据恢复。

调整副本策略:对于测试环境可以调整副本数以节省资源:

-- 查看调度配置
SHOW CONFIG PD;

-- 修改副本数(测试环境)
SET config pd `schedule.max-replicas` = 1;

TiFlash 列存副本:为已有表添加列存副本支持分析查询:

ALTER TABLE orders SET TIFLASH REPLICA 1;

等待副本构建完成后,复杂分析查询自动路由到列存副本执行:

SELECT category, SUM(amount), COUNT(*) 
FROM orders 
GROUP BY category;

五、常见问题与解决方案

Q1:导入大量数据时速度慢?

TiDB 对批量导入场景有专门优化,使用 LOAD DATA 或 TiDB Lightning 工具:

-- LOAD DATA 适合中等规模
LOAD DATA LOCAL INFILE '/path/to/data.csv' 
INTO TABLE target_table 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"';

对于 TB 级数据导入,使用 TiDB Lightning 工具性能更优。

Q2:如何处理热点问题?

写入热点常见于自增主键场景。解决方案:

  1. 使用 SHARD_ROW_ID_BITS 打散热点:
CREATE TABLE orders (
    id BIGINT NOT NULL AUTO_INCREMENT,
    ...
) SHARD_ROW_ID_BITS = 4;
  1. 改用分布式主键,如 Snowflake 算法生成的趋势 ID

Q3:TiDB 与 MySQL 语法差异?

TiDB 兼容大多数 MySQL 语法,但有以下主要差异:

  • 不支持 SELECT ... FOR UPDATE 在子查询中使用
  • 不支持存储过程内的 prepare 语句
  • 部分字符集支持有差异

建议在迁移前使用 tidb-lightning 的检查模式分析兼容性。

Q4:如何备份和恢复数据?

使用 mydumper 进行逻辑备份:

mydumper -h 127.0.0.1 -P 4000 -u root -t 4 -o ./backup

使用 loader 恢复数据:

loader -h 127.0.0.1 -P 4000 -u root -t 4 -d ./backup

生产环境建议使用 BR(BoltR)进行物理备份,性能更优。

Q5:集群扩缩容操作?

增加 TiKV 节点后,PD 会自动将数据均衡到新节点:

docker compose up -d tikv-4  # 添加新节点

缩容时需要先将节点下线并等待数据迁移完成,避免数据丢失。

六、总结

TiDB 作为 NewSQL 领域的开源标杆产品,成功地将分布式架构与 SQL 开发体验融为一体。通过 Docker Compose 部署,开发测试环境可以快速搭建完整的 TiDB 集群,验证分布式数据库的各项能力。其 MySQL 协议兼容性大幅降低了学习和迁移成本,团队无需掌握新的 SQL 方言即可开发分布式应用。随着数据规模增长,TiDB 的水平扩展能力可以平滑承接业务增长,是构建现代数据基础设施的可靠选择。


© 版权归无边界科技所有,发表评论请注明出处。

TiDB分布式关系型数据库简介 本文主要介绍TiDB架构以及使用场景。 阅读详情

相关推荐

国产数据库TiDB从入门到放弃教程

TiDB 是一个开源的分布式 NewSQL 数据库,兼容 MySQL 协议。它结合了传统关系型数据库(RDBMS)和 NoSQL 数据库的优点,旨在提供水平扩展、强一致性和高可用性。TiDB 由 PingCAP 公司开发,并得到了社区的广泛支持。

打代码是一天,不打代码也是一天 2384

分布式 SQL 数据库之TiDB

TiDB 是一个开源的分布式 SQL 数据库,具备高可扩展性和强一致性。它支持在线扩展、水平伸缩,提供与 MySQL 兼容的 SQL 接口,同时支持事务处理和复杂查询。TiDB 是为大规模在线事务处理(OLTP)和在线分析处理(OLAP)设计的统一数据库,能够处理海量数据,并确保数据强一致性。

youziguo的专栏 1729

TiDB与Oracle:数据库之争,谁能更胜一筹?

如果你所在的企业在经历数据量增长的瓶颈,或者需要一个云原生的分布式数据库系统,TiDB会是一个理想选择。而如果你在面对复杂的企业级事务处理和大规模数据存储时,Oracle的稳定性和功能优势无可替代。数据库的选择,最终取决于你所面临的需求。而TiDB则更适合那些面临分布式挑战,且需要在快速发展的互联网公司或者云平台中实现数据的横向扩展和灵活处理的场景。Oracle则是全球最知名的商业数据库之一,经过多年的发展,它已经成为了很多大型企业的标准数据库,尤其是在高可靠性、高并发、高事务要求的场景下表现尤为出色。

Kenneth55的专栏 1453

tidb开源吗_认识TiDB:开源的NewSQL数据库

tidb开源吗 随着企业采用云原生架构,对话自然会导致我们可以做的事情来使数据库水平扩展。 答案可能是仔细研究TiDB 。 TiDB是根据Apache 2.0许可发布的开源NewSQL数据库。 因为它说的是MySQL协议,所以您现有的应用程序将能够使用任何MySQL连接器连接到它,并且大多数SQL功能仍然相同(联接,子查询,事务等)。 但是,请掩盖所有步骤,并且有所不同。 如果您的体系结...

cumo7370的博客 2665

如何在TiDB中进行数据仓库与ETL操作?

作者:禅与计算机程序设计艺术 1.简介 数据仓库(Data Warehouse)是组织、管理和分析数据的集合体。其主要功能包括: 数据整理、清洗和转换; 提供面向主题的集中、可重复使用的信息; 对复杂的业务数据进行加工和分析;

AI天才研究院 1893

AI Agent技能评测框架SkillsBench:从黑盒评估到白盒技能拆解

在人工智能领域,模型评估是衡量技术进展的核心环节。传统评测基准如GLUE、MMLU主要关注模型的通用认知能力,但实际工程应用中,AI Agent需要的是在复杂场景中协调多种能力的“职业技能”。SkillsBench创新性地将Agent能力进行原子化拆解,定义了理解规划、工具调用、推理决策、交互安全等技能维度,并通过领域专家构建的评测集确保生态效度。这一框架为Agent开发提供了精准的“度量衡”,使性能优化从经验驱动转向数据驱动,同时为不同模型和框架提供了公平比较的基础,推动了AI Agent生态从“野蛮生长

weixin_30530339的博客 389

TiDB 开源分布式关系型数据库

简介:TiDB 是一款定位于在线事务处理/在线分析处理的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。

yuanmomoya的博客 1377

5分钟搞定!用MCU GPIO实现零功耗一键开关机电路(附完整原理图)

本文详细介绍了如何利用MCU GPIO设计零功耗一键开关机电路,适用于便携式设备和电池供电项目。通过软硬件结合的方式,实现关机状态下的真正零功耗,同时提供智能开关机控制。文章包含完整原理图、元件选型指南和实际搭建技巧,帮助开发者在5分钟内完成高效电源管理方案。

weixin_28339967的博客 344

TiDB:分布式关系型数据库

TiDB:概念、特性、架构、限制、应用场景、Java交互、生态与监控

xike1024的博客 1458

Hyper-V虚拟交换机实战:外部/内部/专用网络配置全解析

本文全面解析Hyper-V虚拟交换机的三种核心类型:外部、内部和专用网络。详细阐述了外部交换机如何让虚拟机融入物理网络,内部交换机如何构建宿主机与虚拟机的私有通道,以及专用交换机如何实现虚拟机间的完全隔离。通过实战配置步骤、IP规划建议和OpenWRT软路由案例,帮助用户根据需求灵活部署,并特别强调了外部交换机配置中“允许管理操作系统共享此网络适配器”这一关键选项的重要性,以避免宿主机断网。

weixin_29218963的博客 545

从仿真到打样:PMOS栅极泄放电路设计全流程复盘与三个踩坑点总结

本文详细复盘了PMOS栅极泄放电路从仿真到打样的全流程设计,重点总结了三个关键踩坑点:三极管BE结过压击穿、静态功耗超标和栅极振荡现象。通过优化缓启动电路、改进保护设计和布局调整,最终实现18ms开通时间、190μs关断时间和8μA静态功耗的工业级性能指标,为类似电源开关设计提供实用参考。

weixin_28693683的博客 371

TiDB 到底有什么用

TiDB 到底有什么用 作者:查士加 12696 次浏览评价:好中差 2019-12-30 编辑推荐: 本文主要介绍了 TiDB 的四个主要应用场景以及TiDB 产品的整体架构用例如何让使用 TiDB 替换 MySQL,希望对您的学习有所帮助。 本文来自...

荒野求生的博客 4464

NSGA-III相关笔记

NSGA-III目录目的区别NSGA-III的算法流程非支配排序详解归一化详解 目录 NSGA-III基于matlab的实现 参考文献 1.An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach,Part I: Solving P...

weixin_42555400的博客 1万+

DB-Engines排行榜7月上榜国产数据库对比之 TiDB与GBase

GBase系列产品已经已在金融、电信、政务、能源、交通、国防军工等百余个行业上万家用户提供产品和服务,建立节点超过100000个,管理数据总量超过500PB。GBase数据库已连续入选IDC《中国关系型数据库软件市场研究报告》(本地部署国产数据库前列)、赛迪顾问《平台软件市场研究报告》(保持分析型数据库本土厂商市占率第一,国产数据库前列),《中国金融行业数据库市场研究报告》(用户渗透率第一,且是唯一在金融业及银行、保险、证券三个细分领域的分布式和集中式均进入榜单的数据库)。

weixin_47390342的博客 995

【实战技巧】matplotlib中文标签显示问题的3种高效解决方案

本文详细介绍了解决matplotlib中文标签显示问题的3种高效方法,包括修改字体设置、临时指定字体和修改后端配置。针对不同操作系统和环境提供了实用技巧,帮助开发者快速解决中文显示为方框的常见问题,提升数据可视化效果。

weixin_30855099的博客 172

华为OD机考2025C卷 - 精准核酸检测(Java & Python& JS & C++ & C语言)

华为OD机考2025C卷 - 精准核酸检测,提供在线OJ Java & Python& JS & C++ & C

算法大师! 2883

TiDB 是一个分布式 NewSQL 数据库

数据库发展至今已经有3代了:SQL,传统关系型数据库,例如 MySQLnoSQL,例如 MongoDB,RedisnewSQL。

宽带你的世界 1195

C/C++ LMS算法详解及源码

LMS(Least Mean Squares)算法是一种自适应滤波器算法,用于估计一个系统的参数,以使输出信号与期望信号之间的均方误差最小化。LMS算法通过使用梯度下降的方法,逐步调整自适应滤波器的权值来优化滤波效果。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3279

TiDB架构完全指南:10本必读分布式SQL数据库书籍推荐

想要掌握现代分布式SQL数据库技术吗?TiDB作为新一代分布式关系型数据库,正在改变企业处理海量数据的方式。本文将为你推荐10本必读的分布式SQL书籍,帮助你从零开始构建完整的TiDB架构知识体系。📚 ## 为什么选择TiDB架构? TiDB是开源的分布式NewSQL数据库,支持混合事务和分析处理(HTAP) workloads。它结合了传统关系型数据库的最佳特性和NoSQL系统的可扩展性,

gitblog_00515的博客 789

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TIDB-分布式关系型数据库讲解

一、传统关系型数据库所面临的问题 根据以往的MySQL使用经验,MySQL单表在 5000 万行以内时,性能较好,单表超过5000万行后,数据库性能、可维护性都会极剧下降。当然这时候可以做MySQL分库分表,比如使用Mycat或Sharding-jdbc。 但是分库后必定产生分布式事务问题,一旦数据库服务器宕机,有事务不一致风险。 分表后,对 SQL 语句有一定限制,对业务方功能需求大打折扣。尤其对于实时报表统计类需求,限制非常之大。并且需要维护的对象呈指数增长(MySQL实例数、需要执行的 SQL 变更数

小毕超博客 6212

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

TiDB Distributed NewSQL Database

通过 TiDB,用户可以像使用 MySQL 一样执行 SQL 查询,而 TiDB 的分布式架构则能够自动处理数据的分片、复制和故障转移,确保高可用性和弹性伸缩。它结合了传统的关系型数据库(RDBMS)和 NoSQL 数据库的优势,旨在为企业级应用提供高性能、弹性伸缩、高可用性、强一致性的数据服务。TiDB 作为一个分布式 NewSQL 数据库,结合了传统关系型数据库的稳定性和 NoSQL 数据库的扩展性,为企业级应用提供了灵活且强大的数据服务。- TiDB 提供 ACID 事务保证,支持分布式事务。

Mr.xing的博客 919

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TIDB数据库特性总结

TIDB是一个开源分布式关系型数据库,是NewSQL的一个代表。TIDB具有很多优秀的特性,例如:实现一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时OLAP等重要特性。一言以蔽之:TIDB未来可期。

qq_43403676的博客 8933

落地TiDB数据库的坑已经帮你踩了

TiDB 是什么?先来看TiDB 官网的介绍,介绍如下:TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid...

码农小胖哥 1万+

开源分布式数据库(TiDB)

TiDB是由PingCAP 开发的开源分布式数据库,兼容 MySQL 协议,集成了 HTAP(混合事务和分析处理)的能力,能够同时处理在线事务和实时分析任务。2015 年,TiDB 在 GitHub 创建,2025 年,TiDB 已来到 v8 版本,整体架构趋于稳定。从 TiDB v8.0.0 开始,TiProxy 成为正式功能,并集成到 TiUP 组件中;由 TiUP 默认部署的 Prometheus 版本升级到 2.49.1。

weixin_43156294的博客 2018

TiDB数据库

TiDB 是一个面向未来的大规模数据处理场景的分布式数据库系统,能够在保证数据一致性和事务完整性的同时,提供强大的扩展能力。它尤其适合那些需要同时处理事务和分析负载的应用,是传统单机 SQL 数据库在大数据时代的良好替代品。

Casual_Lei的博客 1339

猿创征文|TiDB 开源分布式关系型数据库介绍及部署

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。

yaya_jn的博客 1788
上一篇: Grafana:开源监控可视化平台完全指南
下一篇: Chatwoot:开源客服系统完全部署指南
老星*
博客等级 码龄5年 271粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老星*

感谢支持!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值