MySQL 在 NetBSD 上的效率 這篇提到的效率差別已經確認是 FreeBSD 7-CURRENT 的 malloc()
debugging code 所造成,拿掉以後就接近了:Re: Thread benchmarks - FreeBSD corrections。
這兩張圖分別是 FreeBSD/NetBSD 的 SCHED_4BSD 與 SCHED_ULE/SCHED_MSVR 效率差異:
幹壞事是進步最大的原動力
MySQL 在 NetBSD 上的效率 這篇提到的效率差別已經確認是 FreeBSD 7-CURRENT 的 malloc()
debugging code 所造成,拿掉以後就接近了:Re: Thread benchmarks - FreeBSD corrections。
這兩張圖分別是 FreeBSD/NetBSD 的 SCHED_4BSD 與 SCHED_ULE/SCHED_MSVR 效率差異:
MySQL InnoDB 的 auto-increment 會造成 INSERT 時使用 table-level lock 的 bug 終於修正 (從 2006 年一月就進 MySQL 回報系統的 bug),下個 5.1 的版本 (預定是 5.1.22) 就會包括在裡面:InnoDB auto-inc scalability fixed。
這個 bug fix 目前介紹了新的變數:innodb_autoinc_lock_mode
,目前有三個數值可以用:
無論無何,這是一個重大修正,在大量 INSERT 卻不能 bulk 時會造成的問題終於解決了。雖然最近我都用 PostgreSQL 開發... XD
在依林姊姊的 del.icio.us 上看到這個用 JavaScript 做出來的介面,拿來畫 SQL 關係圖還不錯:WWW SQL Designer。
要注意的是他產生出來的 SQL 指令並沒有把 FK 放進去 (至少 MySQL 與 PostgreSQL 都是),所以畫完後要自己轉成 SQL CREATE TABLE 的指令。雖然如此,但對於拿來釐清一些複雜的架構還不錯...
在 Matthew Mullenweg 的 Blog 看到 WordPress.com 所使用的 MySQL Database Partition 及 Replication 程式碼 (在 app 層實做):Announcing HyperDB。
程式碼不長,在 http://svn.wp-plugins.org/hyperdb/trunk/ 可以看到他把許多 function 包成一個 class,另外有剛成立的 mailing list 可以參與討論。
不過切 Server Farm 之後要做一些比較特別的 JOIN 就沒辦法做了。另外 Blog 本身也比較單純,可以透過 BlogId 切 Server Farm。
先前 Google 放出 MySQL 4.0.x 的 patch,並且放出會做 5.0 patch 的消息,本來以回要等上一陣子的,結果剛剛在 Semi-sync replication for MySQL 5.0.37 這裡看到 semisync replication 的 patch 已經在 trunk/ 裡面的消息了,這個 patch 目前指支援 InnoDB,不過據他的說法,應該蠻容易 porting 到別的 storage 上:mysql-5.0.37_semisync.patch。
另外在 Wiki 上也註明了:SemiSyncReplication。
PS:不知道前陣子 Google 幹的事情的人,請參考 mclee 寫的兩個 MySQL 的舊「新」聞。
PrimeBase XT 是 MySQL 上的另外一個支援 Transaction 的 Storage Engine。
MySQL Performance Blog 上對 PrimeBase XT Storage Engine for MySQL 進行了一番測試,主要的比較對象是 InnoDB。
除了 SELECT BETWEEN 的部份有些問題 (看起來是 lock 的問題,只能用到一顆 CPU 的資源) 而輸了不少外,其他的部份看起來都不錯。整體看起來比 InnoDB 好,不過並沒有好到有強烈的慾望換掉 :o
在 Oracle 買下 Sleepycat 與 InnoDB 後,不知道會不會又出手買這些公司 XD (如果真的這樣做,陰謀好像很明顯...)
剛好在 MySQL 5.1 版的 Unicode Character Sets 這章翻到這兩者的不同。
我想我應該會用 utf8_general_ci 吧...
前幾天提到的 MySQL 在 FreeBSD 與 Linux 上的效率 有比較完整的 benchmark 以及資訊了,下面這張圖 (點進去後找大圖看比較清楚) 有 2.6.{18,19,20.1} 這三個版本的 testing,同時也確定是使用 MySQL 5.0.33 (with MyISAM) 測試。
更完整的說明參考 Exciting new data from the sysbench comp 這篇。