顯示具有 Oracle::PostgreSQL DBA 標籤的文章。 顯示所有文章
顯示具有 Oracle::PostgreSQL DBA 標籤的文章。 顯示所有文章

2009-04-25

PostgreSQL vs Oracle - IBM利用EntepriseDB技術 蠶食Oracle客戶

EnterpriseDB 是將 BSD 授權的 PostgreSQL 包裝成商業產品的公司, 也是 PostgreSQL 開發者團隊中主力的貢獻來源之一, 詳情可參考本社群較早前的文章:

宣布 EnterpriseDB 與IBM的合作,其中包括最近發布的的 EnterpriseDB Advanced Server 8.2 Linux 在 IBM Z系統大型主機,以及提供的 EnterpriseDB Advanced Server for AIX 系統的 IBM System P Server。

從 Oracle 牽移到相容度與可靠性如同 Oracle 的 PostgreSQL, 能對企業節省多少錢呢 ? 來看看 EnterpriseDB 做的整理:

相了解更多可以參考下頁:
http://www.enterprisedb.com/solutions/ibm_db2_license.do

賽迪網訊 4月24日, News:
甲骨文(Oracle)宣佈收購 Sun 後,IBM 將利用資料庫庫軟體廠商 EntepriseDB 的技術蠶食甲骨文的客戶。據國外媒體報導稱,EnterpriseDB發言人稱,甲骨文應用軟體可以不加修改地在該公司的 PostgresPlus 上運行。


IBM 資料庫業務副總裁阿溫德·克里須那表示,現在,甲骨文的應用軟體也可以在 DB2Release9.7上運行了,「利用 EnterpriseDB 的移植工具,精通甲骨文技術的資料庫管理員將能夠使用 DB2.資料庫。EnterpriseDB 的技術使甲骨文的 PL/SQL 查詢和預儲程序可以在 DB2 系統上運 行。」



EnterpriseDB 首席執行官愛德華·博亞簡表示,IBM 使用該公司的甲骨文相容性技術是「對其技術的認可。」
- 来源: 赛迪网 作者:刘彦青



相關新聞:
http://www.enterprisedb.com/company/news_events/press_releases/03_25_08a.do
http://www.theregister.co.uk/2008/04/07/ibm_enterprisedb_stake/

2007-05-05

從 Oracle 到 PostgreSQL 的 JDBC 概要手冊

更新:2007-05-05
對映章節:
http://www.postgresql.org/docs/techdocs.41

內容:
PGSQL 8.1 for J2EE/JDBC Applications

Robert Treat 是 PostgreSQL 開發團隊的長期的成員之一,
並著作有 Begining PHP and PostgreSQL 8 ,
這份文件是放在 PostgreSQL 國際官網上,
提供給從 Oracle 10g 10.2 版到 PostgreSQL 8.1 遷移過程中,
JDBC 應用的一些改變需求的基礎性概觀.

下載文件(PDF): pg_8.1_J2EE_v1.0.pdf (161.4 kb)





延伸閱讀(Link):

2007-05-03

我論 Oracle 對安裝於 Linux 上的要求調校事項(三)

更新:2007-05-03
對映章節:

內容:
再來的以下4個 tuning, 涉及到 net 的 troubleshooting,
Debian 的預設全是同樣值"109568",
根據 Oracle 的值來論, 全屬放大倍數值:

network socket 的接收和傳送緩衝區(buffer)大小

net.core.rmem_default = 1048576 (10 X)
net.core.rmem_max = 1048576 (10 X)
net.core.wmem_default = 262144 (2 X)
net.core.wmem_max = 262144 (2 X)

這4個值能調整伺服器能達到高效能(high performance)的水準,
所以同樣也適用在其它提供高負載單一服務功能的 Linux 版本或主機上.

Oracle 另外對系統安全的資源限制做了放寬調整: limits.conf

oracle          soft    nproc   2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
nproc - 最大進程數量
nofile - 最大開啟檔案數

Debian 的預設值:
nofile 1024, nofile 的最大限制受 fs.file-max 核心變數影響,
預設值為 48938, 其餘並未做限制.

從這點就能看出 Oracle 運行時開啟的檔案數是很嚇人的,
尤其啟動其相關的 java 應用更是, 對身為系統管理員來說,
也增加了管理及安全甚至除錯的因難負荷量, 不見得是件好事
.

延伸閱讀(Link):
Oracle 10g 10.2 官方安裝說明文件(sysctl部份)

2007-05-02

我論 Oracle 對安裝於 Linux 上的要求調校事項(二)

更新:2007-05-02
對映章節:

內容:
Linux 採用 System V 的架構
shm 是 System V 下的 Shared memory 的簡稱
/etc/sysctl.conf 用來開機載入更動核心預設值用

/proc/sys/kernel/ 包含以下的核心映射,
我們來對照一下 Debian testing 版本的預設:

#Total amount of shared memory available (bytes or pages)
"kernel.shmall = 2097152" (= Debian Default)

#Maximum size of shared memory segment (bytes)
"kernel.shmmax = 2147483648"
(> Debina "33554432" , 加大到近 22倍大)(巨大怪獸的證據!!!)

#Minimum size of shared memory segment (bytes)
"kernel.shmmni = 4096" (= Debian Default)

#Maximum number of shared memory segments per process
"kernel.sem = 250 32000 100 128"
(> Debian "250 32000 32 128")

/proc/sys/fs/
最大開啟檔案數量的需求設置(巨大怪獸的證據!!!)
"fs.file-max = 65536" (> Debian "48938")
這個選項與 ulimit 功能有連帶關係...

/proc/sys/net/ipv4/
#加寛非常大量的 local port 長度(巨大怪獸的證據!!!)
"net.ipv4.ip_local_port_range = 1024 65000"
(> Debian 預設寬度 "32768 61000")

#最後就是啟用上述來對 Linux 生效...
/etc/init.d/networks restart
/sbin/sysctl -p


延伸閱讀(Link):
http://www.postgresql.org/docs/8.2/interactive/kernel-resources.html

我論 Oracle 對安裝於 Linux 上的要求調校事項(一)

更新:2007-05-02
對映章節:

內容:
Oracle 對於安裝於 Linux 上使用 Oracle 10g 資料庫系統, 有著官方文件的安裝教學與系統調校的建議事項, 阿益我來改寫成對 PostgreSQL 的類推建議與補足說明:

首先, 前陣子因為客戶需要測試 Oracle 10g 產品, 阿益我看了 Oracle 的文件後, 深感...嗯果真是高貴$和高高要求系統資源的資料庫系統, Oracle 建議採用 RHEL 4 AS 或是 SUSE Enterprise Linux 9+, 商業配商業...夠義氣...

那我只好選用 RHEL 4 AS 的 Free 複製羊版本囉(99.9% 相似度的 CentOS 4.4版)...

經過了一番時間, 照著 Oracle 的要求, 安裝完後, 只有一個感想, 好肥最好單獨 4GB 以上的空間, 來放置整個 Oracle 基礎(不包括每建一個DB時增加的容量哦...), RAM 最好也要1GB以上, 一啟動 Oracle 就連帶快用光 RAM, 再者 Oracle 10g 大量運用 Java 和 Java Server 環境應用...(果然比大象更大象@@")

說完了故事, 開始來看看 Oracle 建議調校 Linux 的系統資源部份(我們學習的重點)
首先老話一句...
安裝資料庫伺服器的主機(Linux)建議停用其它非必要的服務, 最佳的方式就是僅提供單一服務的主機環境來保持最佳效能, 這點在往後建立資料庫叢集化(Cluster)是很必要的哦.

比起 Oracle 10g 的安裝大小, PostgreSQL 就顯的像 RUBY 一樣輕巧了 N 倍...

Oracle 要求修改 Linux 預設的 RHEL 核心參數在開機時生效, 我們要對 /etc/sysctl.conf 進行寫入如下,這也是本篇阿益的重點, 來分析看看為啥 Oracle 要求更動這些核心預設:

echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs.file-max = 65536" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
/sbin/sysctl -p

Oracle 的理由是預設的核心資源設定無法滿足 Oracle 10g 的正常運行...


延伸閱讀(Link):
http://www.postgresql.org/docs/8.2/interactive/kernel-resources.html

2007-04-18

[台灣應用實列]從 Oracle 遷移到 PostgreSQL

更新:2007-04-18
對映章節:
作者簡介: ingram, chen
Java狂,熱衷 server-side open source 技術。現於中研院某角落謀有一職,兼任 DinBenDon 站
長。(本文已連絡原著作者, 經同意後轉載.)

阿益:這是一篇很棒的遷移經驗談, 更具說服力的是作者來自台灣最高的學術研究單位:國立中央研究院, 從原本使用者 Oracle 到為何選擇 PostgreSQL 做了這篇文, 感謝作者同意轉載.

內容:
我們單位已經開始規畫將原本 oracle 的資料庫轉移到 PostgreSQL,原因無它,Oracle 對學術單位來說太 over kill,我們也鮮少使用 oracle 進階的功能。基於經費、維護上的考量,最後選擇改採 Open source 的 PostgreSQL。至於為啥不用 MySQL ? 表面的理由是 postgreSQL 和 oracle 在很多方面都很類似,轉移比較簡單,而 PostgreSQL 功能也比 MySQL 完整太多了。背後的理由嘛... 算是個人偏好與信仰吧?MySQL vs. PostgreSQL 對我來說就像是 VB vs. Java一樣。選擇 Java 的我自然也就選擇 PostgreSQL 囉。

Lob, Lob, Lob

轉移 db 最痛苦的欄位非 Blob, Clob 莫屬了,因為各家 db 對 lob 的做法都不一樣。PostgreSQL 本身並不支援Blob, Clob 欄位。你得使用 bytea, oid, text 等欄位來模擬。text 可以對應的 jdbc clob。而 bytea 與 oid 則對應到 Blob。bytea(byte array) 可直接在該欄位上儲存所有 binary 的資料,算是最簡單的做法。但缺點是 query 該 row 時也會一口氣把全部的資料都讀到記憶體裡... 除非是儲存一些 .gif, .jpg 之類的小檔,不然還是選擇採間接儲存的 oid 比較好。現行 hibernate 的工具會替 java Blob 產生 oid 的欄位型別。

oid 是 PostgreSQL 一個內藏指標,任何資料庫物件 (sequence/table/row... etc) 都有一個 oid。而 oid 欄位就是可儲存 oid 值的欄位。PosgreSQL 裡還有一個系統 table 叫 pg_largeobject,所有的 lob 物件都會存到這個公用的 table 上。我們來看看 blob 的資料會怎樣儲存:

table: MY_BLOBS
id(int8) filename(varchar) blob_data(oid)
==================================================
12 mydata.xls 20300
13 yourdata.png 20301

table: pg_largeobject
loid pageno data
==================================================
20300 0 134134134AED14134DD.....
20300 1 19AE3ADE91091999000.....
20301 0 1093101910519949592.....

MY_BLOBS.blob_data 裡記錄的 oid 直接對應到 pg_largeobject.loid 欄位。而 pg_largeobject.data 裡才是真正的 binary 資料。在預設的情況下,一筆資料最大是 8 kB,所以如果太長的資料會分段儲存,例如上面的 20300 就被分成兩頁存了 (pageno, 0 和 1)。ok, 這就是 blob 在 postgreSQL 間接儲存的做法。

blob 採用 oid 的缺點

  • 無法控管權限,任何可以存取該 database 的 user 都可以存取 pg_largeobject 的內容
  • 讀取 oid 的欄位要在 transaction 下操作。沒有 transaction 會丟 exception。
  • 修改/刪除 blob 會留下舊的資料,系統不會自動清除。(pg_largeobject 會留下一堆用不著的 binary data)

第一個問題對我們來說還好,只要管理得宜就不是問題。第三個就很麻煩了,隨著時間一長,垃圾資料會越來越多 (這種垃圾叫 orphan large object,請用 google 查一查....)。所幸已經有人寫工具專門來清理 -- 安裝 postgres-contrib 套件後,裡面有個 vaccumlo 的程式,只要用 cron 排程定期清理即可。至於讀取 oid 要在 transaction 下... 這個最慘了!我們過去的程式讀取 blob 都沒有在 transaction 內,而且有些部份是仰賴 OpenSessionInView 這個 pattern 來減輕 DAO 的實做 (note 1),因為這些在 oracle 上都沒有問題。現在 port 到 postgreSQL,程式得被迫重新再檢驗一次,甚至改寫.... orz。再次證明即使使用了 hibernate,migrate db 還是相當頭痛的一件事。

note 1: Spring 的 OpenSessionInViewFilter 在 page render 這個階段並沒有包 transaction,所以遇到 oid 也會出 exception。

奇特的 hibernate blob truncate bug

除了上面三個 oid 的缺點外,搭配 hibernate 使用時還有個 bug (?)。看看下面這段程式:

  1. //Read and update in transaction
  2. Transaction transaction = session.beginTransaction();
  3. MyEntity myEntity = (MyEntity) session.get(MyEntity.class, new Long(12));
  4. byte[] readBytes = IOUtils.toByteArray(myEntity.getData().getBinaryStream());
  5. assertEquals(1000, readBytes.length); // data is 1000 bytes.
  6. myEntity.setFilename("makeSomeChange.txt");

  7. // fileName got updated but blob is truncated to 0 byte at database!
  8. session.saveOrUpdate(myEntity);
  9. transaction.commit();
  10. session.close();

MyEntity 有兩個 property,一是 fileName(varchar),二是 data(blob by oid)。上面的程式很簡單,(1) 開始 transaction ,(2) 讀出一筆 myEntity,(3) 裡面的 blob 讀出來變成 byte array (4) 修改檔名 (5) update myEntity 回資料庫 (6) transaction commit。可以預期的是,這一筆 myEntity 應該只會修改 fileName 欄位,其他欄位都不變... 呃,回頭查一下 db,發現 pg_largeobject 裡的資料長度竟然變成 0,資料無故被砍了!究其原因,應該是 hibernate 將 "讀到空的 binary inputStream" 也寫回 db 裡去了!真是個大 bug 地雷。貼到 hibernate 論譠但是沒人理... orz。所幸還是有暫時的解決方案,昨個參加 Javaworld TWJUG,Cyberjos兄建議替 mapping 加上 dynamic-update="true"

  1. <class name="MyEntity" table="my_entity"
  2. dynamic-update="true">

我試了結果果然可行。hibernate 產生的 update sql 就不再包含 oid 那個欄位了,因此也不會有讀過的資料被砍的問題。dynamic-update="true" 的功能是 update 時,只替 dirty 的欄位產生 set foo = ? ,所以能夠避免不必要的 update。

結語

我們的程式不採用 file system,而使用 lob 來儲存檔案有幾個原因:

  • Lob 支援 transaction,file based 的沒有。
  • 資料都統一放在 db 裡,簡化備份。
  • 檔案都不是很大

但是 jdbc/hibernate/blob/clob 卻讓我們開發過程中吃足了苦頭:oracle9i 時期的 jdbc driver 處理 lob 時會有 leak、而目前最新的 oracle jdbc driver 處理 clob 時,遇到長度為 1000~2000 byte 的檔案會出錯 ( <1000> 2000 時就沒問題.... 別問我為什麼)... blah blah。現在我們打算擺脫 oracle 了,想說 postgreSQL 應該就沒這些怪問題了,結果還是有一堆東西要調整... lob 真是讓人又愛又恨啊。


延伸閱讀(Link):
PostgreSQL 大型物件 BYTEA vs OID

2007-03-21

Oracle::PostgreSQL 表格空間(Tablespace)

更新:2007-03-21

對映章節:C19.06

內容:
在預設的情況下, Oracle 10g 會使用以下的表格空間

  1. SYSTEM : 存放資料字典
  2. SYSAUX : 存放統計和非必要在 SYSTEM 裡的資訊.
  3. Template : 暫存SQL運算.
  4. undo : 用來復舊用.
  5. User
PostgreSQL 在預設的情況下, 僅使用二個
  1. pg_global : 對映 Oracle 的三個預設集.
  2. pg_default : 樣本資料庫與其它新建 DB 的預設空間(template0 & tempplate1)
查看系統表 pg_tablespaces 可以了解目前的表格空間狀態.

Oracel & PostgreSQL 均使用 CREATE/DROP TABLESPACE

相關文章:
PostgreSQL 表格空間(Tablespace)功能與未來特點

2007-03-20

Oracle::PostgreSQL 從 PL/SQL 移植到 PL/pgSQL

更新:2007-03-21
對映章節:C37.11

內容:

本節解釋了 Oracle 的 PL/SQL 和 PostgreSQL 的 PL/pgSQL語言之間的差別, 希望能對那些從Oracle® 向 PostgreSQL 移植應用的人有所幫助。

PL/pgSQL與 PL/SQL 在許多方面都非常類似。 它是一種塊結構的,命令式的語言並且必須宣告所有變量。 賦值,循環,條件等都很類似。 在從 Oracle 向 PostgreSQL 移植的時候必須記住一些事情:

  • 在PostgreSQL中參數沒有預設值。

  • 你可以在PostgreSQL裡重載函數。 這個特性常用於繞開缺乏預設參數的問題。

  • You cannot use parameter names that are the same as columns that are referenced in the function. Oracle allows you to do this if you qualify the parameter name using function_name.parameter_name. In PL/pgSQL, you can instead avoid a conflict by qualifying the column or table name.
  • 在PL/pgSQL裡不需要游標(CURSOR), 只要把命令放在 FOR 語句裡就可以了

  • 在 PostgreSQL 裡,函數體必須寫成字串文本, 因此你需要使用美元符包圍或者逃逸函數體裡面的單引號。

  • 我們應該用模式把函數組織成不同的群組,而不是用 package。

  • 因為沒有 package,所以也沒有 package 級別的變量。這一點有時候挺討厭。 你可以在臨時表裡保存會話級別的狀態

更多參考資料:
EnterpriseDB 對 Oracle 遷移至 PostgreSQL 的支持(近乎80%的不需修改移植)

2007-03-17

PostgreSQL 整體擁有成本(TCO)

更新:2007-03-17
對映章節:

內容:
在 Microsoft SQL Server 2005 的網站
看到了這頁 => "比較資料庫" 或許可以提供您另類對 PostgreSQL 的評估
下面這張圖來自 Microsoft - 整體擁有成本(TCO)


問題來了...

  • 這張圖表示 MS SQL 2005 只有基本功能? 還是其它比不上 O & I ??
SQL 2005 也要 25K, 那您也許可以選擇
功能與 HA 架構雷同 Oracle 最頂級的 304K的產品,
但 TCO 卻可以近乎 0 K 的 PostgreSQL.

Oracle::PostgreSQL 伺服器基本架構

更新:2007-03-16

對映章節:

內容:
伺服器的 2 個實體(entity)

  1. Instance => Postmaster
  2. Database => Database
SGA (System Global Area)基本上差異不大, 同樣具有
  1. Shared pool
  2. Database buffer cache
  3. Log buffer
Process
  1. SMON => postgres a
  2. PMON => postgres b
  3. DBwn => postgres (not limit)
  4. LGWR => postgres c
  5. CKPT => postgres e

Oracle::PostgreSQL 叢集(Cluster)系統

更新:2007-03-17
對映章節:

內容:
PostgreSQL 提供的 Cluster 有多種不同目的功能可選用, 軟體取得成本等於零, 且不限制使用 CPU 數.

  1. Oracle : RAC(Real Application Cluster)
  2. PostgreSQL
    • pgCluster
    • Slony-I

2007-02-23

EnterpriseDB - 從 Oracle 遷移到 EnterpriseDB


EnterpriseDB 是多數將 PostgreSQL 商業化並提供技術服務的國際公司之一.
這篇是在這家公司網站上強調對 Oracle 客戶遷移到以 PostgreSQL 商品化的產品上.

原文在這:
http://www.enterprisedb.com/solutions/gotoracle.do

粗略翻譯如下文:



在 Oracle 的應用程序不需重構的在 EnterpriseDB 上運行 - 大約 80%


高額 Oracle 資料庫花費虹吸著您的資訊預算, 富挑戰性董事維護贏利仍然仍然資助創新為成長。

EnterpriseDB 為 Oracle 提供企業類選擇在費用的分數。我們的方法提供永久邊際改善, 授權您追求, 在一個高價資料庫環境裡, 簡單地不是可行的主動性。
儲款達到沒有衝擊對資料庫功能、可靠性、安全, 或表現。另外, 許多先進的特點, 包括資料加密, 是標準的與EnterpriseDB, 但是只可利用的在其它資料庫通過昂貴的添加模塊。

做開關由 Oracle 要求對現有的應用的一點點或沒有修改。使用我們的遷移工具箱, 過程經常被完成在分鐘。實際上, 我們的客戶報告, 超過 75% 他們的應用不是 100% 兼容, 要求對奔跑的變動在EnterpriseDB 。

一些EnterpriseDB 客戶選擇整個地替換 Oracle; 其他人使用我們的資料庫作為一個更加高效率的選擇為具體應用和報告。

開放來源儲款。企業類結果。

EnterpriseDB 先進的伺服器 根據 PostgreSQL, 世界的最先進的開放來源資料庫。PostgreSQL 被開發了和連續被改進了過去 20 年, 和由最大和受尊敬的開放來源社區的當中一個維護在世界上。

EnterpriseDB 以及表現改進 提高 PostgreSQL 以 24x7 用戶支持 貢獻回到社群。並且被提供生產力 和表現工具隨員, 包括我們的 遷移Toolset 容易地移動您的應用和資料。

直覺的工具箱容易地出口所有資料庫圖解資訊和程式邏輯- 並且資料- 從 Oracle 對 EnterpriseDB, 消滅對手工資料遷移的需要。

證明

  • 從 Oracle 在轉換只一些以後他們的應用, SONY Online 上娛樂年年 項目他們開發 所有新應用在EnterpriseDB 和繼續行動Oracle 的$1M 儲款- 一個原因。
  • "EnterpriseDB 的能力跑應用被寫為Oracle 是一個關鍵系數... EnterpriseDB 是非常有吸引力的被給我們的可靠性和可測量性要求。"
    -- Tim 史密斯, 網路總統, Vonage
  • "EnterpriseDB 的產品 品質就像 Oracle 的, 造成幾乎沒有停工期為再培訓資料庫管理員。"
    -- BusinessWeek

2007-02-22

從資料庫系統的選擇重點來談 PostgreSQL

(末寫完~本日放假@@)
我來大概加一加內容, 根據最下方轉述的文章提到的重點,
來對 PostgreSQL 加內容:

1、高可靠/穩定性(High-Availability)
PostgreSQL 在全球各地的政府/學術/商業環境中被持續的使用著.
且有多數公司將其 PostgreSQL 商業化成公司, 來提供支援例如 EnterpriseDB ..
透過 Slon-I 複寫叢集, WAL 預寫式日誌, pgCluster 叢集化系統...,
再利用異地備份的實作, 跟其它商業型產品比並不輸哦!!!

站內延伸閱讀: PostgreSQL 高可靠性與 WAL

2、可擴展(High-Scalability)

3、安全性(Security)

4、豐富的開發工具

5、服務質量



以下轉述"數據庫的選型原則"一篇
http://blog.csdn.net/lingli99/archive/2004/11/17/184469.aspx
對DBMS提出五個選型重點:

一、數據庫的選型原則
1、穩定可靠(High-Availability)
數據庫保存的是企業最重要的數據,是企業應用的核心, 穩定可靠的數據庫可以保證企業的應用常年運行,而不會因為數據庫的宕機而遭受損失。企業的信息化可以促進生產力,但如果選擇了不穩定產品,經常影響業務生 產的正常運營,則實際效果很可能是拖了企業的後退。無論是計劃中(數據庫維護等正常工作)還是意外的宕機都將給企業帶來巨大的損失,這意味著企業要減低收 入、要降低生產力、要丟失客戶、要在激烈的企業競爭中丟失信心。信息系統的穩定可靠是由多方面的因素構成的,包括網絡、主機、操作系統、數據庫以及應用軟 件等幾方面,這些因素互相之間又有一定的依賴關係,因此,在企業信息化的選型中要通盤考慮這些問題。在數據庫方面主要看數據庫要具備災難恢復、系統錯誤恢 復、人為操作錯誤恢復等功能,同時要儘量降低數據庫的計劃內維護宕機時間。
2、可擴展(High-Scalability)
企業的 應用是不斷深入和擴展的,數據量和單位時間的事務處理量都會逐漸增加。如果要求企業購置一套信息系統足以滿足未來若干年發展的需要顯然是不恰當的,因為這 實際意味著企業要多花很多錢而不能發揮信息設備的最大效能,造成資源的浪費。比較好的解決辦法就是企業先購置一套配置較低,功能適用的系統,當未來業務有 需要時可以方便的對系統進行擴展,使系統的處理能力逐步增加滿足業務處理的需求。落實到數據庫就是要選擇具有良好的伸縮性及靈活的配置功能的產品,無論是 主機系統的內存或硬盤方面的擴展還是集群系統的擴展,都能夠被數據庫利用,從而提高系統的處理能力。
3、安全性(Security)
數 據庫的安全性是指保護數據庫以防止不合法的使用造成的數據洩露、更改或破壞。安全性問題不是數據庫系統獨有的,所有計算機系統都有這個問題。只是在數據庫 系統中保存著大量重要的數據,而且為許多最終用戶共享使用,從而安全問題更為突出。系統安全保護措施是否有效是數據庫系統的重要指標之一。 數據庫的安全控制主要通過用戶標識與鑑別、存取控制、視圖機制、審計、數據加密等機制完成。
4、豐富的開發工具
無論是優秀的硬件平台還 是功能強大的數據庫管理系統,都不能直接解決最終用戶的應用問題,企業信息化的工作也要落實到開發或購買適合企業自身管理的應用軟件。目前流行的數據庫管 理系統大都遵循統一的接口標準,所以大部分的開發工具都可以面向多種數據庫的應用開發。當然,數據庫廠商通常都有自己的開發工具,例如SYBASE公司的 PowerBuilder,Oracle公司的Developer2000,以及Ms的VisualStudio。這些開發工具各有利弊,但無疑選擇和數 據庫同一個廠商的產品會更有利於應用軟件的開發以及將來得到統一的技術支持。
5、服務質量
在現今信息高度發達的競爭中,數據庫廠商 完全靠產品質量打動用戶的年代已不復存在,各數據庫產品在質量方面的差距逐漸縮小,而用戶選擇產品的一個重要因素就是定位在廠家的技術服務方面。因為在你 購買了數據庫系統之後,你面臨著複雜的軟件開發,數據庫的維護,數據庫產品的升級等等,你需要得到數據庫廠商的培訓,各種方式的技術支持(電話、用戶現 場)和諮詢。數據庫廠家的服務質量的好壞將直接影響到企業信息化建設的工作。

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)