Tag Archives: primary

InnoDB 對 Primary Key 的選擇

前幾天 Ant 在「淺入淺出 MySQL & PostgreSQL」剛好有提到,結果 Percona 這兩天也丟出了這個題目,不過這邊討論的是空間的問題:「Illustrating Primary Key models in InnoDB and their impact on disk usage」。 一樣的作法,Primary Key 的選擇有三種: INT + AUTO_INCREMENT BINARY(16) (Ordered UUID) CHAR(36) (Random UUID) 用的是 Jeremy Cole 的 space-lsn-age-illustrate 畫出 LSN 的值 (InnoDB … Continue reading

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

Amazon DynamoDB 筆記

Amazon DynamoDB 頁面上的介紹: Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. 資料型態的部份就跳過去了,這篇筆記的重點在於 index 的部份 (了解他如何 scale),尤其是對 RDBMS 有了解的人要如何從他所設計的架構理解 DynamoDB 的 index。 理論基礎是 Amazon 在 2007 年丟出的論文「Dynamo: … Continue reading

Posted in AWS, Cloud, Computer, Database, Murmuring, Network, Software | Tagged , , , , , , , , , , , , | 1 Comment

資料庫裡 Primary Key 的選擇...

Ingram Chen 寫的「Obvious Choice」這篇舉的例子剛好是在討論資料庫裡 Primary Key 的設計。 這個問題之前在 interview 的時候曾經拿出來問。問到資料庫相關的題目時,有些人在設計 schema 會多放一個 id 欄位,有些人則不會放。 有放 id 欄位的我就會問「為什麼要放」,沒有 id 欄位的我就會問「為什麼不這樣設計」。重點不在於哪個才是正確的,而是在於要能夠說明為何這樣選擇。 不過大多數人都是「看別都這樣做,所以我就這樣做」,可惜...

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

用 InnoDB 時關於 PRIMARY KEY 的建議

Percona 的「InnoDB scalability issues due to tables without primary keys」這篇文章在討論 InnoDB 在沒有 PRIMARY KEY 時的效能問題。 在討論效能問題前,應該先讀過 MySQL 官方文件裡提到 InnoDB index 架構的文章,其中就有提到 PRIMARY KEY 以及其他的 INDEX KEY 的底層架構:「InnoDB Table and Index Structures」。 InnoDB 是 clustered index 架構 (關於 clustered index 的完整說明,可以參考維基百科的「Database … Continue reading

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

把 MySQL MyISAM 換到 Galera Cluster 的 InnoDB 上...

在「Switching from MySQL/MyISAM to Galera Cluster」這邊看到一個 script 可以檢查 MySQL MyISAM 換到 InnoDB,而且預定要換成 Galera Cluster 時的問題。 常見的問題都有檢查到,還蠻有用的: 針對沒有 Primary Key 的表格提出警告,讓管理者規劃補上 Primary Key。 針對 MyISAM 換成 InnoDB 後造成 Primary Key 太長的表格提出警告,讓管理者想辦法修改。 Galera Cluster 無法處理沒有 Primary Key 表格的刪除動作:(可以參考「MariaDB Galera Cluster - Known … Continue reading

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

用 Percona XtraBackup 備份時用 compact 模式節省空間...

在「Feature preview: Compact backups in Percona XtraBackup」看到的,2.1 版會導入 compact backup 節省備份出來的空間 (目前是 2.0): As you may know InnoDB PK (Primary Key) contains all data, and all secondary indexes are only subset of columns of Primary Key. So in theory we … Continue reading

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