Jan 14, 2014

Ubuntu Programming Lesson 01 - Install PostgreSQL (Why PostgreSQL)

在開發一個好的系統服務的前提,要先選一個好的DBMS (DataBase Management System),但是在Linux系統中,應改用哪一個DBMS呢?大部分的人一定說:MySQL! 但是 ... ... ...
選擇大象的記憶和容量

看過這篇文章後,就該好好考慮,哪天ORACLE開始該MySQL用戶收錢?Google棄甲骨文MySQL,將大規模導入MariaDB。這時我就想到很久以前研究OODB用的POSTGRES,也就是現在的PostgreSQL。但為何不用MariaDB?先來看看兩個比較。
MySQL vs. PostgreSQL: 看似MySQL比較好,但是他現在屬於商業公司ORACLE。
  

MariaDB vs. PostgreSQL:Google用,就跟著用嗎?當然不是!Google強調速度,很少強調
 

Transaction。一次搜尋到幾百台servers拿到結果,應該是在同一transaction完成,但搜尋引擎或其他Google相關服務,大部分不care,快速倒出結果叫重要。

那什麼是Transaction,就是要滿足ACID特性,有修過資料庫的人應該都要知道。講求速度不精確的服務,可以不在乎Transaction,例如Google常談的NoSQL,怎麼分散和MapReduce是重點,但是若你不是天才,或是有很強的管理團隊,還是按部就班。PostgreSQL在Transaction這方面做的很好,甚至優於MySQL。其他還有很多優點:

  • 支援OODB,哪天用到自己要提供地圖地圖GIS服務,這是一大利器。
  • 該有的都有,用習慣MS SQL Server,轉換不成問題。例如:stored procedure, user-defined function, trigger, check, view, ...
  • 進階的也有,從Replication,Cluster (PGCluster) 到HA (High Availability)。
  • 資料型別,包括:任意精度的數值,無限制長度文字,這很重要,很好用。
  • Fully Integrity Constrains, Foreign Constrains, Key Constrains ... Schema定的嚴謹,越能掌握DBMS的設計要素。當然,要保留彈性就忽略這些Constrains,所以具有彈性。
  • PostgreSQL索引功能超強,這在處理很多功能動態變化的服務很有用。
按照 PostgreSQL Download 官網的說明,其實無法安裝,因為已經移到 PostgreSQL Apt 維護了:
The PostgreSQL Global Development Group (PGDG) maintains an APT repository of PostgreSQL packages for Debian and Ubuntu located at http://apt.postgresql.org/pub/repos/apt/. We aim at building PostgreSQL server packages as well as extensions and modules packages on several Debian/Ubuntu releases for all PostgreSQL versions supported. 
根據QuickStart文件說明,照做以下步驟:
sudo gedit /etc/apt/sources.list.d/pgdg.list # 加入以下「註1」這行,存檔關閉 
「註1」deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.3 pgadmin3
   #graphical management UI

 PostgreSQL Download 官網的Ubuntu安裝,也有此說明!但不清楚。

安裝後就可以使用 pgAdmin III 管理界面
以上為專業安裝,懶人版就到 PostgreSQL 9.3.1 Installer 下載企業版,一次安裝完成。

No comments :

Post a Comment