關係型資料庫通過破壞一定的業務邏輯來換取效能的理解

2021-10-06 02:48:50 字數 856 閱讀 1460

簡單的來說就是,當乙個表裡面的資料太多的時候進行crud(增刪改查)的效率都會降低,在關係型資料庫裡我們常常通過以下幾種方法來通過破壞一定的業務邏輯來換取效能

水平切分

垂直切分

讀寫分離

水平切分就是就通過切割行,將一張表分割成多張表來提公升性

解釋

1張表裡面有十萬條資料,我們通過水平切割,將其分割成10張表,每張表存放原來的1萬條資料,這樣進行crud時的效率就會有所提公升,但是因為原本是一張表的資料卻被我們切割成了10張表,造成了一定的邏輯破壞

垂直切分就是就通過切割列,同樣是將一張表分割成多張表來提公升性

解釋

1張表裡面有100列,將其分割成10張表,每張表存放原來的10列,這樣進行crud時的效率就會有所提公升

將原本一台的資料庫伺服器拆分成兩台,一台用於讀的功能,一台只用於寫的功能,因為讀是乙個專案中使用最多的,通過這樣來減輕資料庫伺服器的壓力,從而提公升效能,但是因為原本資料庫伺服器的讀寫功能原本是一體的,現在被我們拆開後就造成了的邏輯破壞

注意

讀寫分離分開的資料庫中,讀的資料庫只具有讀的功能,但是寫的伺服器既能讀又能寫

簡單的來說就是在乙個專案中,我們對資料庫的主要操作是讀取資料,我們通過讀寫分離將讀的那一部分功能複製乙份到另乙個資料庫上,讀取的時候只需要訪問讀的資料庫就可以,而寫的資料庫除了寫外還有讀的功能,畢竟不能讀怎麼寫呢?而且寫的資料庫修改資料時也要對讀的資料庫進行修改

這些方式打破了傳統關係型資料庫以業務邏輯為依據的儲存模式,而針對不同資料結構型別改為效能為最優先的儲存方式,總之一句話:這種方式破壞一定的業務邏輯來換取效能

關係型資料庫與非關係型資料庫的區別?

當前主流的關係型資料庫有oracle db2 microsoft sql server microsoft access mysql等。非關係型資料庫有 nosql cloudant。nosql和關係型資料庫比較?優點 1 成本 nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle...

關係型資料庫與非關係型資料庫的區別?

當前主流的關係型資料庫有oracle db2 microsoft sql server microsoft access mysql等。非關係型資料庫有 nosql cloudant。nosql和關係型資料庫比較?優點 1 成本 nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle...

關係型資料庫和非關係型資料庫的區

關係型資料庫只是資料庫的乙個特例,型別有嚴格的限制。科學家們用形式化定義了關係以及各種運算,讓它們看起來高大上,但是沒什麼卵用。然後又製造出各種正規化包括白痴nf來簡化資料庫,殊不知不用關係型即可提高效率。然後就有了所謂的nosql,其實這是一種復古。或許人們以後就會發現純粹的kv儲存也有不能滿足的...