MySQL入門篇(一)——數據庫的瞭解

在生產生活中咱們常常會使用到數據庫進行信息的存儲和操做,因此咱們必須對其有必定的瞭解,才能熟練地使用。redis

一、什麼是數據庫(database)?

  1. 數據庫(database) 保存有組織的數據的容器(一般是一個文件或一組文件)
  2. 表(table)某種特定類型的結構化清單
  3. 列和數據類型
    表由列組成。列中存儲着表中的某部分信息。
    列(cloumu)表中的一個字段
    數據類型(datatype)所允許的數據類型。每一個表列都又相應的數據類類型,它限制(或允許)該列中存儲的數據。
  4. 行(row)表中的一個記錄
    表的數據按行存儲,所保存的的每一個記錄存儲在本身的行內。將表想象成網格,網格的垂直列爲表列,水平行爲錶行。
  5. 主鍵(primary key)一列(或一組列),其值可以惟一區分表中的每一個行
    主鍵需知足:
    任意兩行都不具備相同的主鍵值;
    每一個行都必須有一個主鍵值(主鍵列不容許NULL值)。

二、數據庫的種類

早期比較流行的數據庫模型有三種,分別爲層次式數據庫、網絡式數據庫和關係型數據庫。而在當今的互聯網中,最經常使用的數據庫模型主要是兩種,即關係型數據庫非關係型數據庫sql

三、什麼是關係型數據庫

關係型數據庫模型是把複雜的數據結構歸結爲簡單的二元關係(即二維表格形式)mongodb

  1. MySQL和Oracle數據庫,互聯網運維中最經常使用的是MySQL
  2. 經過SQL結構化查詢語句存儲數據
  3. 保持一致性方面很強,ACID理論體系。

四、MySQL

MySQL已經存在好久了,因爲體積小、速度快、整體擁有成本低、開放源代碼等優勢,它在世界範圍內獲得了普遍的安裝和使用。數據庫

MySQL是互聯網領域裏一款最要的,深受廣大用戶歡迎的開源關係型數據庫軟件之1、由瑞典MySQL AB公司開發與維護。2006年。MySQL AB公司被SUN公司收購,2008年,SUN公司又被傳統數據數據庫領域大佬甲骨文(oracle)公司收購,所以,MySQL數據庫軟件目前屬於Oracle公司,成爲傳統數據庫領域老大的又一個數據庫產品,甲骨文公司收購MySQL後,使得自身在商業數據庫與開源軟件領域市場佔有份額都躍居第一的位置,這樣的格局,引發了不少人的擔心,這種擔心直接致使後來的Mysql分支數據庫MariaDB的誕生於發展。緩存

五、非關係型數據庫(NOSQL)

非關係型數據庫也被成爲NoSQL數據庫,NOSQL的本意是「Not Olnly SQL」
指的是非關係型數據庫,而不是「No SQL」的意思,所以,NoSQL的產生並非要完全地否認非關係型數據庫,而是做爲傳統關係型數據庫的一個有效補充。NOSQL數據庫在特定的場景下能夠發揮出不可思議的高效率和高性能。
高性能、高併發、對數據一致性要求不高
開源的NoSQL體系,如Facebook的Cassandra,Apache的HBase,也獲得了普遍認同,Redis,mongb也逐漸愈來愈受到各種大中小型公司的歡迎和追捧
NOSQL非關係型數據庫小結:
一、NOSQL不是否認關係數據庫,而是做爲關係數據庫的一個重要補充
二、NOSQL爲了高性能、高併發而生,忽略影響高性能,高併發的功能
三、NOSQL典型產品memcached (純內存),redis(持久化緩存),mongodb(文檔的數據庫)網絡

六、非關係型數據庫的分類

1. 鍵值數據庫(key-value)
鍵值數據庫就相似傳統語言中使用哈希表,能夠經過key來添 加、查詢或刪除數據,由於使用key主鍵訪問,因此會得到很高的性能及擴展性 
鍵值(Key-Value)數據庫主要是使用一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來講的優點在於簡單、易部署、高併發 數據結構

典型產品:Memcached、Redis、MemcacheDB、BerkeleyDB併發

2. 文檔型數據庫(Doucument-Oriented)
面向文檔數據庫會將以文檔的形式存儲。每一個文檔都是自包含的數據單元,是一系列數據項的集合。每一個數據項都有一個名稱與對應的值,值既能夠是簡單的數據類型,如字符串、數字和日期等;也能夠是複雜的類型,若有序列表和關係對象。數據存儲的最小單位是文檔,同一個表中存儲的文檔屬性能夠是不一樣的,數據可使用XML、JSON或者JSONB等多種形式存儲 oracle

典型產品:MongoDB、CouchDB運維

3.列存儲(Column-oriedted)數據庫

4.圖形(Graph)數據庫

相關文章
相關標籤/搜索