Tag Archives: mysql

Galera Cluster 不必要的 SST 行為的改善

Percona 的人解釋了 Galera Cluster 為什麼在某些情況下會需要 SST (整份重傳) 而不是 IST (傳最後造成差異的部分),以及開發商在 3.19 版對應的改進:「Galera Cache (gcache) is finally recoverable on restart」。 原因在於 IST 所需要的記錄會在重開機時消失,所以當其他節點加入時沒辦法給,只好給 SST: The DONOR node caches missing write-sets in Galera cache, but on restart this cache is wiped clean … Continue reading

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

InnoDB 的 buffer pool preload 功能

Percona 的人討論了 InnoDB 提供的 buffer pool preload 功能:「Using the InnoDB Buffer Pool Pre-Load Feature in MySQL 5.7」。 就如同他所講的,因為硬體設備的進步 (主要是 SSD 的興起),而導致 preload 的需求已經沒以前重要了: Frankly, time has reduced the need for this feature. Five years ago, we would typically store databases … Continue reading

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

MyRocks 與 InnoDB 對於不同硬碟效能的差異

在「MyRocks: use less IO on writes to have more IO for reads」這邊有提到當使用 Disk Array、Slow SSD 與 Fast SSD 時效能 MyRocks 與 InnoDB 的效能差異。 可以看到當 I/O 層能提供的 IOPS capacity 愈高,MyRocks 與 InnoDB 之間的差異就愈低... 換句話說,RocksDB 對 IOPS 比較有效率的應用,這點在「Why is MyRocks more write-efficient … Continue reading

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

InnoDB 的 Isolation Level 以及 Performance Schema 對效能的影響

雖然 Mark Callaghan 現在的主力都在 MyRocks 上,但他還是對 InnoDB 上的效能頗關注 (畢竟是個成熟而且競爭的產品)。而這篇「Sysbench, InnoDB, transaction isolation and the performance schema」講到 MySQL 5.6.26 裡的 InnoDB,了解 isolation level 與 performance schema 對效能的差異。結果可以在這邊翻到。 關掉 performance schema 會讓效能變好是預期的,不過看起來比預期小很多。另外某些情況下 RR (REPEATABLE-READ) 的效能會比 RC (READ-COMMITTED) 好倒是頗意外,這邊也有給出原因: Using repeatable-read boosts performance … Continue reading

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

Amazon Aurora 支援 t2.medium...

Amazon Aurora 宣佈支援 t2.medium:「Use Amazon Aurora for Dev & Test Workloads with new T2.Medium DB Instance Class」。 雖然官方的文章標題是寫提供給 dev & test 情境下使用,但其實對於某些 production 應該也不錯: The db.t2.medium should be a great fit for many of your development and test scenarios, and … Continue reading

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

關閉 MySQL 的 Query Cache

MySQL 的 Query Cache 是目前已知效能不好的主要因素之一 (global mutex lock 的緣故),在正式環境裡的 best practice 一般都是關閉,之前測過也是一開下去效能就會狂掉... 而 Percona 的人在討論要怎麼樣才能完全關閉 MySQL 的 Query Cache:「Is Your Query Cache Really Disabled?」,而他們發現只有在 query_cache_type 與 query_cache_size 都設為 0,而且重開 MySQL 才能完全避免 global mutex lock: [W]e can see it is not … Continue reading

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

Facebook 備份 MySQL 資料並且確認正確性的方法

Facebook 再多花了一些篇幅數對於 MySQL 資料備份以及確認正確性的方法:「Continuous MySQL backup validation: Restoring backups」。 首先是 Continuous Restore Tier (CRT) 這塊,可以看到他們在這塊很仰賴 HDFS 當作備份的第一層基地,包括了 Full logical backups (用 mysqldump)、Differential (diff) backups 以及 Binary log (binlog) backups (stream 進 HDFS)。 另外上了 GTID,對於後續的處理會比較方便: All of our database servers also … Continue reading

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

Percona 宣佈支援 MyRocks (MySQL 上的 RocksDB engine)

RocksDB 是 Facebook 從 Google 放出的 LevelDB 改出來,然後被更多人接受並且投注資源的 library... (看兩邊的 GitHub 應該就會有感覺了) 而 Facebook 的人在改進後又花了不少力氣 porting 到 MySQL 上... 之前 Twitter 上就有看到不少消息,這次算是在 Percona 官方的 blog 上正式公佈要支援 MyRocks 的消息:「Announcing MyRocks in Percona Server for MySQL」。 依照目前的計畫次在明年 2017 的 Q1 放出 experimental … Continue reading

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

Pinterest 在 InnoDB Compression 的努力

Pinterest 用 InnoDB 儲存各式資料,而且使用了 InnoDB Compression 的功能。他們花了不少力氣跟 Percona 合作改善 InnoDB Compression 的效能:「Evolving MySQL Compression - Part 1」。 文章有點長度,重點在於他們在 MySQL 裡面放了大量的 JSON: A Pin is stored as a 1.2 KB JSON blob in sharded MySQL databases. 他們發現新版 zlib 的 predefined dictionary … Continue reading

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

MySQL 8.0 將會實作「真正的」Descending Indexes

在「MySQL 8.0 Labs – Descending Indexes in MySQL」這邊看到 MySQL 打算在 8.0 時實作出真正的 Descending Indexes。在 5.7 以及之前的版本,可以從「14.1.14 CREATE INDEX Syntax」看到這個參數是~假~的~XDDD An index_col_name specification can end with ASC or DESC. These keywords are permitted for future extensions for specifying ascending or descending … Continue reading

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