分布式資料庫的開發 記憶體資料庫

2021-09-13 22:59:33 字數 1241 閱讀 2670

現在的計算機技術的發展,基本上一年一變,特別是網際網路。最近的分布式架構尤其突出,從反向**、負載均衡到soa、rpc這些東東,基本上都是解決了網路上的瓶頸,其實這網路上的問題大不了就是增加伺服器,多個工具或乙個環節來緩衝訪問的時間和速度。還有最近的springcloud之類的,像這些也就是解決了程式上訪問流通過程,但是,最終還是要在資料層出現瓶頸,資料層的控制就顯而易見了,不過眼前的資料層就出現了:對資料庫進行分庫分表,其解決方法呢,又是縱向又是橫向的,分庫分表也會暴露很多問題:像多表關聯查詢、綜合資料、統計資料這些諸如此類的問題,然後呢這些人又說如何如何解決的。

以後,網路速度肯定會逐步加快的,這訪問資料庫的瓶頸遠遠大於程式裡訪問的瓶頸,即使資料庫採取分庫分表,其侷限性也顯而易見,並且採取的措施估計越來越複雜。

基於以上需求,我大膽的猜想,要是開發出一套資料庫,能解決這些問題多好。在2006到2023年做手遊的時候,就把大部分資料放到快取裡,沒想到在2023年後,就有了redis、mongdb、hbase這些基於快取的kv資料庫,雖然這些解決了一些問題,但是在某些功能上還是沒有達到我所預期目的。

以後的資料庫需要分開為:記憶體資料庫、快取資料庫、硬碟資料庫;快取資料庫就是現在流行的redis、mongdb、hbase這些;硬碟資料庫呢就是:mysql、oracle、mssqlservrr、informix、db2這些;但是記憶體資料庫目前是沒有,需要我們開發的一套系統軟體。

記憶體資料庫和硬碟資料庫的關係如下:硬碟資料庫主要是做永久性儲存,一旦記憶體資料庫重啟或者停止使用時,把所有資料存入硬碟資料庫,如果記憶體資料庫啟用後,把硬碟資料庫的資料全部讀入記憶體資料庫,記憶體資料庫可以使用一定的寫入策略儲存資料到硬碟資料庫:

硬碟資料庫

記憶體資料庫

讀和寫資料

記憶體資料庫的目的必須達到以下幾點:

需要是跨平台的;使用什麼語言開發這套系統,不限制,但是最需要的是跨平台;

能讀寫目前業界任何硬碟資料庫的資料,也就是對他們的資料型別和相關的程式(儲存過程)都能處理;

擁有現在資料庫的大部分特性:事物處理的特性,能quid等;

能集群部署,採取讀寫相關策略,以求達到快速處理訪問請求;

既然是資料庫,肯定可以使用sql查詢,但是,可以不用分庫分表那麼麻煩

安全、穩定等效能必須考慮;

現在不用考慮說硬碟資料庫的體量比較大,記憶體肯定不會比它的小到,以後的記憶體,一旦集群,按t計算的記憶體還是很多的;

這種考慮,不僅僅是為了解決以後訪問資料庫的響應速度問題,還要解決資料庫一統問題。

四、問題

1、誰來做這系統?

分布式資料庫

網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...

分布式資料庫

1 背景 我們知道資料是乙個公司的命脈,隨著業務越做越大,資料量也會越來越大,計算也會越來越複雜,效能,可靠性,可擴充套件性的需求就會越來越強烈,這個時候乙個集中式的資料庫顯然已經滿足不了需求了。對於技術決策者來說有兩條路可以走,第一 按照現有的大型資料庫的解決方案,比如sql server clu...

分布式資料庫

一 分布式資料庫的出現的場景 網際網路 軟體國產化 o2o 五新 新零售 新製造,新金融 新資源 新技術 等主題接連提出來,並且在各個行業落地,給資料庫帶來了巨大機會,具體包含3個方向 1.遠超單機資料庫容量的資料儲存和訪問峰值 2.實時資料分析檢索 oltp兼顧olap 3.更高階別的容災需求。這...