什么类型的数据库用于存储ML实验

时间:2016-12-29 13:37:32

标签: database experimental-design nosql

所以我想写一些小软件,在集群或任意抽象的执行器上运行/执行ML实验,然后保存它们,以便我可以实时高效地查看它们。执行程序软件将具有写入数据库的权限,并将实时推送指标。现在,我没有对数据库做太多工作,因此我不确定这是什么方法。以下是系统应存储内容的说明:

每个实验都包含一段代码/代码存档,以便可以在远程计算机上执行。现在我们假设在那里安装了allow dependencies等。代码将接受命令行参数。该实验还将包含定义命令行参数的YAML方案。在代码中,自己将指定将要登录的内容(例如,我将提供用于注册频道的语言库)。现在,在日志记录方面,您可以记录数值,数组,文本等等不同类型。每个通道将允许单个规范(例如,2列,第一次int迭代,第二次浮点错误)。该代码还将在实验结束时提供特殊的参数副本。

当提交实验时,需要提供其唯一的组名+参数以供执行。这将启动实验并记录所有内容。

对我来说,使用平面文件系统最容易实现。每个项目都有一个唯一的名称。每个新实验都会在项目中获得唯一的ID和文件夹。我可以在那里存储代码。每个通道都有一个文件,为简单起见,它可以是一个csv分隔符,有一个特殊的模式文件描述了存储在那里的值的类型,所以我可以在那里加载它们。最终参数也可以复制到文件夹中。

但是,由于我可以通过多种方式实现这一目标,而且这可能需要一个单独的表格。对于每个实验,我不知道这是否可以在任何数据库系统中使用?另外,也许我会监督一些非常明显或可能没有的事情,如果您有任何经验,欢迎任何建议/建议。最终的主要目标是能够将其提供给Web界面。也许noSQL可能不适应这种情况(我不确切知道它们是如何工作的)?

1 个答案:

答案 0 :(得分:0)

ML的数据主要是非结构化数据。这种数据自然不适合RDBMS。基本上像mongodb这样的文档数据库更适合这种情况。