能夠反作用於業務和快速分析定位問題
在軟體開發中會遇到很多問題,追根究底它就是乙個資料庫裡資料的問題,就比如說我們要去驗證註冊**對不對,如果我們不去查庫的話,我不知道有這個欄位的存在,雖然它需求裡面說了這麼一段話,但實際我從頁面上去做功能測試的時候,我並不能看到這個註冊**到底存得對不對,所以我們要去看資料庫。
1、關係型資料庫
關係型資料庫:關係型資料庫的官方解釋比較難理解,其實簡單點來講,關係型資料庫就是以行和列的形式儲存資料的組織結構,這裡體現為二維結構的表,而且多個表之間可能會存在一些關係。
1)oracle
oracle是美國oracle公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,oracle資料庫的特點是安全、高速、穩定、併發性好,這些特點都使得很多大企業都選擇資料庫的時候毫不猶豫的選擇了oracle。
早些年的時候,世界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三家公司共同開發的,並於2023年推出了第乙個os/2版本。
ms sql server主要面向中小型企業。其最大的優勢是在於整合了ms公司的各類產品及資源,提供了強大的視覺化介面、高度整合的管理開發工具,在快速構建商業智慧型(bi)方面頗有的建樹。
2、非關係型資料庫
非關係型資料庫:非關係型資料庫的資料結構跟關係型的完全不同,它主要是以鍵值對的形式去儲存資料。
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)資料庫基礎配置 :修改密碼、新增使用者等
7)基本的增刪改查 語句
8) 稍微複雜點的sql :多表查詢、子查詢 等等
9) 至少得知道常見的資料庫:mysql mssql oracle memcached redis mongodb
10) 資料庫的安裝、部署:你至少得會自己在伺服器或自己電腦上安裝個資料庫
介面測試和介面文件生成工具:apipost
軟 件 測 試 基 礎 知 識
軟體效能指標主要有響應時間,系統響應時間和應用延遲時間,吞吐量,併發使用者數,資源利用率五種。軟體實現的演算法與系統響應時間和應用延遲時間是直接相關的,所以軟體的效能也必定與實現演算法是有關係的吞度量是指系統在單位時間內處理請求的數量,對於無鬢髮的應用系統而言,吞度量是與響應時間嚴格的反比關係,因為...
軟體測試基礎知識
1 發現軟體錯誤 2 有效定義和實現軟體部件由底層到高層的組裝過程 3 驗證軟體是否滿足任務書和系統定義文件所規定的技術要求 4 為軟體質量模型的建立提供依據。概念 軟體測試是軟體質量保證的關鍵組成部分,對軟體測試的認識可分為以下幾個階段 測試就是除錯階段 測試是證明軟體正確階段 測試是發現軟體中錯...
軟體測試基礎知識
本人部落格文章 1.確認軟體的質量 a.是確認軟體做了你所期望做的事情 do the right thing b.是確認軟體以正確的方式來做了這個事情 do it right 2.是提供資訊 比如提供給開發人員或程式經理的回饋資訊,為風險評估所準備的資訊 3.是在測試軟體軟體產品本身,而且還包括軟體...