前段時間和同事討論key-value db的用途的問題,說是非常的有用。下週打算實現乙個原型。今天把前幾天寫的文件總結一下。希望大家提些建議和意見。
功能:相對於關聯式資料庫功能更少,只提供有限的key-value查詢功能,以及一些可管理功能。相對於關聯式資料庫可以提供更加強勁的效能,提供更好的可管理性(大部分自管理),可伸縮性。
目標:簡單的key-value操作
管理功能
自管理特性
高效能資料高安全
應用範圍:
大資料量、高訪問量的**
對資料安全要求高的軟體
專案工程:
因為總體功能比較少,各個組成部分可以使用現有的技術,開發工作量應該不會很大。1-2個人就可以完成。
資料儲存層可以用berkeydb 或 mysql
資料通訊可以用http協議 或 tcp
功能設計
每乙個資料存 n 份 copy
client 向乙個節點寫資料,同時複製給其他copy節點
客戶端api
get(groupname,key)
getmulti(groupname,keys)
set(groupname,key,value)
setmulit(groupname,keyvaluepairs)
listkey(groupname,startpos,count)
listkey(groupname,startkey,count)
管理功能
檢視各節點運**況
新增節點
移除節點
效能管理
檢視各客戶端(ip)的使用量資料 (命中記憶體的次數、未命中記憶體的次數、寫的次數)
檢視各個賬號的使用量資料 (命中記憶體的次數、未命中記憶體的次數、寫的次數)
限制某客戶端(ip)的使用
限制某賬號的使用
分布式資料
2017年04月25日 10 36 40 唐大麥 閱讀數 13767 標籤 分布式 mysql 資料庫事務 更多 個人分類 mysql 在開發中,為了降低單點壓力,通常會根據業務情況進行分表分庫,將表分布在不同的庫中 庫可能分布在不同的機器上 在這種場景下,事務的提交會變得相對複雜,因為多個節點 庫...
分布式 分布式鎖
本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...
分布式 分布式事務
是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...