0

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

也许每天创建一张桌子?类似_invoices_16_07_2012。

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

最重要的是,我需要基于每个 XML 创建一个 PDF 和另外 2 个文件,并将它们保持在 HD 上。您应该能够使用网站快速检索您的文件。

4

1 回答 1

3

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

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

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

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

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

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

希望这可以帮助。

于 2012-07-18T00:46:26.227 回答