iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 6
2
Software Development

以資料庫為開發核心,利用通用 API 玩轉後端資料存取的概念與實作系列 第 6

Day6:環境安裝(database 篇) - 資料庫簡介、安裝篇

  • 分享至 

  • xImage
  •  

筆者個人的 SQL 使用相關經驗都是以 MS-SQL 的 T-SQL(Since MS-SQL7.0)為主,所以對T-SQL的了解當然就會比較深入,加上後來 MicroSoft 佛心來著,推出了 express 的免費版本,雖有限制,但對小型企業和測試、展示來說已經足夠,這的確是很大的福音。但是,如果是有大資料量的需求及效能考慮的企業,還是建議購買商業版本,這就有了成本的考量,當然,如果客戶的情況許可,筆者都會建議購買商業授權版本。

後來,隨著 Open Source 各項專案的風起雲湧,各式各樣的應用程式如雨後春筍般的冒出來,其中不乏另人讚不絕口的傑出產品。而在資料庫管理程式的領域,也出現了許多優秀的產品,其中以 MySQL、PostgreSQL 等更是其中的翹楚。很多人都以為 Open Source = FREE(免費),這事實上是個誤解。的確,有一部份的 Open Source產品是完全免費的(即使是商業使用),但大部份的 Open Source 都有商業版本或開發版本的授權使用費用,只是通常和大型商業軟體比起來,費用相對低很多,在使用前請詳細的閱讀了解該產品的授權方式。本文只是簡單的介紹下面幾個產品,其授權方式列示如下,詳細的內容,還是以各產品的說明文準。

產品 開發組織、公司 Licence方式 商業使用
MS-SQL Microsoft 不開源 商業授權
MySQL Oracle GPL 企業授權
MariaDB MariaDB 基金會 GPL 2 企業授權
PostgreSQL PostgreSQL Global Development Group BSD 免費

當然,還有很多其他優秀的資料庫軟體,但【人力終有窮,天道終有定】,只能就我曾經涉獵過的幾個 Database 簡單說明,任何一個系統想要精通,沒有 3-5 年的經驗累積是不可能的,但是要學會基本概念倒是不難。所以接下來,我就簡單的介紹幾個資料庫軟體的安裝、官網介紹,至於您想深入學習哪一套軟體,就由您自行決定,本文所介紹的內容,都是一些通則,對大部分的資料庫而言,都是通用的。

Microsoft 我就不多介紹了,大家應該都耳熟能詳

開發環境測試,建議下載 express 版本測試,如果您的 Windows OS 是 Windows 7,請安裝 SQL 2012 版
https://www.microsoft.com/zh-tw/download/details.aspx?id=56042
其他較新的版本,也可以安裝最新的 SQL2017 版
https://www.microsoft.com/zh-tw/sql-server/sql-server-editions-express

LocalDB 也是一個不錯的選擇,但是限制較多(主要是字元集的預設值),下載點是在上面的載點中,指定後下載
關於 LocalDB 不可不看保哥(Will) 的好文
https://blog.miniasp.com/post/2012/09/03/SQL-Server-2012-Express-LocalDB-Quick-Start.aspx


MySQL 的簡介

http://www.mysql.com/

原本是一個開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的 MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。MySQL被廣泛地應用在 Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了 MySQL作為網站資料庫。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟體組合LAMP中的「M」指的就是MySQL。

MySQL原先被人所詬病的一些缺點,如不支援Store Procedure等必要的進階功能,在V5.0以後的版本都已經提供。但自從被甲骨文公司收購後,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支援另一個自由軟體計畫OpenSolaris的發展,因此導致自由軟體社群們對於Oracle是否還會持續支援MySQL社群版(MySQL之中唯一的免費版本)有所隱憂,因此原先一些使用MySQL的開源軟體逐漸轉向其它的資料庫。例如維基百科已於2013年正式宣布將從MySQL遷移到MariaDB資料庫。

MySQL 的社群版下載點
https://dev.mysql.com/downloads/mysql/

我曾經有多次安裝 MySQL 失敗的經驗(在 Windows 7 的 VM 中),和 MariaDB 的完全零失敗的安裝經驗比起來,我真的衷心推薦改用 MariaDB。


接下來介紹 MariaDB

https://mariadb.org/
https://mariadb.com/

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權授權。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。
MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。MariaDB由MySQL的創始人 Ulf Michael Widenius)主導開發,他早前曾以10億美元的價格,將自己建立的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自 Michael 的女兒 Maria 的名字。

MariaDB 下載點
https://mariadb.com/downloads/mariadb-tx

安裝完 MariaDB 會預設安裝 HeidiSQL,基本上它有貼心的考慮到使用者的需求。


PostgreSQL 的簡介

https://www.postgresql.org/

PostgreSQL經歷了長時間的演變,開始於在 UC Berkeley(柏克萊加州大學)的Ingres計劃。這個計劃的領導者Michael Stonebraker在1982年離開Berkeley去商業化Ingres,但是最後還是返回了學術界。在1985年返回Berkeley之後,Stonebraker開始了post-Ingres計劃來致力於在1980年代早期變得日益清楚的、當代資料庫系統的問題。Postgres和Ingres的代碼庫開始(並保持)完全分離了。

第一次PostgreSQL發行形成了版本6.0。隨後來自世界各地的一組資料庫開發者和志願者,透過Internet協作起來,維護著這套軟體。自從版本6.0之後,出現了很多後續發行,在系統中也出現了很多改進;在2005年1月19日,版本8.0成為當前發行。由8.0後,PostgreSQL以原生(Native)的方式,執行於Windows 視窗系統。

PostgreSQL 下載點
https://www.postgresql.org/download/

原本在 MySQL 和 PostgreSQL 這2套 Opensource 資料庫軟體,我自己本來是決定要採用 PostgreSQL 的,這當然有很多包括經濟因素、授權因素、網路評價 等等非常多的因素。我前面有提到,想要真正精通一套資料庫,沒有 3-5 年的累積是不可能的,這一定是實戰開發真實系統,而不只是看看書那麼簡單。所以除了我已經實際使用多年的 MS-SQL 資歷庫,我想要在 Opensource 資料庫中,選擇一套來深入學習。最後,我還是決定投入 MariaDB 的懷抱。

所以本文的相關範例,我會盡量使用 MS-SQL 和 MariaDB 來實作,當然,這沒有對錯,只是單純的評估選擇,您當然也會有您的選擇,都好,都對,但盡量深入,不要貪多嚼不爛即可。

關於資料庫,我就簡單的介紹到這邊,接下來會在 VM 中,重新安裝完整的 Node.js 的環境,希望您會喜歡,再次感謝您的收看,明天見。


上一篇
Day5:環境安裝(Database 篇) - DataBase.NET 的快速導覽
下一篇
Day7:Node.js + Express.js + 資料庫 drivers 的安裝
系列文
以資料庫為開發核心,利用通用 API 玩轉後端資料存取的概念與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言