所以我已经有了超过1.5TB的数据,据我所知,这些数据来自排序的关系数据库。不幸的是,在这一行的任何地方,关系数据库关系的所有东西都被剥离了,剩下的几乎是50个.csv文件,每个文件对应于数据库中的一个表。没有模式,没有笔记,只有一个有用的文档。使问题复杂化的是,我们无法访问维护数据库的人员,也无法访问CX_CUST_O中的X_ATTRIB_14。如何从.csv文件重新构建关系数据库?
我们有一个文件,列出每个属性的名称和数据类型,这涵盖了所有的表格,所以我们至少知道属性是什么。它看起来像
TABLE_NAME
ROW_ID ..................... VARCHAR2(32)
CREATED ...... .............. VARCHAR2(16)
LAST_MODIFIED ......... DATE
等等等等等等
的数据是很零散,许多属性中没有列出任何字段的数据,以及大量无用的名称就像ATTRIB_3一样。每个表都有一个ROW_ID,CREATED和CREATED_BY以及一个CONFLICT_ID。然后,有数据字段,这些数据字段通常是不规则的,只能部分填充,并有大量空值。
到目前为止,我已经通过消除没有值的属性并检查是否有简单的命名约定来给我们一个提示做了一些基本的预处理 - 例如,如果TABLE_A中的X_ATTRIB_3与TABLE_B中的X_ATTRIB_3,看起来唯一常见的属性是那些不重要的属性 - 例如,LONGITUDE在几个表中是常见的,但这不可能有所帮助。我不确定如何继续;数据的庞大规模使得不可能手工查看所有内容。
是否有任何工具或技术可以帮助重建表格之间的关系,或者是否足够少以至于我们不得不从头开始?
谢谢你的时间。
我们需要一个像这样的问题的新网站:http://realworld.stackexchange.com – Dave
这可能没有什么帮助,但是您是否考虑抛弃关系部分并将每个表的每一行转储到Mongo/some-other -document-DB? – jcollum
我并不完全确定基于文档的数据库如何改善问题,但这更多的是来自无知。浏览他们的网站并不能真正让我开悟 - 数据仍然会以关系的方式进行设计。你能向我解释为什么它会有帮助吗?(< - 是非常无知的;在这个项目之前并没有真正与数据库一起工作) – Shiro