我能不明白的地方的Facebook使用MySQL的真:圖表和Facebook中的MYSQL數據庫之間的區別?
所有的數據庫可以被看作是一個圖表:
Account - Like -> Comment
Account <- friend -> Account2
Account - Like -> Link
,什麼是存儲在MySQL?
帖子和筆記的文字?
在其圖形數據庫中有所有這些實體(帳戶,發佈,評論)嗎?
我能不明白的地方的Facebook使用MySQL的真:圖表和Facebook中的MYSQL數據庫之間的區別?
所有的數據庫可以被看作是一個圖表:
Account - Like -> Comment
Account <- friend -> Account2
Account - Like -> Link
,什麼是存儲在MySQL?
帖子和筆記的文字?
在其圖形數據庫中有所有這些實體(帳戶,發佈,評論)嗎?
嗯,我認爲你提到的一切都存儲在MySQL中。每一段數據如有更改,其中包括:
等
任何數據如有更改,需要用於索引和快速訪問保存在數據庫中。如果您想要寫入只有數據,例如日誌記錄,則Filesystem沒問題。或者如果您只需要一次訪問整個數據,而不是其中的一部分。
但是,如果您需要結構化數據並準備好快速訪問,那麼您需要使用數據庫。您可能想了解二叉樹:http://en.wikipedia.org/wiki/Binary_tree
關於Facebook:如果我必須猜測,我會說有可能有數百個數據庫。我沒有訪問他們的服務器,所以我不能評論這:)但作爲另一個例子,如果你安裝WordPress,那麼它會創建11個不同的表。 http://codex.wordpress.org/Database_Description
PS。儘管如此,facebook沒有理由使用MySQL。那裏有很多不同的數據庫。
編輯感謝您指出我誤解了您的問題。
讓我們這種情況:帳戶< - 朋友 - >帳戶2
正如之前所說,他們有像表「用戶」。
用戶表將具有列:
現在會有桌子「朋友」。這將有字段:
兩個領域PERSON1和PERSON2將在表 「用戶」 指向ID整數。
所以,如果表的用戶有三行:
ID Username
1 rodi
2 rauni
3 superman
然後表「朋友」將是例如:
ID Person1 Person2
1 1 2
2 2 1
3 1 3
4 3 1
這裏第1名的意思是「羅迪是朋友與rauni」和第2行意味着「rauni是rodi的朋友」。這是多餘的,但我想保持簡單的例子。
這裏是很好的教程:http://www.tizag.com/mysqlTutorial/mysqltables.php 有很多網頁那裏,只是繼續點擊下一步跳過你已經知道(我不知道有多少你已經知道)
這是關於兩個加盟信息表格:http://www.tizag.com/mysqlTutorial/mysqljoins.php
您可以使用它在一個查詢中從我們的兩個表中選擇所有rodi的朋友。
好的,但是,您將所有邊緣作爲「帳戶 - 喜歡 - >鏈接」或「帳戶<- friend ->帳戶2」存儲在哪裏? – rodi
這是一個很好的和詳細的解釋。如果我還沒有上傳你的原始答案,我會加倍努力,以便進行修改。那麼有人會給他另一個upvote? –
:D感謝支持:) –