白話TiDB原理
1、為什麼要搞TiDB
當資料庫大到一定程度的時候,查詢會變慢。作為一個傳統資料庫比如MySQL,這個時候就需要分表、水平擴展。並且沒有辦法進行跨節點的join或者分散式事務。
而另外一些NoSQL,比如HBase, MongoDB等,雖然能很好地水平擴展,不用分庫分表了,卻又不支持人見人愛的SQL以及一致性事務。而以 Google Spanner (https://thenewstack.io/google-cloud-spanner-view-field/ ) 和F1為代表的NewSQL,不僅能夠很好地水平擴展,還能支持ACID。那麼,怎麼才能做到呢?
2、TiDB的原理簡介
整個TiDB包括幾個核心部分:MySQL協議、分散式事務、Raft、本地存儲。