mysql—存储大型科学数据集的最佳数据库使用

shstlldc  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(393)

在我的主要角色中,我处理实验室测试数据文件,对于每个独特的测试条件,这些文件可以包含超过2000个参数。这些文件通常作为csv格式的文件存储和处理,但当处理6000多个文件(每个文件有100多行)时,这将变得非常不方便。
我正在努力开发一个未来的数据库存储和查询解决方案,以提高访问和效率,但mysql的行长度限制(特别是RHEL7.5上的Mariadb5.5.60)阻碍了我的工作。我使用的是myisam而不是innodb,这使得我可以获得大约1800个主要是双格式的数据字段。这个版本的mariadb强制对动态列进行编号,而不是命名,由于管理策略,我目前无法升级到mariadb 10+。
我应该看看这个应用程序的nosql数据库,还是有更好的方法来处理这些数据?其他人如何处理许多可变数据集,尤其是数字数据?
有关我尝试导入的csv文件的示例,请参见下面的。我使用的标识符是test、run和tp的合并,形成一个12位无符号bigint键。
示例文件:run,tp,test,angle,speed,。。。1.000000e+00,1.000000e+00,5.480000 E+03,1.234567e+01,6.345678e+04,。。。
示例键:54800001001<--测试=5480,运行=1,tp=1
我很感激你的意见。

piv4azn7

piv4azn71#

复杂性来自于您必须处理大量数据的事实,而不是因为这些数据被拆分到许多具有许多行的文件中。
使用数据库存储和查询系统表面上会隐藏一些复杂性,但在其他几个层次上会牺牲复杂性,正如您已经经历过的,包括无法控制的障碍,如更改版本和保守的管理员。数据库存储和查询系统是为其他应用场景而设计的,这些场景具有与您的案例不相关的优势。
你应该认真考虑把你的数据留在文件里,也就是说,把你的文件系统当作你的数据库存储系统。可能的话,将csv输入转录成一种现代的自文档数据格式,比如yaml或hdf5。对于查询,最好编写直接访问这些文件的脚本或程序,而不是编写sql查询。

相关问题