可以副作用於業務和快速分析定位問題php
在軟件開發中會遇到不少問題,追根究底它就是一個數據庫裏數據的問題,就好比說咱們要去驗證註冊來源對不對,若是咱們不去查庫的話,我不知道有這個字段的存在,雖然它需求裏面說了這麼一段話,但實際我從頁面上去作功能測試的時候,我並不能看到這個註冊來源到底存得對不對,因此咱們要去看數據庫。web
一、關係型數據庫sql
關係型數據庫:關係型數據庫的官方解釋比較難理解,其實簡單點來說,關係型數據庫就是以行和列的形式儲存數據的組織結構,這裏體現爲二維結構的表,並且多個表之間可能會存在一些關係。數據庫
1)Oraclejson
Oracle是美國oracle公司(甲骨文)提供的以分佈式數據庫爲核心的一組軟件產品,oracle數據庫的特色是安全、高速、穩定、併發性好,這些特色都使得不少大企業都選擇數據庫的時候堅決果斷的選擇了oracle。api
早些年的時候,世界500強幾乎100%都是oracle的用戶。可是oracle是收費的,並且不便宜,這也使得不少初創公司或者中小型企業是徹底沒有能力去負擔這筆開支,而放棄使用oracle,轉而選擇簡便易用,更輕量級且免費開源的MySQL。緩存
2)MySQL安全
MySQL是一種開發源代碼的關係型數據庫管理系統,而且由於其速度,可靠性和適用性備受中小型企業的青睞。雖然早期版本不支持事物操做、子查詢、外鍵、存儲過程和視圖等功能。服務器
可是從02年發佈的4.0beta版以來,MySQL外使用innoDB做爲默認引擎,對事物處理能力及數據緩存能力又來極大的提升,05年的5.0版本有添加了存儲過程、服務端遊標、觸發器、查詢優化以及分佈式事物功能。數據結構
3)MariaDB
MariaDB數據庫是MySQL的一個分支,由開源社區在維護,開發MariaDB有一部分緣由是由於擔憂甲骨文收購MySQL後,會有將MySQL閉源的意圖,所以社區採用分支的方式來避開這個風險。
MariaDB徹底兼容MySQL,包括API和命令行,是MySQL的完美替代品,儲存引擎方面,MariaDB使用的是xtraDB替代了MySQL的InnoDB。
4)Sqlserver
Sqlserver是由Microsoft開發和推廣的數據庫,它最初是由Microsoft、Sybase和Ashton-tate三家公司共同開發的,並於1988年推出了第一個OS/2版本。
Ms SQL server主要面向中小型企業。其最大的優點是在於集成了Ms公司的各種產品及資源,提供了強大的可視化界面、高度集成的管理開發工具,在快速構建商業智能(BI)方面很有的建樹。
二、非關係型數據庫
非關係型數據庫:非關係型數據庫的數據結構跟關係型的徹底不一樣,它主要是以鍵值對的形式去存儲數據。
1)Memcached
Memcached是以livejournal旗下Danga Interactive 公司的Brad Fitzpatric爲首開發的一款軟件,它的出現很好的解決一系列數據庫瓶頸問題,由於在web應用中頻繁,集中的訪問數據庫,就會帶來高併發帶來的一系列問題。
好比致使數據庫負擔加劇、響應惡化、網站顯示延遲等重大影響這些問題,而有了memcached提供的數據緩存機制,這些問題就都不是問題了。
2)Redis
Redis是一個key-value存儲系統。和memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、和hash(哈希類型)等。Redis是一個高性能的key-value數據庫。
Redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合能夠對關係數據庫起到很好的補充做用。
3)MongoDB
MongoDB是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bson格式,所以課程儲存比較複雜的數據庫類型。
Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎均可以實現相似關係數據庫表單查詢的絕大部分功能,並且還支持對數據庫創建索引。
1)建立/刪除庫、建立/刪除表、查看庫、查看錶
2) 備份、還原數據
3)存儲過程 、視圖
4)導入、導出數據
5)數據庫基礎配置 :修改密碼、添加用戶等
6)數據庫連接工具:如 WorkBench Navicat phpMyAdmin 等
7)基本的增刪改查 語句
8) 稍微複雜點的SQL :多表查詢、子查詢 等等
9) 至少得知道常見的數據庫:Mysql MSSQL Oracle Memcached Redis Mongodb
10) 數據庫的安裝、部署:你至少得會本身在服務器或本身電腦上安裝個數據庫
接口測試和接口文檔生成工具:apipost