數(shù)據(jù)庫就好比我們用的冰箱,冰箱是用來儲存食物,而數(shù)據(jù)庫則是用來儲存數(shù)據(jù)的。也有人問:為什么要搞數(shù)據(jù)庫呢?我把自己的數(shù)據(jù)放在電腦里的excel表里不就行了?原因是數(shù)據(jù)庫相比excel有太多的優(yōu)勢了,就好比我們可以在手機(jī)上,可以輕松查看我們在淘寶上瀏覽過的商品,不至于想找的時候找不到,這些都是數(shù)據(jù)反饋給我們的。那么數(shù)據(jù)庫到底是什么?它的分類有哪些?
一、數(shù)據(jù)庫是什么
數(shù)據(jù)庫是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨立的數(shù)據(jù)集合,可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、查詢、更新、刪除等操作。
數(shù)據(jù)庫是一個按數(shù)據(jù)結(jié)構(gòu)來存儲和管理數(shù)據(jù)的計算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫的概念實際包括兩層意思:
(1)數(shù)據(jù)庫是一個實體,它是能夠合理保管數(shù)據(jù)的“倉庫”,用戶在該“倉庫”中存放要管理的事務(wù)數(shù)據(jù),“數(shù)據(jù)”和“庫”兩個概念結(jié)合成為數(shù)據(jù)庫。
(2)數(shù)據(jù)庫是數(shù)據(jù)管理的新方法和技術(shù),它能更合適的組織數(shù)據(jù)、更方便的維護(hù)數(shù)據(jù)、更嚴(yán)密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)。
二、數(shù)據(jù)庫分類有哪些
1.關(guān)系數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫,存儲的格式可以直觀地反映實體間的關(guān)系。關(guān)系型數(shù)據(jù)庫和常見的表格比較相似,關(guān)系型數(shù)據(jù)庫中表與表之間是有很多復(fù)雜的關(guān)聯(lián)關(guān)系的。 常見的關(guān)系型數(shù)據(jù)庫有Mysql,SqlServer等。在輕量或者小型的應(yīng)用中,使用不同的關(guān)系型數(shù)據(jù)庫對系統(tǒng)的性能影響不大,但是在構(gòu)建大型應(yīng)用時,則需要根據(jù)應(yīng)用的業(yè)務(wù)需求和性能需求,選擇合適的關(guān)系型數(shù)據(jù)庫。
2.非關(guān)系型數(shù)據(jù)庫(NoSQL)
非關(guān)系型數(shù)據(jù)庫指的是通常用來解決某些特定的需求如:數(shù)據(jù)緩存,高并發(fā)訪問。分布式的、非關(guān)系型的、不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)。NoSQL數(shù)據(jù)庫技術(shù)與CAP理論、一致性哈希算法有密切關(guān)系。
目前NoSQL數(shù)據(jù)庫仍然沒有一個統(tǒng)一的標(biāo)準(zhǔn),它現(xiàn)在有四種大的分類:
(1)鍵值對存儲(key-value):代表軟件Redis,它的優(yōu)點能夠進(jìn)行數(shù)據(jù)的快速查詢,而缺點是需要存儲數(shù)據(jù)之間的關(guān)系。
(2)列存儲:代表軟件Hbase,它的優(yōu)點是對數(shù)據(jù)能快速查詢,數(shù)據(jù)存儲的擴(kuò)展性強(qiáng)。而缺點是數(shù)據(jù)庫的功能有局限性。
(3)文檔數(shù)據(jù)庫存儲:代表軟件MongoDB,它的優(yōu)點是對數(shù)據(jù)結(jié)構(gòu)要求不特別的嚴(yán)格。而缺點是查詢性的性能不好,同時缺少一種統(tǒng)一查詢語言。
(4)圖形數(shù)據(jù)庫存儲:代表軟件InfoGrid,它的優(yōu)點可以方便的利用圖結(jié)構(gòu)相關(guān)算法進(jìn)行計算。而缺點是要想得到結(jié)果必須進(jìn)行整個圖的計算,而且遇到不適合的數(shù)據(jù)模型時,圖形數(shù)據(jù)庫很難使用。
通過上述介紹,“數(shù)據(jù)庫是什么?分類有哪些?”相信您已經(jīng)知曉了吧,想了解更多關(guān)于數(shù)據(jù)庫的信息,請繼續(xù)關(guān)注中培偉業(yè)。