推薦人與 Nested model set

推薦人機制相信大家都不陌生,多多少少都有遇過,有些網站可能在註冊會員時會有一欄可以填寫推薦人,概念大致上如下: User A 首先加入,他覺得這個服務很棒於是推薦給 User B 和 User C, User B 也感受到了服務帶給他的便利,於是推薦給 User D 和 User E,這跟老鼠會有 87% 像。 今天在吃水餃看新聞的時候,推薦人機制從我腦中呼嘯而過,就邊吃水餃邊想,如果是我,我要怎麼設計出一個有推薦人機制的會員系統?一開始想說用個 mapping table 就可以了事,但仔細一想,這樣 query 會寫不完呀! 畢竟是老鼠會推薦人機制,你會想要知道因為 User A 而進來的會員究竟有哪些人,以上面的例子來講就是 User B User C / \ User D…

如何架設 MySQL Cluster

MySQL Cluster提供無共享(shared-nothing)的叢集以及自動分片(auto-sharding)的功能,並且具備 High Availability 以及 Scalability 的特點。 *什麼是 shared-nothing?這是一種架構,在此架構下,每個節點都有自己的 CPU 、記憶體、空間,而跨節點之間的數據往來通常透過網路來完成。 以下使用 VM(Ubuntu) 來操作。要架設功能完整的 MySQL Cluster 至少需要 3 台 VM,一台 Management Node 以及兩台 Data Node 。 Management Node 的存在可以避免 Split-Brain 的情況發生,而兩台 Data Node 是為了 Availability ,MySQL Cluster…