MySQL 分表分庫數據訪問中間件:TribeDB
Node.js 的 MySQL 分表分庫數據訪問中間件,實現MySQL數據的分布式集群儲存管理。在處理海量數據、高并發訪問時,獲得更加優越的性能及橫向擴展能力。它包含以下主要特性:
-
可伸縮、高擴展的架構
-
自動路由分庫,維護數據庫連接池
-
支持數據表的“橫向”和“縱向”分表
-
支持“一主多從”式讀寫分離
-
分布式并行處理,成倍提升性能
-
對應用層隱藏數據來源及技術細節
擁有以上特點意味著,可隨時通過增加普通級別數據庫服務器的方式,方便地擴展整體系統性能,而無需修改業務層架構和代碼。理論上TribeDB的擴展能力上線在于主庫單表插入性能和主從數據同步開銷。通過合理設計“橫向”和“縱向”分表和數據切分粒度,可輕松應對上億級別的數據量和訪問請求。
快速上手:
var tribe = require('tribedb'); //載入配置文件,sync選項為true 表示同步讀取解析配置文件 tribe.configure('/path/to/tribe.conf',{sync:true}); //通過數據庫表名建立查詢請求 var db = tribe.createQuery('my_table'); //插入封裝 db.data({title:'標題'}).insert(function(err, data){ console.log(err); console.log(data); }); //查詢封裝 db.where('title','標題').order_by('time','DESC').limit(1).select(function(err, data){ console.log(err); console.log(data); }); //不使用封裝的操作,直接執行sql tribe.query('SELECT * FROM user_0 WHERE id=1 LIMIT 1',function(err, data){ console.log(err); console.log(data); });
TribeDB 通過全局唯一的表名,自動連接對應的數據庫,并通過分表配置,將操作映射到涉及的分表,同時完成讀寫分離。 一切都由 TribeDB 自動完成,業務層不必關心數據的位置。當數據庫負載過高需要添加服務器時,只需簡單修改配置文件而不必修改業務代碼,甚至將整個架構推倒重來。繼續閱讀文檔詳細了解如何使用。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!