一直在寻找分布式数据库解决方案,有看过MyCat,MyCat是一个数据库中间层产品,通过数据库分区技术能提供一个理论上无限扩展的大数据库,背后核心还是MySQL,我感觉不是终极解决方案,但可以算作是过度方案。
Tidb进入我的视野,觉得思路比较有趣,对外以MySQL 协议提供关系数据库存储服务,而核心是NoSQL技术实现分布式存储和分布式计算。先不看其核心部分,单从对外提供兼容 MySQL服务这个角度看,这是很聪明的选择,可以吸引庞大的MySQL用户群来尝试使用。
我们已经基于MySQL开发了很多项目,目前面临的一个瓶颈是随着数据量越来越大,存储空间扩展方面和查询性能方面都面临比较大的问题。一台服务器的存储容量总归是有限的,如何能有效利用其他服务器的存储资源?还有计算资源等。
一般场景下MySQL是搭建了主从环境,这意味着写数据时必须要写到主服务器上,其他从服务器可以同步到最新的数据。这样就可以通过查询从服务器实现读写分离,大大减轻主服务器的压力。
但随着数据量不断增长,主服务器和从服务器的存储都会出现难以满足的情况,这时可能会考虑数据分区的方案把数据库分拆成多个,分别存储到不同服务器上,但这需要迁移大量数据,可能在考虑不周的情况下会多次迁移数据,这在数据量到一定规模时迁移数据耗时会很长。而且应用程序往往也要适应这种数据库分拆做改动,成本可能很高。
有没有一种解决方案能弹性扩张数据库的存储资源和计算资源,也不需要复杂的数据分区以及改动相关应用程序?
这就是Tidb 的解决方案,底层的数据存储和计算资源可以动态扩展,前端的数据访问服务是以兼容MySQL的协议开放出来,堪称完美。
据Tidb官方介绍,他们在兼容MySQL方面花了相当的精力,据说是直接用MySQL的单元测试代码来测试他们的代码,保证完美兼容。
我试着搭了一个有3个节点的Tidb环境,把我们一个系统的接口调用日志数据转移过去,并且进行实时写入。同时也开发了统计分析方面的查询,测试跟MySQL的兼容性和性能,总体评估感觉是挺理想的,后面还需要持续测试一段时间观察一下。
根据Tidb官方网站上讲的,是希望满足100% OLTP数据库以及80%的OLAP数据库应用场景,这个目标是很有野心的,期待他们能达成,这样我们就可以有一个相当完美的数据库解决方案了。
相关推荐
SparkTI (Spark on TiDB)是TiDB基于Apache Spark的独立于原生系统的计算引擎。它将Spark和TiDB深度集成,在原有MySQL Workload之外借助Spark支持了更多样的用户场景和API。这个项目在SparkSQL和Catalyst引擎之外实现...
TiDB 中文官方文档 TiDB 是一个开源的关系型数据库管理系统,由 PingCAP 公司开发,旨在提供高性能、可扩展、易于维护的数据库解决方案。 TiDB 的五大核心特性 1. Column-store storage: TiDB 采用列式存储...
《TiDB in Action》这本书是关于TiDB数据库的深度解析和实践经验分享,旨在帮助读者理解TiDB的核心原理和最佳操作实践。TiDB是一款分布式NewSQL数据库,设计目标是支持在线事务处理(OLTP)和在线分析处理(OLAP)混合...
TiDB是一款开源的分布式关系型数据库,它的设计理念是为了满足现代互联网业务对数据库高可用性、强一致性、水平弹性伸缩、在线事务处理(OLTP)和在线分析处理(OLAP)的需求。TiDB由PingCAP公司推出,其架构原理和...
TiDB 是一个分布式数据库,具备 HTAP(Hybrid Transactional and Analytical Processing)能力,能同时处理在线事务处理(OLTP)和在线分析处理(OLAP)。TiDB 的实时处理技术架构包括: 1. **弹性 Real Time HTAP**:...
TiDB(TiKV分布式数据库)是一款开源的、分布式的NewSQL数据库,设计灵感来源于Google的Spanner和F1,主要用于处理大规模并发事务和分析查询。它支持MySQL协议,可以无缝对接MySQL应用,同时具备水平扩展和强一致性...
一、 TiDB 介绍 1. TiDB 是什么? TiDB 是一款开源的分布式 NewSQL 数据库,设计目标是支持在线事务处理(OLTP)的同时兼顾在线分析处理(OLAP)。它具有高度兼容 MySQL 的特性,可以无缝对接 MySQL 生态系统,让...
手把手一步步从零开始安装搭建TiDB数据库,从原理架构到实际操作,实现真正的入门到实践 课程亮点 1,理论+实践,让你既能学懂也能学会 2,图文并茂,化繁为简,让知识通俗易懂,不再抽象 3,案例契合实际开发,让...
【TiDB 部署详解】 TiDB 是一个分布式 NewSQL 数据库,设计目标是支持在线事务处理(OLTP)的同时兼顾在线分析处理(OLAP)。TiUP 是 TiDB 4.0 版本引入的集群运维工具,专门用于简化 TiDB 集群的管理和维护任务。...
tidb的简介、安装部署、Sql操作等
TiDB是一款开源的分布式关系型数据库,由PingCAP公司开发,并且在2015年推出。它支持传统的关系数据库特性同时兼容NoSQL的水平可扩展性,旨在提供可预测的高性能、强一致性的在线事务处理(OLTP)和在线分析处理...
TiDB 讲义详细版 TiDB 是一种 NewSQL 数据库管理系统,它结合了传统关系数据库的优势和 NoSQL 数据库的可扩展性。TiDB 的出现是为了解决传统关系数据库在大规模数据存储和处理时的瓶颈问题。 数据库技术发展简史 ...
在这个名为“grafana-TiDB.rar”的压缩包中,我们重点关注的是如何使用Grafana来展示Prometheus收集的TiDB数据库的数据。 TiDB(Ti: Transaction isolation, DB: Database)是一款分布式NewSQL数据库,设计目标是...
TiDB 是 PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库。 TiDB 具备如下 NewSQL 核心特性: • SQL 支持(TiDB 是 MySQL 兼容的) • 水平线性弹性扩展 • 分布式事务 • 跨数据中心...
TiDB 是一种分布式 NewSQL 数据库,设计目标是支持水平扩展和强一致性的事务处理。它的架构分为几个主要组件,其中 TiDB Server 和 TiKV 是两个核心部分。 首先,TiDB Server 是 TiDB 的对外服务接口,它对外暴露 ...
结合标签“Tidb K8S”,本文的重点可能包括TiDB在Kubernetes中的部署架构,以及与之关联的TiDB Operator的功能和特点。TiDB Operator是为TiDB定制的Kubernetes operator,用于简化TiDB集群的运维。TiDB Operator可以...
TiDB Ansible 是一个自动化部署和管理 TiDB 集群的工具,它极大地简化了在各种环境下的 TiDB 集群安装和运维过程。TiDB 是一款分布式 NewSQL 数据库,支持 HTAP(混合事务/分析处理)场景,具有强一致性和高可用性,...
《TiDB中文技术手册》是针对分布式数据库TiDB的一份详尽指南,旨在帮助开发者、运维人员以及数据库管理员深入理解并有效地使用TiDB。TiDB(全称:Tidb-In-Memory Database)是一个开源的NewSQL数据库,设计灵感来源...
### TiDB:一款支持OLAP与OLTP的分布式数据库系统 #### 一、引言 在当前的大数据时代,随着业务需求的不断扩展和技术的进步,传统的数据库系统面临着越来越多的挑战。例如,在面对海量数据处理时,传统的单机...
### TiDB简单集群安装知识点详解 #### 一、概述 TiDB是一款开源的NewSQL数据库,支持水平扩展、强一致性的事务、全球分布式部署等特性。本次安装文档旨在指导用户如何构建一个简单的TiDB集群环境,包括4个节点,...