上億級別資料庫查詢
一。分割槽
建立年表和分割槽:
分割槽方案
分割槽表是由多個相關的底層表實現,這些底層表也是由控制程式碼物件表示,所以我們也可以直接訪問各個分割槽,儲存引擎管理分割槽的各個底層表和管理普通表一樣(所有的底層表都必須使用相同的儲存引擎),分割槽表的索引只是在各個底層表上各自加上一個相同的索引,從儲存引擎的角度來看,底層表和一個普通表沒有任何不同,儲存引擎也無須知道這是一個普通表還是一個分割槽表的一部分。這個方案也不錯,它對使用者遮蔽了sharding的細節,即使查詢條件沒有sharding column,它也能正常工作(只是這時候效能一般)。不過它的缺點很明顯:很多的資源都受到單機的限制,例如連線數,網路吞吐等。如何進行分割槽,在實際應用中是一個非常關鍵的要素之一。在我們的專案中,以客戶資訊為例,客戶資料量5000萬加,專案背景要求儲存客戶的銀行卡繫結關係,客戶的證件繫結關係,以及客戶繫結的業務資訊。此業務背景下,該如何設計資料庫呢。專案一期的時候,我們建立了一張客戶業務繫結關係表,裡面冗餘了每一位客戶繫結的業務資訊。基本結構大致如下:
二。分庫分表
如何進行分庫分表,目前網際網路上有許多的版本,比較知名的一些方案:
- 阿里的TDDL,DRDS和cobar,
- 京東金融的sharding-jdbc;
- 間組織的MyCAT;
- 360的Atlas;
- 美團的zebra;
- 其他比如網易、58、京東等公司都有自研的 。
但是這麼多的分庫分表中介軟體方案,歸總起來,就兩類:client模式和proxy模式。
三。選擇建立索引
三。sql最佳化
推薦閱讀:
https://blog.csdn.net/rongtaoup/article/details/82457544
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2901330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- Elasticsearch如何做到億級資料查詢毫秒級返回?Elasticsearch
- 資料庫高階查詢之子查詢資料庫
- Jemter查詢資料庫資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 資料庫排序查詢資料庫排序
- 查詢資料庫大小資料庫
- 資料庫基礎查詢--單表查詢資料庫
- 使用cglib實現資料庫框架的級聯查詢CGLib資料庫框架
- [Python]_[初級]_[校驗查詢sqlite3資料庫]PythonSQLite資料庫
- MySQL 億級資料資料庫最佳化方案測試-銀行交易流水記錄的查詢MySql資料庫
- 資料庫查詢語句資料庫
- 資料庫查詢優化資料庫優化
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 20240719資料庫關聯查詢、條件查詢資料庫
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- ElasticSearch在數十億級別資料下,如何提高查詢效率?Elasticsearch
- Logtail:像查詢資料庫一樣查詢日誌AI資料庫
- SQLServer查詢所有資料庫大小SQLServer資料庫
- 資料庫中單表查詢資料庫
- SQL Server 跨資料庫查詢SQLServer資料庫
- 【資料庫】MySQL查詢優化資料庫MySql優化
- 資料庫查詢慢的原因資料庫
- 資料庫查詢語言(DQL)資料庫
- openguass 資料庫狀態查詢資料庫
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- 百億級資料 分庫分表 後怎麼分頁查詢?
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- 查詢資料庫的資料量的大小資料庫
- 資料庫隔離級別資料庫
- 千萬級資料庫使用索引查詢速度更慢的疑惑-資料回表問題資料庫索引
- Android SQL資料庫查詢方法 query( )AndroidSQL資料庫
- 資料庫學習(五)子查詢資料庫
- 資料庫學習(三)基本查詢資料庫
- PHP連線、查詢MySQL資料庫PHPMySql資料庫
- Android—Room資料庫多表查詢(Relationships)AndroidOOM資料庫