1)每种功能类型的单个XML文件,位于用户目录上: basicinfo.xml,comments.xml,photos.xml等 2)MySQL,尽管不确定如何组织。也许为每个功能分开表格?例如,一个评论表格,其中列是id,from,message,time?
我知道XML不是为存储而设计的,而且PHP(这是我使用的语言)必须在使用之前读取整个XML文件并将其存储在内存中。
但是,以下是我喜欢XML的原因(但如果您不同意任何内容,请告诉我):
1)如果我以这种方式组织用户帐户路径
我认为通过文件路径查找用户的评论比在大型数据库中查找要快。用户ID 2342:
/ users / 00/00/00/00/00/00/00/23/42 /
此外,如果每个功能在表格中拆分,则每个用户配置文件将多次查找以显示评论、照片、基本信息等。
2)我听说MySQL在写入时会全局锁定。这是真的吗?如果是,我宁愿锁定单个文件而不是所有文件。
3)MySQL是否在群集之间“共享”?我的意思是,如果1个磁盘已满,它会在另一个磁盘上“继续”吗?还是我作为程序员必须自己管理并在另一个磁盘上创建新数据库? (请注意,我使用Linux)
使用XML文件大致相同也可以,但是更容易在磁盘之间分割,因为结构按帐户ID而不是按特征拆分。
4)请注意,我不会在comments.xml上存储每个注释。我只在每个XML标记中记录它们的属性,并且消息在单独的文本文件commentid.txt中。由于每个XML都不应太大,因此不应该出现内存/时间问题。
至于解析整个XML的问题,也许我应该考虑使用XMLReader / Writer而不是SimpleXML / DOM?或者,它会大大降低性能?
谢谢!