php - 我如何使用 MySQL 和整个 LAMP 处理每天 5M 事务?

标签 php mysql

嗯,也许 5M 并不算多,但它需要接收基于以下 schema 的 XML http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv3.xsd 因此我需要保存每行的几乎所有信息。现在,根据法律,我们需要保存信息很长时间,最终这个数据库将变得非常非常大。

也许每天创建一个表?类似于 _invoices_16_07_2012。

好吧,我迷路了..我不知道该怎么做,但我知道这是可能的。

最重要的是,我需要根据每个 XML 创建一个 PDF 和另外 2 个文件,并将它们保存为 HD 格式。 您应该能够使用网站快速检索文件。

最佳答案

将大量数据放入一行的一个字段中(不确定这是否是您正在考虑做的事情)。

编写一个脚本来解析 xml 对象,并将 xml 中的每个值保存在单独的字段中或以对您有意义的方式保存(因此您必须创建一个包含所有适当字段的表)。您应该能够将数据作为每个 xml 工作表的一行输入。

您还需要对数据库进行分片并将其分布在服务器集群的许多表上。 MySQL 确实支持这一点,但我之前只是增强了自己的分片机制。

不要为每个 XML 工作表创建一个表,因为这太过分了。

现在,为什么需要 mysql 呢?您是否正在查询 XML 中的数据?如果您只是出于存档目的存储这些数据,则不需要 mysql,而是可以将文件压缩到(例如)tarball 中并将它们直接存储在磁盘上。您的网站可以通过这种方式轻松获取文件。

如果您确实需要一个大数据存储来处理 500 万个事务以及您所说的那么多数据,那么您可能还需要研究 Hadoop 之类的东西并将数据存储在分布式文件系统中。如果您想更轻松地查询数据,请考虑可以在 Hadoop 之上运行的 HBase。

希望这有帮助。

关于php - 我如何使用 MySQL 和整个 LAMP 处理每天 5M 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532776/

相关文章:

php - Docker 和 XDebug 不读取断点 VSCode

php - 避免其他用户,除了属性(property)所有者访问laravel中的某些特定URL

php - 在 Symfony2 中显示目录太慢

php - 如何从 Doctrine2 实体填充 zend_form?

php - mysql 请求没有返回想要的内容

php - 获取一列中相同日期的数据另一列中的另一个日期数据

php - 在使用 CQRS 的情况下从另一个命令调用一个命令

mysql - 在 mysql 中的一个小表和一个非常大的表之间进行左连接

php - mysql查询以在接下来的2个月内获得结果

php - ARC2(PHP 语义网库)错误地将 UTF-8 文件双重转换为 UTF-8