1、背景和問題
Microsoft SQL Server是商業數據庫,需要收費,收費概況如下:
問題在於:是否值得購買和使用Microsoft SQL Server許可?尤其是在開源軟件盛行的軟件行業中。開源軟件一般是免費的,其中MySQL是使用最廣的開源關係型數據庫,其費用如下:
2、分類和對比
目前數據庫主要分爲關係型數據庫、非關係型數據庫,後者又可以進一步細分爲NoSQL數據庫、分佈式數據庫;按收費方式劃分爲商用數據庫、免費數據庫,按開源情況劃分爲開源數據庫、閉源數據庫,按實時應用情況劃分爲實時數據庫、非實時數據庫。
Microsoft SQL Server是商用、閉源、非實時、關係型數據庫,Microsoft SQL Server以下簡稱MSSQL。
MSSQL常常和ORACLE對比,他們同爲商用關係型數據庫。
MSSQL也常常和MySQL對比,他們同爲關係型數據庫,但是MySQL是開源數據庫,最初是免費數據庫,現在開始微量收費。
MSSQL還常常和NoSQL對比,NoSQL泛指非關係型數據庫,非關係型數據庫中一個典型實例是MongoDB,因此也常常使用MongoDB來代替NOSQL和MSSQL對比。
下表對比了MSSQL、ORACLE、MYSQL、MONGODB的情況:
條目 | MSSQL | ORACLE | MYSQL | MONGODB |
是否收費 | 是 | 是 | 是(少量許可費) | 否 |
是否支持SQL | 是(T/SQL) | 是(PL/SQL) | 是 | 否 |
是否廣泛應用 | 是 | 是 | 是 | 是 |
可擴展性 | 高 | 非常高 | 較低 | 很低 |
安全性 | 高 | 非常高 | 較低 | 很低 |
可用性(集羣) | 高 | 非常高 | 高 | 低 |
OLAP(聯機分析處理) | 支持 | 支持 | 不支持(額外插件) | 不支持(額外插件) |
OLTP(聯機事務處理) | 支持 | 支持 | 支持 | 不支持(額外插件) |
標準 | SQL-92 | SQL-92 | SQL-92 | 不支持 |
訪問接口 | ODBC、JDBC、OLE DB、Native Client | ODBC、OLE DB、OCI/C、OCI/C++ | Connector/C、Connector/C++、Connector/J、 Connector/NET、 Connector/ODBC、Connector/Python、PHP | Node-JS |
總結如下:
(1)MSSQL、ORACLE、MYSQL更適用於傳統業務,MongoDB更適用於互聯網業務。
(2)ORACLE價格昂貴,MSSQL相比較而言價格適中,MySQL收費低廉。
3、可選路徑
根據以上情況,可選方案有:
(1)使用MSSQL
商業關係型數據庫,非常適合傳統業務,最主要優點是便於維護,缺點是需要較多收費。
MSSQL標準版每核3717美元,假設租用四個核的CPU作爲數據庫服務器,費用爲14868美元,國內實際價格需要諮詢微軟,可能會低於這個數值。
(2)使用MySQL
開源關係型數據庫,非常適合傳統業務,最主要優點是其用戶基數非常大、開源、收費低廉,缺點是維護不易,穩定性比MSSQL差,往往使用集羣提高整體穩定性。
如果業務系統不能開源,則不能使用MySQL社區免費版。
MySQL標準版需要繳納每年2000美元的費用,國內實際價格需要諮詢oracle,可能會低於這個數值。
使用MYSQL會有一定額外工作量,可能包含的工作:
* 更換數據庫訪問接口
估算:1人月
* 編寫MYSQL數據庫構建腳本
估算:1人月
* 找到並轉換不兼容的結構和數據
估算:1人月
* 迴歸測試
估算:1人月