常用資料庫詳細介紹

2022-08-20 09:24:15 字數 2522 閱讀 7295

資料庫安裝步驟下方:

mysql資料庫安裝步驟-windows

oracle資料庫安裝步驟-windwos

sql server資料庫安裝步驟-windows

redis快取資料庫安裝步驟-windows

一:資料庫簡介:

資料庫:就是資料的倉庫,它是長期儲存在計算機內,有組織的、可共享的資料的集合。

資料庫管理系統-dbms:用來對資料進行儲存、管理等操作的軟體。

二:資料庫分類:

資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的資料結構來聯絡和組織的。

而在當今的網際網路中,最常見的資料庫模型主要是兩種,即關係型資料庫(sql)和非關係型資料庫(nosql,not only sql)。

關係型資料庫:

關係 :關係就是二維表。並滿足如下性質:

表中的行、列次序並不重要。

行row:表中的每一行,又稱為一條記錄。

列column:表中的每一列,稱為屬性字段   

field 域。

主鍵pk(primary key):用於惟一確定乙個記錄的字段   外來鍵fk

域。domain:屬性的取值範圍,如,性別只能是『男』和『女』兩個值。

缺點:效能沒有非關係性資料庫好    優點:資料統計有嚴謹性。

常見關係型資料庫:

大型:oracle、db2 等;

中型:sql server、mysql 等;

小型:access 等。

非關係型資料庫:

nosql資料儲存不需要固定的表結構,通常也不存在連線操作。在大資料訪問上具備關係型資料庫無法比擬的效能優勢。

搜尋鍵值儲存資料庫(key-value):

鍵值資料庫就類似傳統語言中使用的雜湊表。可以通過key來新增、查詢或者刪除資料庫,因為使用key主鍵訪問,所以會獲得很高的效能及擴充套件性。key/value模型對於it系統來說的優勢在於簡單、易部署、高併發。典型產品:memcached、redis、memcachedb。

列儲存(column-oriented)資料庫:

列儲存資料庫將資料儲存在列族中,乙個列族儲存經常被一起查詢的相關資料,比如人類,我們經常會查詢某個人的姓名和年齡,而不是薪資。這種情況下姓名和年齡會被放到乙個列族中,薪資會被放到另乙個列族中。

這種資料庫通常用來應對分布式儲存海量資料。

面向文件(document-oriented)資料庫:

文件型資料庫可以 看作是鍵值資料庫的公升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。面向文件資料庫會將資料以文件形式儲存。典型產品:mongodb 適用於敏捷開發。

三、關係型資料庫和非關係型資料庫比較:

關係型資料庫:

關係型資料庫,是指採用了關係模型來組織資料的資料庫。簡單來說,關係模型指的就是二維**模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個資料組織。

關係型資料庫的最大特點就是事務的一致性:傳統的關係型資料庫讀寫操作都是事務的,具有acid的特點,這個特性使得關係型資料庫可以用於幾乎所有對一致性有要求的系統中,如典型的銀行系統。

優點:

容易理解:二維表結構是非常貼近邏輯世界的乙個概念,關係模型相對網狀、層次等其他模型來說更容易理解。

使用方便:通用的sql語言使得操作關係型資料庫非常方便。

易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率。

缺點:

資料讀寫必須經過sql解析,大量資料、高併發下讀寫效能不足。對於傳統關係型資料庫來說,硬碟i/o是乙個很大的瓶頸。

具有固定的表結構,因此擴充套件困難。

多表的關聯查詢導致效能欠佳。

非關係型資料庫:

特點:

非結構化的儲存。

基於多維關係模型。

具有特有的使用場景。

優點:

高併發,大資料下讀寫能力較強。(基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高)

基本支援分布式,易於擴充套件,可伸縮。(因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。)

簡單,弱結構化儲存。

缺點:

事務支援較弱。

通用性差。

無完整約束複雜業務場景支援較差。

Druid資料庫配置詳細介紹

個人部落格 driver jdbc.driverclassname com.mysql.jdbc.driver 資料庫鏈結,jdbc.url jdbc mysql 192.168 0.37 3306 project demo?useunicode true characterencoding utf...

druid Druid資料庫配置詳細介紹

最近公司用的mysql 資料庫,因為有很多專案使用,偶爾mysql 扛不住了,發現有很多沒有釋放的鏈結。查了各種原因。總結下。業務 方面 sql 有大量的select from table。有查詢單錶業務和多表關聯查詢共用sql語句。有業務查詢sql 可以批量操作,然後用的迴圈單條去執行。n多看不過...

資料庫的DDL DCL DML TCL詳細介紹

data definition language 資料定義語言,主要是針對資料庫的一些物件的操作,這裡又有乙個知識點就是,哪些東西是資料庫物件呢?比如 資料庫 database 表 table 索引 index 檢視 view 等等 對這些東西的操作無疑是 建立 create 刪除 drop 和修改...