1、數據庫介紹
1.1數據庫定義
所謂的數據庫其實就是數據的集合。用户可以對集合中的數據進行新增、查詢、更新、刪除等操作。數據庫是以一定方式儲存在一起、能與多個用户共享、具有儘可能小的冗餘度、與應用程序彼此獨立的數據集合。
1.2數據庫類型
1.2.1關係型數據庫
1.2.1.1定義
關係型數據庫最典型的數據結構是表,由二維表及其之間的聯繫所組成的一個數據組織。支持事務一致特性。
1.2.1.2優缺點
優點:
- 易於維護:都是使用表結構,格式一致;
- 使用方便:SQL語言通用;
- 複雜操作:支持SQL,可用於一個表以及多個表之間非常複雜的查詢;
缺點:
- 性能差:讀寫性能比較差,尤其是海量數據的高效率讀寫,傳統關係型數據庫來説,硬盤I/O是一個很大的瓶頸;
- 存儲方式不靈活:固定的表結構,靈活度稍欠;
常見的關係型數據庫有:
Oracle、MySQL、PostgreSQL、DB2、Microsoft SQL Server、Microsoft Access
1.2.2非關係型數據庫
1.2.2.1定義
非關係型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合,可以是文檔或者鍵值對等。不支持事務一致特性。
1.2.2.2優缺點
優點:
- 格式靈活:存儲數據的格式可以是key,value形式、文檔形式、圖片形式等等;
- 高擴展性:基於鍵值對,數據沒有耦合性,容易擴展;
- 速度快:無需經過sql層的解析,讀寫性能很高;
缺點:
- 不支持SQL:不提供sql支持,學習和使用成本較高;
- 不支持事務:無事務處理能力;
- 不支持複雜查詢:數據結構相對複雜,複雜查詢方面稍欠;
常見的非關係型數據庫有:
Redis、Mongodb、BigTable
2、Oracle數據庫介紹
2.1Oracle數據庫構成
所有的關係型數據庫存儲數據的集合就是磁盤中的文件。Oracle數據庫其實就是一組文件的集合。Oracle數據庫分別由:數據文件、控制文件、日誌文件所構成。
2.1.1數據文件(.DBF)
數據文件是一個二進制文件,是用於保存用户應用程序數據和Oracle系統內部數據的文件,這些文件在操作系統中就是普通的操作系統文件。Oracle在創建表空間的同時會創建數據文件。
2.1.2控制文件(.CTL)
控制文件是一個二進制文件,它主要記錄數據庫的名稱、數據庫的數據文件存放位置等信息。一個控制文件只能屬於一個數據庫。如果控制文件丟失,這數據庫就無法操作。(配置文件)
2.1.3日誌文件(.LOG)
日誌文件在Oracle數據庫中分為重做日誌(Redo Log File)文件和歸檔日誌文件兩種。重做日誌文件是Oracle數據庫正常運行不可缺少的文件。重做日誌文件主要記錄了數據庫操作過程。用於備份和還原數據庫,以達到數據庫的最新狀態。
- 重做日誌(Redo Log File):對數據庫操作的記錄,用於出現問題時的回滾。詳見:
- 歸檔日誌:重做日誌的重新歸檔,持久化到成固定的文件到硬盤,便於以後的恢復和查詢。當然,前提條件是數據庫要處於歸檔模式。
- Oracle 11g默認是為歸檔日誌設定2個歸檔位置,這2個歸檔位置的的歸檔日誌的內容完全一致,但文件名不同。
2.2Oracle實例
實例就是數據庫啓動後分配的內存和建立的後台進程.數據庫關閉後,物理上的文件還存在,但實例(分配的內存和建立的進程)就沒有了。
2.2.1Oracle實例與數據庫的關係
實例就是一組操作系統進程(或者是一個多線程的進程)以及一些內存。這些進程可以操作數據庫;而數據庫只是一個文件集合(包括數據文件、臨時文件、重做日誌文件和控制文件)。
在任何時刻,一個實例只能有一組相關的文件(與一個數據庫關聯)。大多數情況下,反過來也成立:一個數據庫上只有一個實例對其進行操作。
2.3Oracle數據庫版本説明
Oracle 8i、Oracle 9i、Oracle 10g、Oracle 11g、Oracle 12c ......
- I:代表Internet。8i版本開啓對Internet的支持。所以,在版本號之後,添加了標識i
- G:代表Grid網格。10g加入了網格計算的功能,因此版本號之後的標識使用了字母g
- C:代表雲(cloud)計算設計。12c版本表示對雲計算的支持