一 TiDb简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP(O
转载
2024-01-17 09:40:23
140阅读
TiDB简介它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议。 与 MySQL 兼容性对比:TiDB 支持包括跨行事务,JOIN 及子查询在内的绝大多数 MySQL 的语法,用户可以直接使用现有的MySQL 客户端连接。如果现有的业务已经基于 MySQL 开发,大多数情况不需要修改代码即可直接替换单机的 MySQL。包括现有的大多数 MySQL 运维工具(如
转载
2024-10-29 08:50:36
34阅读
据我所知,目前很多公司都在生产环境使用TiDB了,例如:小米,小红书,饿了吗,美团等。 如今硬件的性价比越来越高,网络传输速度越来越快,数据库分层的趋势逐渐显现,人们已经不再强求用一个解决方案来解决所有的存储问题,而是通过分层,让缓存与数据库负责各自擅长的业务场景。
当前数据库领域面临各种问题,如在缩放、一致性、大数据分析、与云基础架构集成等方面均存
转载
2023-12-12 12:58:08
269阅读
# 使用 TiDB 代替 MongoDB 的指南
随着大数据时代的来临,数据库的选择变得至关重要。在许多项目中,开发者可能会遇到需要将 MongoDB 替换为 TiDB 的情况。TiDB 是一款开源的分布式数据库,而 MongoDB 是一个流行的 NoSQL 数据库。本文将引导您完成将 MongoDB 替换为 TiDB 的整个流程。
## 流程概述
为了成功完成替换,我们将遵循如下步骤:
接下来介绍 TiDB 如何读取历史版本数据,包括具体的操作流程以及历史数据的保存策略。1. 功能说明TiDB 实现了通过标准 SQL 接口读取历史数据功能,无需特殊的 client 或者 driver。当数据被更新、删除后,依然可以通过 SQL 接口将更新/删除前的数据读取出来。另外即使在更新数据之后,表结构发生了变化,TiDB 依旧能用旧的表结构将数据读取出来。2. 操作流程为支持读取历史版本数
转载
2023-09-29 21:26:48
87阅读
整理 | 辛晓亮9 月 20 日,微软 Azure 现任 CTO、Sysinternals 主要开发者 Mark Russinovich 在其个人推特账号发表动态称是时候停止使用 C/C++启动任何新项目,并建议在需要使用 noc-GC 语言的场景下使用 Rust 编程语言。Rust 由 Graydon Hoare 设计,而后在 Mozilla 成型,Rust 设计时借鉴了许多 C++
Java™ 服务器页面(JSP)技术是如此普及,以至于人们忘记了在创建 Web 页面时还有其他选择。但是最近,有些开发人员已经转向模板引擎,以获得在 JSP 中得不到的灵活性。虽然用 JSP 和模板引擎都可以把数据嵌入 HTML,但是每种技术都有自己的处理方式。Velocity 模板是一个特别流行的 JSP 替代品。Velocity 提供了平缓的学习曲线和巨大的易用性。开发人员喜欢它
转载
2023-08-08 22:41:19
94阅读
相信这两天很多社区小伙伴都看到 StarRocks 所谓”开源“的动态了,开源用户群里有很多小伙伴在讨论,也有很多关心 Apache Doris 的朋友来问我们,诸如“如何看待 StarRocks ‘开源' ”、” Apache Doris 跟 StarRocks 是什么关系“、”社区分化的原因是什么“、“为什么 StarRocks 不回馈给 Apache Doris ”的问题。作为 Apache
公司有一个项目,以前使用的是Oracle数据库,最近迁移到MySQL上面,在迁移过程中,发现由于两种不同数据库之间差异,存在一个情况:Oracle中的SQL在MySQL中执行报错。 通过控制台堆栈信息,发现是 decode函数在MySQL中是不存在的,于是,找资料使用MySQL中行得通的写法来替代Oracle中的decode函数。&nbs
转载
2023-06-30 18:01:27
686阅读
Rust 是一种快速、可靠且内存使用效率非常高的编程语言,连续六年被评为最受欢迎的编程语言。Rust 由 Mozilla 创建,现已被 Facebook、苹果、亚马逊、微软和 Google 等科技大公司用于系统基础设施、加密、虚拟化以及其他底层的开发。 为什么如今人们利用 Rust 来替换 JavaScript 网络生态系统中的一些工具,比如压缩器(Terser)、转译(Babel)、格式化
转载
2023-06-07 19:05:31
183阅读
2019 年 1 月 19 日,TiDB 发布 3.0 Beta 版,对应 master branch 的 TiDB-Ansible。相比 2.1 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。TiDB新特性
支持 View支持 Window Function支持 Range Partition支持 Hash PartitionSQL 优化器
重新支持聚合消除
今天看了一篇文章,讲述了使用in在某些情况下的缺陷,然后作者通过union生成临时表解决了这个问题,感觉这个优化特别好,和大家分享一下由于分库分表的原因,和开发规定了不能使用 表表JOIN 语句。因此,我们要将 JOIN 语句的转化成使用 IN 来做。如现在有 表 A(a_id, c_a)c_a有普通索引,表 B(b_id, c_a) 这两个表要关联, 应该转化为以下步骤处理:先查询B中的 a_i
转载
2023-07-01 13:57:11
145阅读
一、操作系统参数CPUdynamic frequency scaling 五种功耗模式 推荐performance 时刻保持高速运转cpupower frequency-set --governor performanceNUMA Binding 为CPU绑定内存,提升效率MemoryTransparent Huge Page(THP)关闭大页内存Virtual Memory Para
转载
2023-12-25 00:31:19
109阅读
TiDB 提供了丰富的数据迁移相关的工具,用于全量迁移、增量迁移、备份恢复、数据同步等多种场景。本文介绍了使用这些工具的场景、优势和相关限制等信息。请根据你的需求选择合适的工具。下图显示了各迁移工具的使用场景。下表介绍了迁移工具的使用场景、支持的上下游等信息。名称使用场景上游(或输入源文件)下游(或输出文件)主要优势使用限制TiDB DM用于将数据从与 MySQL 协议兼容的数据库迁移到 TiDB
转载
2023-10-28 23:20:30
238阅读
1.处理dm不兼容DDL迁移中断,执行跳过操作tiup dm list
tiup dm display xxx-dm-prod
tiup dmctl --master-addr 10.0.xx.xx:8261
» query-status task-xxx-01
» binlog skip task-xxx-01
» query-status task-xxx-01迁移中断,执行替代操作报错:"M
转载
2023-11-15 20:29:13
128阅读
java中synchronized 是不是能够代替原子操作synchronized 是不是能够代替原子操作?不能, 因为synchronized方法在执行的过程当中,它方法体内的变量可以被其他非synchronized方法得到。而 如果用原子操作,其他方法就看不到了。这点区别就造成了,如果有需求要求synchronized方法体内的变量不能被其他方法看到,就要用原子操作。 但是貌似这种需求比较少。
转载
2021-05-11 09:45:08
246阅读
2评论
引言github地址:aizuyan/pinyin无意中看到了overtrue/pinyin这个项目,感觉很有意思,
这个项目做了这么一件事情:将汉字转化为拼音刚看到这里是不是觉得没什么难度,没什么意思?您不妨接着往下看。要是只是将汉字转为拼音好像
很容易就实现了,但是要是给转换之后的汉字带上音调呢,这样难度就很大了,因为汉字博大精深,
其中一方面就表现在多音字,同样一个字在不同的语句场景下,音调
转载
2024-01-16 14:45:54
54阅读
# 实现 "TiDB mysql" 的步骤
## 概述
在实现 "TiDB mysql" 前,我们需要了解以下几个概念:
1. **TiDB**:一个开源的分布式关系型数据库,兼容 MySQL 协议,并具备高可用、强一致性和水平扩展等特性。
2. **MySQL**:一种常用的关系型数据库管理系统,TiDB 兼容 MySQL,可以使用 MySQL 的客户端连接并操作 TiDB。
## 实现步
原创
2023-11-20 07:44:46
52阅读
最近这几年,公司一直在使用mysql,数据量在千万级以下时,mysql有着非常优秀的性能和稳定性。随着数据增长,单表无法满足业务需求,我们需要使用mycat、shading-jdbc等中间件去实现分库分表。分库分表的缺点:分页查询性能不好,需求聚合多库数据,多次io,内存消耗大。分布式事务问题分库之后,想二次扩容,数据迁移等会更复杂跨库join很难实现随着newsql数据库出现,分库分表这些问题都
转载
2023-10-08 11:05:57
252阅读
TiDB 高度兼容 MySQL 5.7 协议、MySQL 5.7 常用的功能及语法。MySQL 5.7 生态中的系统工具 (PHPMyAdmin、Navicat、MySQL Workbench、mysqldump、Mydumper/Myloader)、客户端等均适用于 TiDB。但 TiDB 尚未支持一些 MySQL 功能,可能的原因如下:有更好的解决方案,例如 JSON 取代 XML 函数。目前
转载
2024-01-30 00:30:31
100阅读