In this article, Marshall Zhu from SHAREit shares their AI workflow, the challenges they faced, and how TiDB and TiKV power their AI platform and recommendation system.
This post explains the design and implementation of the backup and restore features provided by TiDB Operator. You'll learn about the core logic of three related controllers and the backup-manager.
This post describes the practice of Chaos Engineering in K8s clusters, discusses important Chaos Mesh features through analysis of its source code, and explains how to develop Chaos Mesh's control plane with code examples.
We are proud to announce the release of TiDB 5.3. This release makes significant advances in real-time HTAP capabilities and overall stability, with improvements in data migration, high availability, and ease of use. It also introduces experimental support for Continuous Profiling.
This post talks about the bottlenecks of traditional real-time analytics architectures and how TiDB helps iQIYI succeed in real-time analytics scenarios.
Max Liu, PingCAP CEO, talks about the power of open source. Learn how the open source community helps PingCAP grow and how PingCAP gives back to the community.
This post describes how to connect TiDB Cloud to Metabase, an open source business intelligence tool.
For several years, ZTO Express has used TiDB to scale out their database and perform multi-dimensional analytics in real time. Now, they also use TiDB in the HTAP scenario to improve data freshness and execute analytical queries in minutes.
VMblog followed up with Liming Deng, PingCAP's database engineer, on his recent presentation on KubeCon 2021.
This troubleshooting guide discusses write performance degradation in TiKV related to the RocksDB built-in write stall feature.
We are excited to announce the Developer Tier of TiDB Cloud, the fully-managed TiDB service by PingCAP.
PingCAP, the leading distributed SQL provider, announced today the availability of its new Developer Tier for TiDB Cloud. The fully-managed database as a service now allows developers to easily launch a small TiDB cluster for free for up to one year..
This post talks about why SHAREit Group embraces TiKV, an open-source distributed KV database, as its storage infrastructure. Learn how TiKV beats other solutions and provides bulk load and real-time data writes.
As an HTAP database, TiDB has evolved through three distinct stages. It currently serves countless applications for hybrid workloads, stream computing, and data hubs. In the future, TiDB will become a cloud-native, multi-model database.
This post explains how TiDB Operator implements a component control loop by taking PD as an example. You'll learn PD and other component's lifecycle management.
As JD.com's business grew, they faced big database challenges. To solve their problems, they migrated from MySQL to TiDB. TiDB helps scale out their databases and increases their large parcel sorting system's performance by 8x.
At PingCAP, we are always looking for talented people who want to help us build the database of the future. Do you know someone like that? Tell us about them, and if we hire them, you'll get a referral bonus in the form of an eGift card.
WebAssembly is a binary instruction format designed for secure and near-native execution in the sandboxed environment. This post shares how we use WebAssembly to build a user-defined function engine for TiDB.
We are proud to announce that TiDB Cloud now holds the highest level of data privacy with full GDPR certification.
TiDB is proud to be back at Hacktoberfest, a global celebration of open-source and technology. Join us and make contributions, whoever you are, whatever your experience, to the ever-growing TiDB community!
Hybrid Transactional and Analytical Processing, or HTAP, is a defining feature of TiDB. It means that you can run both transactional and analytical queries from within the same database. TiDB provides HTAP, ensuring that your queries are always running against the most current data available.
Databricks is an enterprise software company that helps data teams solve some of the world's toughest problems. This article describes why they chose TiDB as their database and shares some TiDB best practices.
This post helps Ruby on Rails developers get started with TiDB and use it as the backend storage layer of Rails applications.
Load balancing helps you distribute application connections over multiple servers and reroute connections if a TiDB instance becomes unavailable. This article talks about the best practices for TiDB load balancing.
As Huya Live's business grew, their storage capacity became a bottleneck. Their live broadcasts had high latency, and their database maintenance cost was high. Learn how TiDB helps them achieve database scalability, high availability, and strong consistency with low costs.
PingCAP is proud to announce a collaboration with the Advanced Software Technologies Lab (AST) at ETH Zürich to research DBMS testing based on TiDB.
JuiceFS is an open-source, cloud-native distributed file system that allows users to freely choose the backend storage engine. This post introduces how to use TiKV as a metadata engine for JuiceFS.
This article describes how to use chaosd to simulate faults on physical machines. You can run chaosd as a command-line tool or as a service.
Pinterest used the HBase ecosystem for their data storage. But this infrastructure was complex, with limited functionalities and high maintenance costs. They switched to TiDB over YugaByteDB and CockroachDB because it best met their requirements for stability and performance.
This post describes how you can develop your application locally and use the type of database used in production.
We are proud to announce our the release of TiDB 5.2. TiDB 5.2 focuses on real-world scenarios, aiming to push the boundaries of transactional and analytical processing even further to meet the demands of massive, real-time data processing.
Raft is a consensus-based method that distributes data in such a way that it creates and maintains a high availability environment for your database. This article introduces the general components and mechanisms of Raft, and how distributed databases such as TiDB and TiKV use Raft to achieve high availability and consistency.
Xiaomi is a world-leading consumer electronics company. When MySQL no longer met their business needs, they migrated to TiDB for its scalability, high availability, and HTAP performance.
Tencent Interactive Entertainment Group is known as the publisher of some of the most popular video games. This article shares why and how they use chaos engineering in their DevOps workflow.
This article introduces a new solution for real-time data warehouse: Pravega + TiDB. This combination resolves Kafka's data persistence dilemma and provides auto scaling capabilities.
Zhihu, China's largest knowledge sharing platform, uses TiDB to complement their big data architecture. TiDB helps them build a large query alert system for Hive and accelerate NameNode RPC requests in HDFS.
Chaos Mesh 2.0 GA: an exciting release, marking a solid milestone towards the chaos engineering ecology that we hope to build.
This post describes how Apache APISIX uses Chaos Mesh to improve their system stability.
This post shows how to install, configure, and run TiDB on a Google Cloud Platform instance.
This two-part blog series will teach you how to get a TiDB cluster up and running on Google Cloud Platform. The first part shows how to prepare your GCP environment.
Combining Flink and TiDB provide powerful support for real-time data processing. In this article, a NetEase senior engineer introduces how they use Flink on TiDB to guarantee end-to-end exactly-once semantics.
Learn about TiDB Operator's component control loop and how it manages TiDB's component lifecycle.
To simplify the development of data-intensive applications of all sizes for global enterprises, PingCAP deploys its database service on Google Cloud, creating a fully managed database-as-a-service TiDB Cloud with high automation, scalability, ease of use, and security compliance.
Chaos Mesh provides StressChaos, a tool that allows you to inject CPU and memory stress into your Pod. Learn how to get the most of StressChaos.
TiDB 5.1 is released. It features more stable latency, optimized MPP performance and stability, and more convenient maintenance. Developers and DBAs can more easily build mission-critical applications at any scale.
PingCAP is proud to announce today that the company has achieved the International Organization for Standardization (ISO) 27001:2013 certification for TiDB Cloud.
As a key-value database, TiKV has much higher performance requirements than a regular application, so tracing tools must have minimal impact. Learn how we trace TiKV requests while impacting performance less than 5%.
This post introduces the execution workflow of a TiKV request in the prewrite phase. It offers a top-down description of how the prewrite request of an optimistic transaction is executed within the multiple modules of the Region leader.
A TiDB Hackathon team describes Chaos Engineering as a Service and how they're bringing Chaos Mesh one step closer to being a service.
As China Zheshang Bank's data size boomed, their databases couldn't meet their requirements for data storage and analytics. They switched to TiDB to scale out their databases and perform real-time analytics.
Time to live, or TTL, is a mechanism to manage the data lifecycle in a system. At TiDB Hackathon 2020, a team introduced TTL tables into TiDB to enable automatic management of the data lifecycle.
TiDB 5.0 features a comprehensive HTAP solution enhanced by an MPP analytical query engine. This article introduces the new TiDB 5.0 HTAP architecture and how TiDB 5.0 serves various transactional & analytical hybrid workload scenarios.
As PatSnap's businesses developed, their data size quickly grew. To perform real-time analytics, they replaced their Segment + Amazon Redshift data analytics architecture with a TiDB + Apache Flink data warehouse solution.
Learn about Kubernetes's Operator pattern and TiDB Operator's major reconcile loop.
TiFS is a distributed file system built upon TiKV. It is partition tolerant, strictly consistent, and most efficient for reading and writing small files or other complicated file system operations.
As a major new feature introduced in TiDB 5.0, Async Commit can greatly reduce the latency of transaction commits. This post describes Async Commit's design ideas and its key implementation details.
TiDE is a VS Code extension for developing TiDB. It offers IDE, debugging, log search, Kubernetes integration, and VM management for TiDB clusters.
We are excited to announce the public preview of TiDB Cloud, the fully-managed TiDB service by PingCAP. With TiDB Cloud, customers can now easily use TiDB on Amazon Web Services and Google Cloud to quickly build modern, mission critical applications.
We are proud to announce the completion of our first SOC 2 Type 2 examination for the TiDB Cloud service, which demonstrated the operating effectiveness of our controls designed to keep our service and our customers' data secure.
This post introduces the principle of memory compaction, how to view the fragmentation index, and how to quantify the latency overheads caused by memory compaction.
Integrating a complex ORM like ActiveRecord with TiDB can be difficult. This tutorial helps you get started with TiDB and Rails.
By introducing SPDK into TiKV, we enable the database to directly send instructions to NVMe disks, reducing read/write latency significantly.
In order to better serve the Japan market and support its growth, PingCAP formally established a new office in Tokyo, Japan.
At TiDB Hackathon 2020, a team used GPU acceleration techniques to improve the performance of CPU-intensive analytical query processing and achieved 10x~150x performance improvement.
Big data is a growing need for ambitious companies. Learn the usage, cost, and technology selection of real-time big data analytics and how TiDB prevails over other solutions.
TiDB 5.0 GA is released. As a one-stop HTAP solution, it delivers better and more stable OLTP performance and enhanced OLAP performance with a Massively Parallel Processing engine.
A TiKV contributor participated in the Coprocessor support ENUM/SET project and implemented these two calculations. This helped improve TiKV's calculation performance.
In this post, you'll learn how the financial industry uses databases in their mission critical systems and how TiDB-based solutions help them address the pain points of traditional RDBMS.
TiDB Operator is an operator for running TiDB in Kubernetes. This article will introduce its architecture and what value it brings to you.
Ninja Van, a Southeast Asia logistics giant, chose TiDB as a MySQL alternative over Vitess and CockroachDB to scale out their databases on Kubernetes. Learn how this MySQL alternative helps Ninji Van fix their pain points.
At TiDB Hackathon 2020, the Pingtouge team focused on reducing TiDB's cross-AZ data transfer costs on the cloud. They managed to reduce read traffic by 89% and write traffic by 15%.
To handle increasing data of their gaming business, Kunlun migrated from MySQL to TiDB, a MySQL compatible NewSQL database featuring horizontal scalability and a powerful ecosystem.
Running TiDB on EKS clusters with Graviton processors offers up to 25% better price-performance ratio compared to an x86-based cluster. This article discusses the benchmark tests we ran.
TiDB Hackathon 2020 ended up with many star projects. To actually land these projects in the community, PingCAP is now launching an 8-week TiDB Hacking Camp.
If your Golang app uses a MySQL-compatible database, you will have a lot of database-related code to unit test. Unlike go-sqlmock, tidb-lite lets you test your code easily without the need to start a database instance in the external environment.
Meituan is the largest local life service company in China. As their business expanded, Meituan chose TiDB as a MySQL alternative to solve the difficulty of manual sharding and provide strong consistency.
TiGraph can manipulate graph data and relational data in one transaction while guaranteeing strong consistency. It boosts TiDB's computing performance by 8,700x in four-degree separation.
As Autohome's businesses quickly grew, their huge data size placed great pressure on their SQL Server database. To scale out their database and perform real-time analytics, they migrated from SQL Server to TiDB and use TiDB in multiple important apps.
Learn how to efficiently find the right database for your applications.
PingCAP teams up with JD Cloud to provide Cloud-TiDB service on the JD Cloud platform.
Chaos Mesh started out as a mere fault injection tool and is now heading towards the goal of building a Chaos Engineering ecology. Meanwhile, the Chaos Mesh community was also built from scratch and has helped Chaos Mesh join CNCF as a Sandbox project.
This post introduces common methods to prevent Linux memory fragmentation, the principle of memory compaction, how to view the fragmentation index, etc.
PingCAP's CEO talks about the philosophy of TiDB's evolution, focusing on two more principles.
PingCAP's CEO talks about the philosophy of TiDB's evolution and how PingCAP built TiDB in the past five years.
Today, we are excited to introduce the TiDB Incubator Program, a program designed to ensure that new projects in the TiDB ecosystem can obtain resources and help from the community towards their desired maturity level.
This post talks about how TiDB, a highly available MySQL alternative, helps 58.com avoid MySQL sharding, scale out their databases, and simplify their database maintenance.
Chehaoduo, one of the largest auto trading platforms in China, migrated from MySQL to TiDB and got rid of the troublesome process of MySQL sharding and schema changes.
This post dives deep into how we implement the IOChaos experiment without using a sidecar.
This post introduces how Discussions, a beta feature GitHub recently launched, helps open source projects build their own communities or bring the communities nearer to the source code.
To trace system calls in Linux effectively, you can use perf to analyze system calls that have latency in general scenarios. For containers or Kubernetes that use cgroup v2, traceloop is more convenient.
A senior solution architect at PingCAP explains why TiSpark (TiDB + Apache Spark) is better than the traditional batch processing solution, how you can benefit from TiSpark, and how it works.
This article walks you through how to deploy TiDB on KubeSphere and release TiDB to the App Store to make it available to other tenants.
Compared to BCC, the libbpf + BPF CO-RE solution greatly reduces storage space and runtime overhead. That's why we switched from bcc-tools to libbpf-tools. This post introduces some tips and tricks for writing BPF applications with libbpf.
This post dives deep into how transparent huge pages (THP) slow down the system. You'll learn why you should disable THP to improve your database performance and how to disable it in Linux.
Ping An Life Insurance shares a case where TiDB helped them support 100 billion RMB payment volume in a single day, the pain points before they used TiDB, how they use TiDB, and why they chose TiDB.
Libbpf + BPF CO-RE is better than BCC. It greatly reduces storage space and runtime overhead, and it improves programmers' deployment and development experience.
WeBank is China's first privately-owned Internet bank. As they grew, they encountered database performance and capacity bottlenecks. By using TiDB, a scale-out MySQL alternative, they reduced their batch processing time by ~58%.
NetEase Fuxi AI Lab is China's first professional game AI research institution. In their search for a Chaos Engineering tool to test their Kubernetes-based AI training platform, they chose Chaos Mesh and have improved their system resiliency ever since.
This article illustrates the best practices of running TiDB on AWS, including how to choose the suitable cloud storage and properly configure the system.
A senior architect at China Telecom Bestpay shared how TiDB, a MySQL-compatible, distributed SQL database, boosted the performance of their core systems by 3–5 times.
With great pleasure, we are announcing that we have raised $270 million in Series D funding led by global investors. We are looking for more innovations, global expansion, and more team growth as we strive to build the database of the future.
A site reliability engineer gives a step-by-step tutorial on how to deploy TiDB on KubeSphere, an open-source, distributed GUI operating system with Kubernetes as its kernel.
In this post, PalFish explains why they chose TiDB over MongoDB and MySQL. The key factors were their application requirements and their perspective on NewSQL databases.
By combining Apache Flink and TiDB, we offer an efficient, easy-to-use, real-time data warehouse with horizontal scalability and high availability.
DM 2.0 has reached general availability. It supports highly available migration tasks and shard merging and migration in optimistic mode.
Financial companies have stringent requirements for high availability and disaster recovery, which many databases cannot meet. This article describes how TiDB addresses both these issues with a range of options that make it an excellent choice for the industry.
TiDB v4.0.7 introduced a new feature: the metrics relation graph. It helps users clearly see the relationship between different performance metrics in a database cluster and thus quickly locate the root causes of performance problems.
In this article, an engineer at U-Next talks about why they chose TiDB and why they run it on the ARM architecture. He also provides detailed benchmarking results showing that TiDB runs equally well on ARM and x86.
Recently, VLDB published the PingCAP paper, TiDB: A Raft-based HTAP Database. In this article, a DBA at PalFish shares his thoughts on the article and his expectations for TiDB's future development.
As its business quickly grew, ZTO Express found Exadata, Kudu, and HBase couldn't meet their database requirements. To scale out their database and perform multi-dimensional analytics in near real time, they migrated from Oracle Exadata to TiDB.
TiCDC is TiDB's change data capture framework. It is now generally available. This post introduces its features, application scenarios, and real-world case studies.
TiDB is in Hacktoberfest, a celebration open to everyone in our global community. Whether you're an experienced developer or an open-source newbie learning to code, you can help drive the growth of open source and make positive contributions to the ever-growing TiDB community.
To monitor their large-scale IT infrastructure, Bank of China chose TiDB, a scale-out relational database, to replace Zabbix's MySQL backend. Learn how they use TiDB to manage over 10,000 monitored devices and 18 TB data.
Bank of Beijing sought an open-source, horizontally scalable database to scale out their database. Learn how they use TiDB to achieve database scaling with zero downtime.
Dr. Manuel Rigger and his colleague have found 400+ bugs in popular DBMSs, including 50+ TiDB bugs. Learn their experience in finding logic bugs in DBMSs.
Xiaohongshu receives more than 100 million rows of data every day. They adopted TiDB because it supports both transactional and analytical queries, real-time data analytics, and horizontal scalability.
Chaos Mesh is a cloud-native chaos testing platform that orchestrates chaos in Kubernetes environments. This article shares how to use chaos-mesh-action, a GitHub action to integrate Chaos Mesh into the CI process.
Today, we are proud to announce the general availability of Chaos Mesh® 1.0, following its entry into CNCF as a sandbox project in July, 2020. After 10 months of effort within the open-source community, Chaos Mesh is now ready in terms of functionality, scalability, and ease of use. Here are some highlights.
This post analyzes the pros and cons of running databases in Kubernetes. It also introduces TiDB Operator, a tool for managing TiDB clusters in Kubernetes, and describes how large companies are using it in their production environments as well as their best practices.
Zhuan Zhuan embraced TiDB 4.0's new features with great results. It's a truly HTAP database with one-minute deployment, visual troubleshooting, and reduced maintenance costs.
A DevOps engineer in ZaloPay, Vietnam's most popular mobile payment application, shared why his team chose TiDB as ZaloPay's merchant platform core database. He talked about their pain points, how they use TiDB, and what he likes about it the most.
This post talks about why HTAP matters in a database platform, how TiDB implements HTAP, and how you can apply TiDB in different scenarios.
After trying out different database solutions, BIGO chose TiDB for its horizontal scalability. In this post, a BIGO DBA talks about why MySQL, among other solutions, failed to meet their scalability requirements. You'll also learn about TiDB's impressive features, how they benefit BIGO's business, and BIGO's plan to deepen TiDB usage in the future.
Today, we're glad to announce that TiDB Cloud, our fully managed database service powered by TiDB, now supports Hybrid Transactional/Analytical Processing (HTAP) workloads.
This post introduces how to smoothly migrate data from Amazon Aurora MySQL to TiDB Cloud using Dumpling and TiDB Lightning.
The Cloud Native Computing Foundation (CNCF) today just announced that TiKV has become the twelfth project to graduate, joining other graduated projects such as Kubernetes, Jaeger, Harbor, etc.
The 46th VLDB conference will be broadcast online from August 31st to September 4th. PingCAP is honored to attend this conference, and we will share two papers with you TiDB: A Raft-based HTAP Database and Interleaved Multi-Vectorizing.
PingCAP, provider of the cloud-native hybrid transactional/analytical processing (HTAP) TiDB database, successfully completes an SOC 2 Type 1 examination for TiDB Cloud.
VIPKid chose TiDB to manage its high data volume, highly concurrent write application. Learn how TiDB excels in that scenario, along with multidimensional queries, data life cycle management, and real-time analytics.
This post introduces in detail the features of TiDB Cloud - the fully managed, horizontally scaling, cloud-native, distributed SQL database in the cloud.
This article describes how we use TiPocket, an automated testing framework, to build a full Chaos Engineering testing loop for TiDB.
We decide to move the Placement Driver library entirely to TiKV org, happening at 11 AM, UTC+8, August 17, 2020.
Along with the rapid releases of TiDB products and projects, we also constantly update and improve our TiDB documentation. This post covers recent big changes, new content, and improvements in TiDB documentation.
At TiDB DevCon 2020, Max Liu, CEO at PingCAP, gave a keynote speech. He believes that today's database should be more flexible, more real-time, and easier to use, and TiDB, an elastic, cloud-native, real-time HTAP database, is exactly that kind of database.
This post shows how to deploy a Hive cluster with TiDB to achieve horizontal scalability of Hive Metastore.
PingCAP is experienced in heterogeneous database replication. This post gives best practice tips for database migration to TiDB.
We're thrilled to announce that Chaos Mesh®, our open-sourced Chaos Engineering platform for Kubernetes, is now officially accepted as a CNCF Sandbox project.
This post shows how TiDB helps Zhihu scale its Hive Metastore database horizontally to meet its growing business needs and eliminate its database bottlenecks.
This post introduces the design details of the HTAP architecture of TiDB, including the real-time updatable columnar engine, the multi-Raft replication strategy, and smart selection.
TiDB 4.0 introduces cluster diagnostics, a built-in widget in TiDB Dashboard, which lets you diagnose cluster problems within a specified time range. You can summarize the diagnostic results and cluster-related load monitoring information in a diagnostic report.
This is the fourth episode of the Rust Compile Time series. It discusses some factors that cause Rust to build slow, including LLVM, compiler architecture, and linking.
TiDB Cloud Beta is released. It's the easiest, most economical, and most resilient way to unlock the full power of TiDB in the cloud, allowing the users to deploy and run TiDB clusters with just a few clicks.
The third episode of the Rust Compile Time series discusses why Rust's compilation units are so big and how that affects compile times.
PingCAP will publish a research paper "TiDB: A Raft-based HTAP Database" in the August issue of the Proceedings of the VLDB Endowment.
TiDB 4.0 has reached general availability. It's an elastic, real-time Hybrid Transactional/Analytical Processing (HTAP) database, and, best of all, it's now ready for the cloud.
This is the second episode of the Rust Compile Time series. Brian Anderson, one of Rust's original authors, talks about monomorphization and generics in Rust, using the TiKV project as a case study.
TiDB 4.0 release greatly outperforms TiDB 3.0. Our TPC-C benchmark improved by about 50% and our TPC-H benchmark improved by about 100%.
TiDB 4.0 introduces TiDB Dashboard, which provides various built-in widgets in a graphical interface that let you easily diagnose, monitor, and manage your clusters in one place. Now you can troubleshoot TiDB clusters more easily.
With improvements in stability and functionality in TiDB 4.0, we finally remove the experimental label for pessimistic locking, making it a generally available feature. See how pessimistic locking behaves in TiDB.
TiDB 4.0 introduces TiCDC, an open-source feature that replicates TiDB's incremental changes to downstream platforms. It shows only millisecond replication latency for 100+ TB clusters.
This post describes how we implemented support for large transactions in TiDB 4.0.
As VNG's business developed, their infrastructure became an obstacle to their growth. Then they chose TiDB as the core database for their ZaloPay app and used it to store their critical data. Now, VNG has 20+ TiDB nodes in their production environment.
This post introduces how SQL Plan Management helps the optimizer automatically select efficient execution plans to prevent performance regressions caused by unexpected plan changes.
This post introduces how to build and run your own TiDB or TiKV, and how to run some benchmarks on those databases.
TiUP is a component manager that streamlines installing and configuring a TiDB cluster into a few easy commands. It helps get your cluster up and running quickly with a minimal learning curve.
Key Visualizer is a visual diagnostic tool that makes it easier to troubleshoot distributed SQL databases. Users can observe system health, quickly find hotspots in the cluster, and gain deep insights into applications.
As a cloud-native chaos engineering platform, Chaos Mesh supports TimeChaos, which simulates clock skew in containers or K8s for distributed systems to test system robustness, without affecting other containers on the node.
Backing up or restoring a large-scale distributed SQL database is a time-consuming task. Our upcoming TiDB 4.0 release will support Backup & Restore (BR), a distributed backup and restore tool, which lets you back up and restore data at 1+ GB/s for 10-TB data.
Get a preview of TiDB 4.0. Our landmark release has production-ready HTAP capabilities, continues to solve issues for large-scale, distributed SQL databases, and is easier to use than ever.
Today is PingCAP's 5-year birthday. In this post, Ed Huang, PingCAP's CTO, discusses about what he thinks the future holds for databases. The future of the database is about unification, adaptiveness, and intelligence.
It can be hard to find Rust programs' performance bottlenecks online. By integrating pprof-rs in TiKV, we can use the Go tool pprof to visualize TiKV's profiling data. This helps analyze the program's performance online.
In this 10-minute tutorial, we will help you to quickly get started with Chaos Engineering and run your first chaos experiment with Chaos Mesh.
With so many databases on the market, choosing the right fit for your app is not an easy task. As a leading e-commerce platform in Southeast Asia and Taiwan, Shopee has an effective strategy for database selection. Learn from their experience.
TiDB Challenge Program is a series community program to bring TiDB to a new level in terms of stability, performance, and usability. With amazing improvements in performance in season 1 last year, we are now pleased to announce that season 2 is ready for you.
The TiDB repository reaches the 400th contributor milestone. All our honors and achievements belong to the TiDB community, our beloved contributors, and distinguished committers.
Nick Cameron is a long-time Rust programmer who has recently started using Go. In this post, he talks about his early impressions of Go. Read this post to learn more.
High read latency and network traffic are common issues for a multi-region architecture. At TiDB Hackathon 2019, a team won 2nd place by reducing multi-region read latency and network traffic by 50%. Read this post to learn how they did it.
It's the third post in a series on remote work. In this post, Nick Cameron talks a bit about some of the practicalities, specifically around work and life balance.
Nick Cameron has nearly ten-year experience of remote work. In this post, he discusses communication in remote work.
Nick has been working remotely for nearly ten years. In this post, he introduces why you might benefit from remote work and some of the things that make remote work successful.
The Follower Read feature lets any follower replica in a Region serve a read request under the premise of strongly consistent reads. It reduces the load on the Raft leader and improves the read throughput of the TiDB cluster. Read this post to learn more.
In this first episode of the Rust Compile time series, Brian Anderson, one of Rust's original authors, shares with you his researches and experiences with Rust compile times, using the TiKV project as a case study.
Recently, PingCAP open-sourced Chaos Mesh, a Chaos Engineering platform that features all-around fault injection methods for complex Kubernetes systems. Find out how this testing tool can make your applications more reliable.
This post details how TiKV, as a distributed database, stores the data contained in a write request and how it retrieves the corresponding data with consistency guaranteed.
AutoTiKV is a machine-learning-based tuning tool that helps decrease tuning costs and make life easier for DBAs. This post shows AutoTiKV's design, its machine learning model, and the automatic tuning workflow.
At TiDB Hackathon 2019, a team won the third prize by building a bot that helps quickly locate bugs in the code. Read this post to get more details.
As the business developed, standalone MySQL couldn't meet JD Cloud's OSS metadata storage requirements. This post introduces how TiKV empowered JD Cloud to manage huge amounts of OSS metadata with a simple and horizontally scalable architecture.
As business boomed, NetEase Games met bottlenecks in database scalability and data isolation. This post introduces why they chose TiDB over other MySQL-based and NewSQL storage solutions to solve their pain points.
PingCAP has upgraded and adjusted the TiDB community organization structure, with more community roles and community organizations introduced to better stimulate the vitality of the community and maintain a positive and healthy community environment.
We vectorized 360+ built-in functions along with the TiDB community. Vectorized execution has greatly improved the expression evaluation performance. Some functions even achieved 10x performance. Here is our vectorization story.
This post introduces the PingCAP team's firsthand experience in designing a large-scale distributed storage system based on the Raft consensus algorithm.
We compiled a Golang database (TiDB) into an in-browser database using WebAssembly (Wasm). This post introduces why and how we built an in-browser database.
This post introduces how you can run TiDB directly in a web browser, how it is possible, and what the limitations are.
TiDB is an HTAP database that targets both OLTP and OLAP scenarios. TiFlash is its extended analytical engine. This post introduces how TiFlash fuels TiDB to become a true HTAP database that lets users perform real-time analytics.
This post introduces the top 3 winners at TiDB Hackathon 2019 and the cozy and friendly environment of this meeting.
This post introduces why Jepsen is important to the distributed database industry, how it works, common issues found, how we use Jepsen with TiDB, and a short summary of all problems Jepsen has found.
Explore into Linux kernel to find out how TSQ becomes a performance bottleneck for TiKV in an AWS ARM environment.
As the business boomed and massive data in applications accrued each month, Zhihu faced severe challenges in scaling the backend system. This post introduces how Zhihu managed to keep milliseconds of query response time over a large amount of data and how TiDB, an open source MySQL-compatible HTAP database, empowered Zhihu to get real-time insights into data.
This article describes how PingCAP compiled and benchmarked TiDB on the Amazon Web Services (AWS) Arm64 platform.
This post introduces Nick's experience in migrating the TiKV Rust client from Futures 0.1 to 0.3.
Deploying transactional databases like TiDB in Kubernetes for production has always been challenging. Now, with TiDB Operator 1.0, running TiDB database clusters has never been easier.
Benchmarks are hard to get right, and many articles touting benchmarks are actually benchmarketing, showcasing skewed outcomes to sell products. This post introduces some of the motivations for benchmarking and the common tools, and discusses a few things to keep in mind when benchmarking.
A new infrastructure pattern is emerging called the KOST stack (Kubernetes, Operator, Spark, TiDB). This blog post introduces each component of the KOST stack and cloud-native HTAP in the wild.
TiDB 3.0 is released! This blog post introduces some highlights of TiDB 3.0, including major features focused on stability, significant performance improvements in Sysbench and TPC-C benchmarks, a newly introduced component, and important features and improvements.
PingCAP has made a talent plan for training and/or evaluating students, new employees, and new contributors to TiDB and TiKV. This blog post gives a brief overview of training courses for this plan on writing distributed systems in Go and Rust.
This article shows how to efficiently develop high-quality applications with TiDB, an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads and can serve as a scale-out MySQL database without manual sharding.
TiDB's first official Jepsen Test report is published. This post introduces some additional context to the test results and PingCAP's thoughts on what's next.
In this post, Kevin Xu shares the PingCAP team's experience and activities at Percona Live in Austin, including several technical sharing sessions and boosting friendship with people inside and outside PingCAP.
Learn to migrate and replicate data from MySQL, MariaDB and Amazon Aurora using TiDB Data Migration.
This post introduces design and implementation of Golang Failpoint.
Our team at PingCAP is excited to announce that we are open-sourcing our own binlog implementation, TiDB Binlog. TiDB Binlog is a tool we've been developing in-house (until now) to collect binary log data from TiDB server and provide real-time data backup and replication.
This post introduces how the EE team at PingCAP tackled two Linux kernel bugs while testing TiDB Operator in K8s. PingCAP engineers also hope the K8s community, RHEL and CentOS can help fix these bugs thoroughly in the near future.
PingCAP has been an active member in the Rust community and one of the first production users of Rust in building TiKV. As part of being a co-organizer for the first RustCon Asia, PingCAP also contributed several topics in both keynote sessions and workshops.
As a RocksDB plugin for key-value separation, inspired by WiscKey, Titan is available for preview in TiDB 3.0. This post introduces the design and implementation of Titan.
As sales of Xiaomi smartphones continue to climb and the MIUI user base continues to grow, the Database Administration team at Xiaomi was having an increasingly hard time managing their MySQL database infrastructure until they adopted TiDB, an open source distributed hybrid transactional and analytical processing database created and supported by PingCAP. Now they also have plans to migrate additional workloads to TiDB in the future.
This post introduces some simple use cases of analytics queries where a MySQL DBA can expand their repertoire and answer some basic business questions by writing SQL queries with window functions.
With TiDB, BookMyShow has experienced increased uptime and availability, since TiDB automatically partitions and distributes data across the cluster. Meanwhile, operational and maintenance cost has been reduced by 30%. No engineer needs to be fully dedicated to database operations anymore. This post will introduce why BookMyShow chose TiDB over Greenplum by illustrating how TiDB solved their pain points.
As our business boom, our team faced severe challenges in scaling our backend system to meet the demand until we found TiDB, a MySQL-compatible NewSQL hybrid transactional and analytical processing (HTAP) database, built and supported by PingCAP. Now we can provide better service and experience for our users without worrying about our database capacity.
In this post, Kevin Xu shares the PingCAP team's experience and activities at FOSDEM 2019, including three talks they delivered at the conference -- the first one about TiDB and its architecture, horizontal scalability and MySQL compatibility, the second about improving development posture in Rust based on the work building TiKV, and the last about Rust implementation of Prometheus.
TiDB Data Migration is an integrated data transfer and replication management platform that supports full data migration or incremental data replication from MySQL or MariaDB instances into a TiDB cluster. This post introduces its architecture design and implementation principles.
TiDB Lightning is an open source TiDB ecosystem tool that supports high speed full-import of a large SQL dump into a TiDB cluster. This post introduces its architecture and future improvements on the roadmap.
TiDB Binlog is a tool used to collect the logical changes made to a TiDB cluster and provide incremental backup and replication. This post introduces its architecture evolution and implementation principles.
This post introduces the top five key differences between TiDB and MySQL.
As our business grew quickly, we were overwhelmed trying to tackle the mounting data until we found TiDB, a MySQL-compatible NewSQL hybrid transactional and analytical processing (HTAP) database, built and supported by PingCAP. Now we can harness our data with more confidence than ever before and provide better services for our users to enjoy a better life.
PingCAP, a leading distributed database company that created the popular MySQL-compatible cloud-native NewSQL database TiDB, announces that TiDB 2.1 is ready for General Availability.
This post discusses Raft Log Read, `ReadIndex` Read, and Lease Read, and why TiKV adopts the Lease Read approach.
This post provides a macro-level overview of TiDB and is the main reference content for readers to orient and dig deeper into other TiDB subjects.
This post announces that TiDB Cloud is now available for public preview.
As our business grew exponentially, we were overwhelmed trying to handle the mounting data until we found TiDB, a MySQL-compatible NewSQL hybrid transactional and analytical processing (HTAP) database, built and supported by PingCAP. Now we no longer worry about data volume and can bring high-quality entertainment services to our users with more confidence than before.
Today, we are excited to launch TiDB Academy, a series of technical training courses and certifications on TiDB and distributed databases in general, taught by our senior technical team.
PingCAP, a leading distributed database company that created the popular cloud-native NewSQL database TiDB, announces a $50 million Series C funding round led by FOSUN and Morningside Venture Capital. All previous investors—China Growth Capital, Yunqi Partners, Matrix Partners China, and others—have also participated in this round. PingCAP plans to use this new capital to expand the TiDB ecosystem globally, build cross-cloud product offering, and invest in innovation of its core technology.
TiDB recently added its 200th contributor. As CEO and co-founder of PingCAP who began building TiDB three years ago, I would like to thank the entire TiDB community for helping us reach this important milestone!
Ed Huang, the CTO of PingCAP, has summarized into "9 why's" the most frequently asked questions by engineers when they look at a distributed database; he also gives his answers to these questions in this post to help make decision-making of engineers a bit easier.
With our fast-growing business, the surging data volume posed a serious challenge to our backend system and put the operations team under great pressure. How to tackle these challenges became a thorny problem until we found TiDB, a MySQL compatible distributed hybrid transactional and analytical processing (HTAP) database, built and supported by PingCAP. Finally, we do not have to worry about scaling databases and can focus on building better applications for our users.
This guide is intended to show how you can land your first Pull Request (PR) in Rust to contribute to TiKV in less than 30 minutes. But before we do that, here's some helpful background.
The motivation behind building TiSpark was to enable real-time analytics on TiDB without the delay and challenges of ETL. Extract, transform, and load (ETL)--a process to extract data from operational databases, transform that data, then load it into a database designed to supporting analytics--has been one of the most complex, tedious, error-prone, and therefore disliked tasks for many data engineers. However, it was a necessary evil to make data useful, because there hasn't been good solutions on the market to render ETL obsolete--until now.
As the largest B2C fresh produce online marketplace in China, serving close to 5 million users and 1,000+ enterprise customers, Yiguo.com uses TiDB to capture real-time insights from fresh transactional data to make timely and accurate business decisions.
In this 5-minute tutorial for beginners, we will show you how to spin up a standard TiDB cluster using Docker Compose on your local computer, so you can get a taste of its hybrid power, before using it for work or your own project in production.
As an open-source distributed scalable HTAP database, TiDB uses the Raft Consensus Algorithm in its distributed transactional key-value storage engine, TiKV, to ensure data consistency, auto-failover, and fault tolerance. TiDB has thus far been used by more than 200 companies in their production environments in a wide range of industries, from e-commerce and food delivery, to fintech, media, gaming, and travel.
TiDB 2.0 is released! We absorbed insights and feedbacks from our customers, listened to requests and issues from our community, and reflected internally on our ultimate vision of building a distributed hybrid transactional and analytical processing database that scales itself, heals itself, and lives in the cloud.
As an open source distributed NewSQL Hybrid Transactional/Analytical Processing (HTAP) database, TiDB contains the most important asset of our customers--their data. One of the fundamental and foremost requirements of our system is to be fault-tolerant. But how do you ensure fault tolerance in a distributed database? This article covers the top fault injection tools and techniques in Chaos Engineering, as well as how to execute Chaos practices in TiDB.
Mobike has been using the TiDB database in the production environment since early 2017. Now they have deployed TiDB in multiple clusters with close to 100 nodes, handling dozens of TBs of data for different application scenarios. This post will provide a deep dive on why Mobike chose TiDB over MySQL and its sharding solutions by illustrating how TiDB solves their pain points.
Doing performance tuning on distributed systems is no joking matter. It's much more complicated than on a single node server, and bottlenecks can pop up anywhere, from system resources in a single node or subcomponent, to cooperation between nodes, to even network bandwidth. Performance tuning is a practice that aims to find these bottlenecks and address them, in order to reveal more bottlenecks and address them as well, until the system reaches an optimal performance level. In this article, I will share some best practices on how to tune "write" operations in TiDB to achieve maximum performance.
At the crack of dawn on February 1, I landed in Brussels, Belgium, for the first time in my life. The goal of my trip wasn't to taste the local cuisine, tour world-famous museums, or grab a pint of the local brew. It was to deliver a talk three days later at FOSDEM 2018 Rust Devroom about our experience at PingCAP using Rust to build TiKV, a distributed transactional Key-Value storage engine.
On January 20th, 2018, more than 200 coders, hackers, and techies streamed into Garage Café, a chic coffee shop in the heart of Beijing's techhub, Zhongguancun. They were there to be part of TiDB DevCon 2018, a technology party for the developers, by the developers!
Thank you all, our beloved contributors, customers, and partners, for an amazing 2017! Hello, 2018!
At re:Invent 2017, Amazon Web Services (AWS) announced Amazon Time Sync Service which is a highly accurate and reliable time reference that is natively accessible from Amazon EC2 instances. It is much like the Google TrueTime which was published in 2012. Why do Google and AWS both want to make efforts to provide global time service? Is there any inspiration for building distributed database? This topic is important to think about.
PingCAP, a cutting-edge distributed Hybrid Transactional/Analytical Processing (HTAP) database company, is excited to announce the opening of its Silicon Valley office, located at the GSV Labs in Redwood City, California.
Paxos or Raft is frequently used to ensure data consistency in the distributed computing area. But Paxos is known for its complexity and is rather difficult to understand while Raft is very simple. Therefore, a lot of emerging databases tend to use Raft as the consensus algorithm at its bottom layer. TiKV is no exception.
Every developer has his/her favorite programming language. For the TiKV team members, it's Rust.
Data was corrupted. A cluster panicked. The crime scene was compromised. What happened? Detective Huang went all lengths to locate the criminal and solved it once and for all.
The goal of TiKV is to support 100 TB+ of data and it is impossible for one Raft group to make it, we need to use multiple Raft groups, which is called Multi-raft.
This document is a case study that details the reasons why yuanfudao.com chose TiDB as its backend database solution to tackle their fast data growth and complex queries.
TiKV uses the Raft algorithm to implement the strong consistency of data in a distributed environment. This blog introduces the details how Raft is implemented.
This article summarizes some best practices in using TiDB, mainly including SQL usage, OLAP/OLTP optimization techniques and especially TiDB's exclusive optimization switches.
In order to accelerate expression evaluation, we recently refactored its framework. This tutorial will show you how to use the new computational framework to rewrite or add a built-in function in TiDB.
This is the speech Siddon Tang gave at the 1st Rust Meetup in Beijing on April 16, 2017.
This is the speech Edward Huang gave at Percona Live Open Source Database Conference 2017.
This document is a use case that details the performance of MySQL and TiDB with tens of millions of rows of data per day.
The target audience of this document is the contributors in the TiDB community. The document aims to help them understand the TiDB project. It covers the system architecture, the code structure, and the execution process.
TiDB code is updated and the procedure of adding built-in functions is greatly simplified. This document describes how to add built-in functions to TiDB.
Subquery optimization, especially rewriting the correlated subquery, is a very difficult part in SQL query optimization. To be compatible with MySQL, TiDB enables users to write subqueries anywhere they want. For those subqueries that are not correlated, which are also called uncorrelated subqueries, TiDB evaluates in advance; for those correlated subqueries, TiDB removes the correlations as much as possible. For example, TiDB can rewrite a correlated subquery to `SemiJoin`. This article is focused on introducing the correlated subquery optimization methods in TiDB.
- Show More Articles -