Category Archives: Database

WordPress 3.1 將不考慮 PHP 4 與 MySQL 4

WordPress 宣佈從 3.1 版開始將不再支援 PHP 4 與 MySQL 4:「PHP 4 and MySQL 4 End of Life Announcement」。 PHP 4 與 MySQL 4 官方都已經停止支援很久了,WordPress 總算是想起來了? 另外,在 WordPress 3.2 版後 (預定在 2011 年的上半年發行),對 PHP 的最低需求會再提高到 5.2 版,這是因為目前使用非 5.2 以上的數量只有 ~11%,所以他們希望半年後可以再把需求更新…

Posted in Blog, CMS, Computer, Database, Murmuring, MySQL, Network, Software, WWW | Tagged , , , | Leave a comment

Amazon S3 的分級儲存以及 RDS 跨區 Replication

Amazon Web Services 上星期公佈了 S3 不同等級的服務:「Announcing Amazon S3 Reduced Redundancy Storage」。 先前 S3 的系統是設計成一年內有 99.999999999% (1-10-11) Durability,這是靠比較高的 replication 數量,以及將資料放在不同機房。而 RRS (Reduced Redundancy Storage) 則是放在單一機房內,replication 數量也比標準的 S3 少,所以成本會比較低,但資料的可靠度也會比較低,只有 99.99% (1-10-4)。 這個新的設計對於比較不重要的資料 (尤其是可以從原始資料再運算得到的,像是縮圖) 可以考慮丟到 RRS。在前 50TB 的部份是標準儲存 2/3 的價錢。 另外 RDS 的部份則是支援跨區 … Continue reading

Posted in AWS, Cloud, Computer, Database, Murmuring, MySQL, Network, Software | Leave a comment

Amazon SimpleDB 支援不同程度的 Consistency

在 Amazon CTO Werner Vogels 的 blog 上提到了 AWS SimpleDB 支援不同程度的 consistency:「Choosing Consistency」,在 James Hamilton 也對這件事情發表正面的意見:「I love eventual consistency but…」。正式的技術文件在「Amazon SimpleDB Consistency Enhancements」這邊可以查到。 Eventual consistency 以 CAP theorem 中的 Consistency 妥協,試著解決 scale 問題,但缺點是 stale read (可能會讀到舊資料),對要求比較嚴謹的子系統 (像是遊戲內的各種點數,身上帶的金幣之類的) 會很麻煩,而對於要求更嚴謹的系統 (像是商品搶購時的「剩餘數量」) 幾乎無法直接使用。 … Continue reading

Posted in Computer, Database, Murmuring, Network, Programming, Software | 3 Comments

歐盟批准 Oracle-Sun 併購案

在 TechCrunch 看到歐盟批准 Oracle 與 Sun 的併購案了:「EU Approves $7.4 Billion Deal Between Oracle And Sun」。 對於 MySQL,歐盟同意 Oracle 所辯稱的「Oracle 與 MySQL 的主要客群不重疊」這個說法。不過幾乎所有人都悲觀面對這個事實… 現在就要看誰要帶頭 fork 出來開公司了。AskMonty 所發展的 MariaDB 可能是一組人馬,不過 Percona 所發展的 XtraDB 也有可能是另外一組人馬。 應該會混亂一陣子,同時看 Oracle/Sun 在合併案定案後的反應。 歐盟的正式公告可以在網站上查到:「Mergers: Commission clears Oracle’s proposed … Continue reading

Posted in Computer, Database, Financial, Murmuring, MySQL, Political, Software | Leave a comment

xtrabackup 1.0 釋出

XtraBackup 釋出 1.0 版,第一個支援 Win32 平台的版本:「xtrabackup-1.0」。 不過想了一下,實際用的機會不多,因為現在跑的備份機制是在沒有 xtrabackup 就已經弄起來的方法:利用 slave 與 snapshot 保留資料,需要的機器數量比較多,不過是個還算成熟的方法… 之前寫過「XtraBackup:線上備份 InnoDB 的好東西」與「用 XtraBackup 產生 slave」兩篇文章,需要的人可以看看,當資料量比較小 (startup 初期) 的弄法。

Posted in Computer, Database, Murmuring, MySQL, Software | 2 Comments

無論如何都應該修改的 MySQL 預設值

Jeremy Zawodny 寫了一篇「Fixing Poor MySQL Default Configuration Values」提到 MySQL 有不少非常有問題的預設值,在安裝後無論如何都應該修改。他在文章裡拉出了四個惱人的設定值… 首先是 max_connect_errors,當某一個 host 送了過多的錯誤 query 時就會擋掉這個 host 的權限。這個設定無論是在共用或是獨立的環境裡,這個值的用途都非常奇怪:在共用的環境下,我可以利用這個功能惡搞其他人,把與自己同一台 web 的站台搞爛。在獨立的環境下,擋掉自己做什麼? 第三個的 skip-name-resolve 也是一個很詭異的選項,每個連線進來就跑一次 DNS 反解?MySQL 又不是 Internet 服務… 既然 Jeremy Zawodny 提了,這陣子應該有機會改…

Posted in Computer, Database, Murmuring, MySQL, Network, Software | 4 Comments

InnoDB 將修正 Table Scan 導致的效率低落問題

在 Mark Callaghan 的 blog 上看到的好消息,新版的 InnoDB 將不會因為 table scan 而導致整個 buffer pool 被清空了:「InnoDB plugin gets better again」。 依照「InnoDB buffer pool can be severely affected by table scans」,增加了 innodb_old_blocks_pct 與 innodb_old_blocks_time,利用一些設定避免 buffer pool 被大量清空。這個方法不是很完美,但應該是堪用的,在 5.1.41 的 InnoDB Plugin 應該就會看到。

Posted in Computer, Database, Murmuring, MySQL, Software | Leave a comment

MySQL 上大量刪除的技巧

在「大表删除数据的思路」這篇提到 MySQL 刪除的技巧。 MySQL 的刪除不建議直接刪,也就是像這種 query 應該要避免: DELETE FROM `table` WHERE `lastupdated_at` < 1234567890 因為在巨大的 table 裡面,這類的 query 可能會跑幾分鐘。 一般建議多幾筆 query 刪除: DELETE FROM `table` WHERE `lastupdated_at` < 1234567890 ORDER BY `id` LIMIT 0, 10000 跑到適當地條件成立時為止。 會需要這樣設計,其中一個主要的原因是因為 MySQL 的 replication … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | 1 Comment

MariaDB 5.1 Beta 版釋出

MariaDB 是 MySQL AB 的創辦人之一,Michael Widenius (也就是 Monty),在離開 Sun Microsystem 之後,以 MySQL 為基礎所發展的一套資料庫。 剛剛看到 MariaDB 5.1 Beta 版包出來了:「MariaDB 5.1 Beta Released」,與 MySQL 5.1 的差異可以參考「MariaDB versus MySQL」這個網頁的說明。 主要的差異在於內建了 Maria 與 PBXT 兩個 engine,其他的都是細節部份,大家都會 porting 來 porting 去。在「How does Maria 1.5 Compare … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Leave a comment

Galera

在 MySQL Performance Blog 看到「State of the art: Galera – synchronous replication for InnoDB」這篇文章,介紹 codership 的 Galera,一套在 MySQL InnoDB 上面實做 Multi-master 且 synchronous replication 的系統。 因為是 synchronous replication,所以可以看出著重在資料正確性,以架構看起來沒辦法 scale 到很大的系統,但對於量不會太大的資料 (像是購買交易資料) 不是問題。 目前看這套的賣點是在把 synchronous replication patch 放入 MySQL,這是其他的 MySQL distribution … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software | Leave a comment