上億級別資料庫查詢
一。分割槽
建立年表和分割槽:
分割槽方案
分割槽表是由多個相關的底層表實現,這些底層表也是由控制程式碼物件表示,所以我們也可以直接訪問各個分割槽,儲存引擎管理分割槽的各個底層表和管理普通表一樣(所有的底層表都必須使用相同的儲存引擎),分割槽表的索引只是在各個底層表上各自加上一個相同的索引,從儲存引擎的角度來看,底層表和一個普通表沒有任何不同,儲存引擎也無須知道這是一個普通表還是一個分割槽表的一部分。這個方案也不錯,它對使用者遮蔽了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
- 資料庫查詢資料庫
- 資料庫 - 資料查詢資料庫
- 資料庫資料的查詢----連線查詢資料庫
- 資料庫高階查詢之子查詢資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 查詢資料庫大小資料庫
- 資料庫排序查詢資料庫排序
- Jemter查詢資料庫資料庫
- 破解微信資料庫 並查詢資料上傳伺服器資料庫伺服器
- MySQL 億級資料資料庫最佳化方案測試-銀行交易流水記錄的查詢MySql資料庫
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 資料庫基礎查詢--單表查詢資料庫
- 資料庫查詢優化:巢狀查詢資料庫優化巢狀
- 資料庫查詢語句資料庫
- 資料庫查詢優化資料庫優化
- mysql資料庫多表查詢MySql資料庫
- mysql資料庫容量查詢MySql資料庫
- 資料庫查詢步驟資料庫
- 資料庫查詢配置值資料庫
- ElasticSearch在數十億級別資料下,如何提高查詢效率?Elasticsearch
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- 使用cglib實現資料庫框架的級聯查詢CGLib資料庫框架
- [Python]_[初級]_[校驗查詢sqlite3資料庫]PythonSQLite資料庫
- SQL Server 跨資料庫查詢SQLServer資料庫
- SQLServer查詢所有資料庫大小SQLServer資料庫
- 【資料庫】MySQL查詢優化資料庫MySql優化
- 資料庫查詢慢的原因資料庫
- openguass 資料庫狀態查詢資料庫
- 資料庫中單表查詢資料庫
- 資料庫查詢基本命令資料庫
- 【資料庫】sql連表查詢資料庫SQL
- 查詢資料庫表是否存在資料庫
- 查詢資料庫中表的資訊資料庫
- 資料庫查詢語言(DQL)資料庫