[英]What are the differences between a TABLE and a VIEW in a MySQL database?
[英]differences between graphs and MYSQL database in facebook?
我不明白facebook在哪里真正使用mysql:
所有数据库都可以看作是一个图形:
Account - Like -> Comment
Account <- friend -> Account2
Account - Like -> Link
以及MySQL中存储了什么?
帖子和注释的文字?
facebook在其图形数据库中是否具有所有这些实体(帐户,发布,评论)?
好吧,我假设您提到的所有内容都存储在MySQL中。 每条可能更改的数据,包括:
等等
任何可能更改的数据都需要保存在数据库中,以进行索引和快速访问。 如果您只想写入数据(例如日志记录),则文件系统很好。 或者,如果您只需要一次访问全部数据,而不必访问部分数据。
但是,如果您需要对数据进行结构化并准备好快速访问它们,则需要使用数据库。 您可能需要阅读有关二叉树的信息: http : //en.wikipedia.org/wiki/Binary_tree
关于Facebook:如果我不得不猜测,我会说可能还有数百个数据库。 我没有访问他们的服务器的权限,所以我不能对此发表评论:)但是,作为另一个示例,如果您安装WordPress,则它将创建11个不同的表。 http://codex.wordpress.org/Database_Description
PS。 不过,没有理由Facebook应该使用MySQL。 有很多不同的数据库。
编辑感谢您指出我误解了您的问题。
让我们以这种情况为例:帐户<-朋友->帐户2
如前所述,它们具有类似于“用户”的表。
用户表将具有以下列:
现在将有表“ Friends”。 它将具有以下字段:
字段Person1和Person2都是指向表“ users”中ID的整数。
因此,如果表用户具有三行:
ID Username
1 rodi
2 rauni
3 superman
然后,表“ Friends”将例如:
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的朋友。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.