iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 13
3
Modern Web

ASP.NET MVC網頁程式介紹系列 第 13

[Day 13] 開始進入資料庫篇,淺談MySql與MariaDB

因為下面文章的需求,
要開始進入資料庫的部分了,
基本上現在的程式不管單機還是網頁,
很少不用到資料庫的,
那我們這次的介紹是會用到連結MySql的部分,
那安裝的資料庫是MariaDB,
等等...不是說MySql嗎?怎麼變成MariaDB了?
事情是這樣發生的...

其實可以參考 [這一篇]( http://akuma1.pixnet.net/blog/post/171266201-mariadb-cluster-%E6%9E%B6%E8%A8%AD%EF%BC%8D%EF%BC%8D%EF%BC%88%E4%B8%80%EF%BC%89mariadb%E8%88%87cluster%E4%BB%8B%E7%B4%B9) ,不過我還是要說明一下(要不然人家會說鐵人賽怎麼內容這麼少...)

MariaDB產生的來源其實有點好笑,當初MySQL開始出現時,因為它是打著非商業使用免費的,所以很多人在一開始開發時,就看重它是免費的,所以選擇MySQL當資料庫;可是後來MySQL被開發JAVA的昇陽(SUN)合併,因為JAVA本身也是開源,也是免費的,所以對開者來說並沒有什麼問題,接下來是昇陽被甲骨文(Oracle)合併了,所以MySQL最後也被併到Oracle名下,這個就有很大問題了,

  • Oracle本身也是做資料庫的,而且是業界馳名,它會開放免費的MySQL(非商業使用時)給大家使用嗎?
  • MySQL會被繼續維護嗎?
  • 就算Oracle開放了MySQL,那MySQL要收費嗎(非商業使用情況下)

其實Oracle也覺得很不是滋味,當初買下昇陽是為了昇陽的JAVA,誰知道跟了一個跟屁蟲MySQL過來,不過即使如此,Oracle還是對外發表,宣稱MySQL維持原樣,並會持續維護,所以請大家不用擔心;不過,因為Oracle本來就不需要MySQL,所以不可能全力在MySQL之上,這個問題,引起當初MySQL開發團隊的不開心,所以最後MySQL開發團隊重新集結,重新開發了一套免費(非商業使用時)的資料庫,叫做MariaDB;也因為這個原因,所以MariaDB對MySQL的支援度很高,幾乎可說是無痛轉移

之前的擔心也已經成真,在oracle收購後,MySQL被發展成一個封閉源碼的項目,只有Oracle和少數Oracle選出的公司才能參與。

  • MySQL 新的企業延伸套件採取封閉源碼
  • 資料庫的臭蟲不再公開
  • 不再積極更新 MySQL 的公開代碼庫
  • 未能快速傳達或修復安全問題,這一點讓 Linux 散佈套件對 Oracle 很不滿
  • Oracle 選擇移除功能,而非修正臭蟲
  • MySQL 5.5 的新程式碼不再有測試案例

這個大概瞭解一下就好,
前言就到這裡了,
明天開始正式連接資料庫的部分!


上一篇
[Day 12] 如何用ASP.NET MVC接收Post資料(二)
下一篇
[Day 14] 配合MySql資料庫的軟體-HeidiSQL
系列文
ASP.NET MVC網頁程式介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
fgred
iT邦研究生 1 級 ‧ 2018-11-19 07:46:40

請問資料庫為何不考慮使用 SQL SERVER?其與 ASP.NET MVC 技術整合性不是會更好嗎?

小魚 iT邦大師 1 級 ‧ 2018-11-19 08:02:53 檢舉

我是沒有在用Entity,
所以對我來說兩種資料庫是一樣的,
之前也用過edmx,
說真的用.Net提供的用起來是很方便,
(可以說不會SQL也能寫資料庫)
但是如果要Join之類的就會比較麻煩,
可能因為我們做的系統會比較大,
常常會需要用到比較複雜的SQL語法,
而且我不只寫ASP.NET MVC,
PHP等也有在寫,
我會傾向用一個比較可以通用的方式來寫程式.

我要留言

立即登入留言