作为一个更大项目的一部分,我正在构建一个分析业务数据的报告应用程序。其目的是拥有默认数据集,并允许用户上传自己的数据集。
我是用PHP构建的,但是我不确定最好的数据库是什么。MySQL很棒,通常是我的第一选择,但这是一个应用程序,它并不真正需要用于数据集的关系数据库。数据集可以是数千列和数百万行。将其应用于MySql是一个相当大的挑战。
我见过HDF5,它看起来是一个很好的数据库,尽管从web应用程序的角度来看并没有得到很好的支持。
对于一个可以存储如此大数据集的数据库,你有其他建议吗?
p.S-我应该澄清标题的原因。。。。我需要能够允许用户上传数据集。MySQL的唯一方法是允许每次用户上传数据集时创建一个表。听起来不太好。
您应该研究NoSQL数据库。这听起来像你在找的。使用NoSQL,您不必创建数据库,而是存储内容,并且仍然能够快速搜索数据。
如果我理解正确,您需要创建一个子表(或类似的东西)并将自定义字段存储在其中:
表名:custom_fields
+---------+----------------+----------+
| user_id | field name | value |
+---------+----------------+----------+
| 10 | favorite_sport | hockey |
| 10 | favorite_food | hot-dogs |
| 20 | sisters_name | Ashley |
+---------+----------------+----------+
在这之后,只需将数据连接在一起,并显示您需要的内容。