內容:當需要acid屬性來儲存資料之間的關係和一致性時,可以使用關係型資料庫。其他資料的儲存需要考慮更適合的工具,如nosql dbms。
場景:當在系統結架構中引入新資料或資料結構時。
用法:考慮資料量、儲存量、響應時間長短、關係和其他因素來選擇適當的儲存工具。也要考慮資料結構及產品需要對資料進行的管理和操作。
原因:關係型資料庫提供了高度的事務完整性,但是成本很高,難以擴充套件,而且與其他許多可選的儲存系統相比可用性較低。
要點:使用合適的資料儲存工具。不要因素易訪問而用關係型資料庫儲存所有資料。
關係型資料庫的特點:
1.通過acid屬性來保證事務的完整性
2.表內部和表之間存在關係結構
3.擴充套件比非關係型資料庫存在更大的挑戰性,例如分庫分表艱難
關係型資料庫適用範圍可以根據其特點來確定,例如必須保證事務完整性的任務
檔案系統是非常早就可以接觸到的系統,這個系統非常適合「寫一次,讀多次」,特別是短時期內不會更新以及更新的時候不會發生寫衝突的場景。
nosql儲存系統包括:鍵值儲存、可擴充套件記錄儲存、文件儲存。分類邊界模糊,只是一種大體上的區分,可能分屬兩者。no sql對實體或物件之間關係的數量有所限制
鍵值儲存大體上是對資料做單一的鍵值索引,將這些索引儲存在記憶體中。例如:redis、****** db、memcached、amazon dynamodb。當然也有一部分面臨關係型資料庫同樣的限制。
可擴充套件記錄儲存,優勢被稱作寬列儲存或**式的資料庫系統,採用akf擴充套件立方體裡面的x規則和y規則進行擴充套件。
文件儲存,文件又被稱作多索引物件模型,不支援acid屬性,使用非同步複製來提供最終一致性。例如:mongodb,couchdb等。
選取儲存工具時,要考慮元素之間所需的關聯度、方案成長速度、資料讀寫的比率,最後是資料的效益成本問題。關聯度決定了成本和系統的複雜性。三種儲存結構的成本順序和靈活性順序由低到高是:檔案系統、no sql, 關係型資料庫。擴充套件性由低到高是:關係型資料庫 、no sql 、檔案系統。
可擴張性問題解決方案的成本隨著時間的推移而顯著下降,產品的整體可用性也會顯著上公升。
現在技術的發展是我們有了更多的選擇,這些選擇是要根據實際實際需要確定的。
資料庫編碼規則
資料庫編碼規則 1 資料庫名稱 fdays 庫名 如 fdaystour 2 資料表名稱 fs 表名 如果表名超過乙個單詞,第乙個單詞頭字母小寫外,其它單詞的頭字母都大寫,如 fs adminuser 3 資料表字段命名 欄位名 如 username,注id欄位名為 userid 4 檢視名稱 vi...
資料庫命名規則
編寫此資料庫命名規範的目的,就是提供較為形象 易於閱讀 簡單明瞭和原則性一致的資料庫命名方法。從而能夠方便專案相關人員直觀的了解資料庫中的所有物件表示的意義,方便大家交流。這裡主要描述以下的 7類常見的資料庫物件 1.表 table 2.字段 fields 3.檢視 views 4.儲存過程 sto...
資料庫命名規則
資料庫命名規範 1.資料庫名 1 用產品或專案的名字命名 2 pascal case,如smartsport 3 避免使用特殊字元,如數字,下劃線,空格之類 4 盡量避免使用縮寫 表名 1 使用pascal case 2 避免使用特殊字元,如數字,下劃線,空格之類 3 盡量避免使用縮寫 列名 1 使...