❶ 四大開源資料庫是哪些
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免
費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫
呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行
的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括
Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如
WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用
快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了
ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的
核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版
本:Standard、閉爛大Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一
些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的
MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael
"Monty"
Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的
MySQL開發者BrianAker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個
不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即
可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。
PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來
自於獨立廠商轎豎的商業支持。
數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性
的,它對於資料庫訪問提供了強大的安全性保證,充分利用了企業安全工具歷搭,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規
則確保數據質量。在眾多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是
PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能
了。
❷ 四大主流資料庫比較(三大主流資料庫)
四大主流資料庫比較
一、開放性
1.SQLServer
只能在windows上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NTserver只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大資料庫。
2.Oracle
能在所有主流平台上運行(包括windows)。完全支持所有的工業標准。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。
3.SybaseASE
能在所有主流平台上運行(包括windows)。但由於早期Sybase與OS集成度不高,因此VERSION11.9.2以下版本需要較多OS和DB級補丁。在多平台的混合環境中,會有一定問題。
4.DB2
能在所有主流平台上運行(包括windows)。最適於海量數據。DB2在企業級的應用最為廣泛,在全球的500家最大的滲銷企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%。
二、可伸縮性,並行性
1.SQLserver
並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。
2.Oracle
並行伺服器通過使一組結點共享同一簇中的工作來擴展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。如果windowsNT不能滿足需要,用戶可以把資料庫移到UNIX中。Oracle的並行伺服器對各種UNIX平台的集群機制都有著相當高的集成度。
3.SybaseASE
雖然有DBSWITCH來支持其並行伺服器,但DBSWITCH在技術層面還未成熟,且只支持版本12.5以上的ASESERVER。DBSWITCH技術需要一台叢斗游伺服器充當SWITCH,從而在硬體上帶來一些麻煩。
4.DB2
具有很好的並行性。DB2把資料庫管理擴充到了並行的、多節點的環境。資料庫分區是資料庫的一部分,包含自己的數據、索引、配置文件、和事務日誌。資料庫分區有時被稱為節點安全性。
三、安全認證
1.SQLserver
沒有獲得任何安全證書。
2.OracleServer
獲得最高認證級別的ISO標准認證。
3.SybaseASE
獲得最高認證級別的ISO標准認證。
4.DB2
獲得最高認證級別的ISO標准認證。
四、性能
1.SQLServer
多用戶時性能不佳
2.Oracle
性能最高,保持開放平台下的TPC-D和TPC-C的世界記錄。
3.SybaseASE
性能接近於SQLServer,但在UNIX平台下的並發性要優與SQLServer。
4.DB2
性能較高適用於數據倉庫和在線事物處理。
五、客戶端支持及應用模式
1.SQLServer
C/S結構,只支持windows客戶,可以用ADO、DAO、OLEDB、ODBC連接。
2.Oracle
多層次網路計算,支持多種工業標准,可以用ODBC、JDBC、OCI等網路客戶連接。
3.SybaseASE
C/S結構,可以用ODBC、Jconnect、Ct-library等網路客戶連接。
4.DB2
跨平台,多層結構,支持ODBC、JDBC等客戶。
六、操作簡便
1.SQLServer
操作簡單,但只有圖形界面。
2.Oracle
較復雜,同時提供GUI和命令行,在windowsNT和unix下操作相同。
3.SybaseASE
較復雜,同時提供GUI和命令行。但GUI較差,常常無法及時狀態,建議使用命令行。
4.DB2
操作簡單,同時提供GUI和命令行,在windowsNT和unix下操作相同。
七、使用風險
1.SQLserver
完全重寫的代碼,經歷了長期銷沖的測試,不斷延遲,許多功能需要時間來證明。並不十分兼容。
2.Oracle
長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。
3.SybaseASE
向下兼容,但是ct-library程序不益移植。
4.DB2
在巨型企業得到廣泛的應用,向下兼容性好。風險小
❸ 有沒有什麼比較安全可靠的資料庫系統的開發平台
很推薦使用勤哲Excel進行自己公司的資料庫系統開發碼慎,數衡余據信息是一個遲攔敬企業很重要的資產,其安全性的保障對於一個企業的發展來說很重要,通過勤哲Excel進行自主的資料庫系統開發、自主使用可以對自己的數據進行很好的安全管理。
❹ Oracle資料庫安全性設計大家給點建議
Oracle資料庫本身的安全性建設
從總體上而言,Oracle資料庫是業界安全性方面最完備的資料庫產品。在資料庫安全性的國際標准中,Oracle通過了14項標準的測試,是所有資料庫產品中通過安全性標准最多、最全面的產品。Oracle在C2級的操作系統上(如商用UNIX,VMS操作系統),不僅滿足NCSC C2級安全標准,而且已經正式通過了NCSC C2標準的測試。在B1級的操作系統上不僅滿足NCSC B1級安全標准,而且已經通過了NCSC B1級標準的測試。
Oracle提供的主要安全性措施如下:
�8�9 身份認證功能(Authentication):識別訪問個體的身份
�8�9 數據訪問的機密性(Confidentialty):保證敏感數據訪問的機密性。
�8�9 數據完整性(Integrity):保證數據不被篡改。
�8�9 授權能力(Authorization):保證被授權用戶對數據的查詢和修改能力。
�8�9 訪問控制(Access Control):確定對指定數據的訪問能力。
�8�9 審計能力(Auditing):提供監測用戶行為的能力。
�8�9 私有性(Privacy):提供對敏感數據訪問的私密性。
�8�9 高可用性(Availability):保證數據和系統提供不間斷服務的能力。
�8�9 代理管理能力(Delegated Administration):提供對用戶帳號的集中管理功能。
下面將就應用系統本身對於Oracle提供的安全性措施作更深入的探討。
$PageTitle= Oracle的安全性領域}
三、 Oracle的安全性領域
�8�5 Profile控制
Oracle利用profile機制來管理會話資源佔用,同時也管理用戶密碼的安全策略。
通過profile我們可以實現:
某個特定用戶最多隻能佔用系統百分之幾的CPU時間?
某個特定用戶連接到資料庫之後能存活多長時間?
某個特定用戶連接到資料庫之後多長時間處於非活躍狀態就將被系統中斷連接?
用戶登錄密碼輸入錯誤多少次之後就將自動鎖定用戶?
用戶密碼的長度和包含的字元必須符合什麼樣的規則?
用戶密碼在多少天後將自動失效並要求設定新密碼?
�8�5 用戶許可權控制 (Privilage)
Oracle通過角色(Role),許可權(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的進行用戶的許可權控制。
通過許可權控制我們可以實現:
某個特定用戶只能讀取而不能修改另一個用戶的表數據。
某個特定用戶只能運行Oracle資料庫系統的幾個存儲過程或者函數。
某個特定用戶自己能夠擁有修改某些數據的權力,但是卻無法給其它不擁有這個許可權的用戶授予修改該數據的權力。
某個特定用戶可以讀取數據但是無法創建新的表空間。
�8�5 虛擬專用資料庫(VPD)
虛擬專用資料庫 (VPD) 也稱為細粒度訪問控制,它提供強大的行級安全功能。它是在 Oracle8i 中推出的,已經受到廣泛的歡迎。
VPD 的工作方法是,通過透明地更改對數據的請求,基於一系列定義的標准向用戶提供表的局部視圖。在運行時,所有查詢都附加了謂詞,以便篩選出准許用戶看到的行。
也就是通過VPD的設置,我們可以做到行級安全性控制,特定的用戶即使對一張表有讀取許可權,那麼也只能看到符合自身許可權的記錄。
注意,在Oracle10g版本中,VPD得到增強,已經可以實現欄位級的安全性控制了。
實例及搭建步驟參看:利用VPD細粒度訪問策略實現行級安全性 Step By Step
�8�5 Orace Label Security
基於對由客戶提交的行級安全性的嚴格要求,Oracle Label Security(Oracle 資料庫企業版的選件之一)利用多級安全性概念解決了世界上政府和商業用戶在實際中遇到的數據安全和隱私問題。
OLS 通過利用數據敏感度標簽(例如「敏感」和「公司機密」)與用戶標簽授權,提供了完善的行級安全性控制。
OLS 使用政策概念來存儲標簽定義和授權。該政策可直接在資料庫中進行管理,或在 Oracle 身份管理中進行集中管理。
�8�5 Oracle Database Valut
通常資料庫管理員如果具有了DBA許可權,那麼就很難防止這樣的管理員查看應用程序數據。而Oracle Database Valut則解決了必須保護涉及合作夥伴、員工和顧客的敏感業務信息或隱私數據的客戶最為擔心的問題。
Oracle Database Vault 可防止高許可權的應用程序 DBA 訪問其他的應用程序、執行其許可權之外的任務。Oracle Database Vault 可在不影響應用程序功能的前提下快速而高效地保護現有程序。
Oracle Database Vault 可通過下列方法解決一些最為常見的安全問題和內部威脅:
1. 限制 DBA 和其他授權用戶訪問應用程序數據。
2. 防止DBA 操縱資料庫和訪問其他應用程序。Oracle Database Vault 提供了強大的職責劃分控制功能,可防止擅自更改資料庫。比如說如果一個用戶具有 CREATE USER 許可權,但不具備正確的用戶管理許可權,則 Oracle Database Vault 將阻止該 DBA 創建新用戶。
3. 更好的控制何人、何時、何地可以訪問應用程序。如日期時間、資料庫客戶端在網路上的位置之類的因素。
Oracle Database Valut是新的Oracle Database 10g企業版的選件。目前已經有Linux X86以及Solaris SPARC 64bit的版本可以下載使用了。
�8�5 用戶訪問審計
審計是Oracle安全性的另一個重要領域,我們還必須小心地計劃審計方案。有幾種方式可在Oracle中進行審計:
1. SQL審計命令(標准審計)
通過AUDIT語句我們可以對成功或者不成功的特定對象的讀取,更新操作進行審計。
標准審計只會記錄較少的跟蹤信息,比如發出該語句的用戶、時間、終端標識號等等。
該審計對於系統性能的影響更多地取決於對象的繁忙程度。
2. 用對象觸發器進行審計(也就是DML審計)
此類審計通常由客戶自行開發放置於特定資料庫對象上的觸發器,由於是自行開發,所以相對於標准審計則能夠更自由地記錄更多感興趣的跟蹤信息。比如更新操作將某個欄位從什麼原始值更新到了什麼新值。
該審計對於系統性能的影響更多地取決於對象的繁忙程度和觸發器的編寫水平。
3. 用系統級觸發器進行審計(記錄用戶登錄和退出)
當用戶登錄資料庫或者離開資料庫時,都可以通過自定義的觸發器來記錄用戶名稱,操作時間,終端標識號等信息。
由於觸發器觸發幾率小,所以該審計對於系統性能影響並不大。
4. 用LogMiner進行審計(也就是DML和DDL)
Oracle資料庫將所有的更新操作都記錄在重作日誌中,而Oracle提供了LogMiner工具用於挖掘重作日誌中的所有操作,相比起上述的各種審計方法來說,該種審計可能是信息最為完善,對於應用系統性能影響最小的方法。
此處稍微延展開來說一下,LogMiner是雙刃劍,既然可以用來審計,也就能夠被惡意使用作為數據竊取的工具。所以在數據本身的加密方面,Oracle同樣提供了多種解決方案,比如DBMS_OBFUSCATION_TOOLKIT,DBMS_CRYPTO和最新的透明數據加密,甚至在數據備份方面 Oracle也推出了Secure Backup來應對磁帶數據的加密,但是要注意到數據加密不應用作訪問控制的替代項,存儲加密的數據並不會在存儲介質本身提供額外的保護層,只是有助於在發生介質遭竊時保護諸如信用卡號之類的敏感數據。本文不再作更多的介紹。
5. 細精度審計(FGA)
細粒度審計 (FGA),是在 Oracle 9i 中引入的,能夠記錄 SCN 號和行級的更改以重建舊的數據,但是它們只能用於 select 語句,而不能用於 DML,如 update、insert 和 delete 語句。因此,對於 Oracle 資料庫 10g 之前的版本,使用觸發器雖然對於以行級跟蹤用戶初始的更改是沒有吸引力的選擇,但它也是唯一可靠的方法。
而Oracle10g種FGA功能的增強使其不但能夠支持select操作,同時也支持DML操作。在 Oracle 10g 中,審計已經從一個單純的「操作記錄者」成長為一個「事實記錄機制」,它能以一個非常詳細的級別來捕獲用戶的行為,這可以消除您對手動的、基於觸發器的審計的需要。它還結合了標准審計和 FGA 的跟蹤,這使其更易於跟蹤資料庫訪問,而不用考慮它是如何生成的。
通過細粒度審計我們可以記錄:
在早上九點到下午六點之間或在星期六和星期日對某個表進行了訪問。
使用了公司網路外部的某個 IP 地址。
選定或更新了特定列。
使用了該列的特定值。
❺ 達夢資料庫的高安全性
DM7是具有自主知識產權的高安全資料庫管理系統,已通過公安部安全四級評測。是目前安全等級最高的商業資料庫之一。同時DM7還通過了中國信息安全測評中心的EAL4級評測。
DM7 提供基於用戶口令和用戶數字證書相結合的用戶身份鑒別功能,還支持基於操作系統的身份認證、基於LDAP集中式的第三方認證。
DM7提供資料庫審計功能,審計類別包括:系統級審計、語句級審計、對象級審計。DM7提供審計分析功能,通過審計分析工具Analyzer實現對審計記錄的分析。提供強大的實時侵害檢測功能,用於實時分析當前用戶的操作,並查找與該操作相匹配的審計分析規則。
DM7提供了系統許可權和對象許可權管理功能,並支持基於角色的許可權管理,方便資料庫管理員對用戶訪問許可權進行靈活配置。
DM7提供強制訪問控制功能,強制訪問控制的范圍涉及到資料庫內所有的主客體,避免了管理許可權全部由資料庫管理員一人負責的局面,可以有效防止敏感信息的泄露與篡改,增強系統的安全性。
DM7支持基於SSL協議的通訊加密,對傳輸在客戶端和伺服器端的數據進行非對稱的安全加密,保證數據在傳輸過程中的保密性、完整性、抗抵賴性。
DM7實現了對存儲數據的透明存儲加密、半透明存儲加密和非透明存儲加密。每種模式均可自由配置加密演算法。用戶可以根據自己的需要自主選擇採用何種加密模式。