[Day2] 讀 RDBMS 課程 2019 - Misconceptions about RDBMS
By Triton Ho
At Lesson 0: Page 28 - End
Notes
- NoSQL 正是發明來解決像 facebook 這種巨型系統的東西
- Line 是用 HBase (2019)
- 在中小型資料庫/只面對地區性用戶的系統, RDBMS 的可信度遠大於 NoSQL
- 用 rabbitMQ 來做 IPC (inter process channel)
Misconceptions about RDBMS
- 24x7 是指沒有計劃外的 downtime ,不是沒有 downtime
- RDBMS 也能 flexible schema
- 但是中小型 DB (eg. 總數據量 <100GB) 不應該使用之
- RDBMS 可能比 NoSQL 「慢」,但是他卻多做了很多事
- Support multi-row, multi-statement atomicity
- Database 存放 log
- 小型系統使用 txt 檔案取代之
- 大型系統使用 logging software (eg. Amazon Kinesis)
ORM
- 在一般 OLTP 系統 (Online Transaction Processing),有不少的場合都是讀取/建立/改動/刪除單一的物件 (Object)
- 良好的 DB Design,大部分的 Model Class 都是對應單一的 table
- 若好好設定 table 對應的 class 、 class 的 attribute 對應的 column 、 class 的 primary key 等, ORM 能自動產生出 select/insert/update/delete 的 SQL => 加速開發時間,減少人為出錯
- 善用切碎 statement 來達到目的