php – 针对大型网站的XML与MySQL
对付一个很是大的网站,譬喻交际收集(好比Facebook),您会提议哪种要领用于存储用户帐户? 1)用户目次中每种成果的单个XML文件:basicinfo.xml,comments.xml,photos.xml,… 2)MySQL,固然不知道怎样组织这个.每个成果也许分隔的表格?譬喻.注释表,个中列是id,from,message,time? 我知道XML不是为存储而计划的,PHP(这是我行使的说话)必需读取整个XML文件并在行使之前存储在内存中. 可是,这就是我更喜好XML的缘故起因(但我也许错了,假如你差异意,请汇报我): 1)假如我以这种方法组织用户帐户的路径
我以为通过文件路径查找用户的注释比在大型数据库中查找更快. 2)我传闻MySQL在写上时被全局锁定.这是真的?假如是,我甘愿锁定单个文件而不是统统. 3)MySQL是否在聚集之间“共享”?我的意思是,假如1个磁盘已满,它会在另一个磁盘上“继承”吗?可能,作为措施员,我是否必需本身打点并在另一个磁盘上建设新数据库? (留意,我行使的是Linux) 4)请留意,我没有在comments.xml上存储每个注释.我只是在每个XML标志中记下它们的属性,而且动静在脱离的文本文件commentid.txt中.一旦每个XML不该该太大,就不该该有内存/时刻题目. 至于理会整个XML的题目,大概我应该思量行使XMLReader / Writer而不是SimpleXML / DOM?可能,它会低落机能吗? 感谢! 最佳谜底 Facebook uses MySQL.话虽云云.这是长版本: 我老是说XML是一种数据传输技能,而不是数据存储技能,但不是每小我私人都赞成. XML不是计划用于相关数据存储区.起首引入XML是为了提供一种从体系到体系传输数据的尺度要领,无需会见原始体系. 既然你在评论一个大型应用措施,我凶猛提议你行使MySQL(或其他RDBMS),跟着数据集的增添和增添,XML将越来越慢,除非你老是在内存中保存一个新的副本而且只读取处事重启时的XML文件. 据报道,当您常常将XML发送到数据库并从数据库中检索XML时,行使XML数据库在转换本钱方面更有用.来由是,当XML是用于收支数据库的独一传输语法时,为什么要通过一层SQL抽象和全部那些副黄?,外键等来挤压全部内容?它根基上从应用措施中取出一个理会层并将其带入数据引擎 – 它也许比SQL更换方案更快,更有用地事变.或许. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |