Mysql 计划将SQL数据库导出到NoSQL以进行图形数据挖掘有意义吗?
计划将我的SQL数据库导出到图形数据库(如Neo4j)以生成关系的交互式图形(如)对我来说有意义吗 更新:或者进一步说,我是否应该转向图形数据库 我的图形数据库不需要是关系数据库的真实反映——每隔几天提取一次就足够了 在我的例子中,我目前有一个关系数据库(MySQL),我在其中记录在个人/仓库之间传递的库存项目。概念如下: 项目:Mysql 计划将SQL数据库导出到NoSQL以进行图形数据挖掘有意义吗?,mysql,neo4j,graph-databases,extraction,nosql,Mysql,Neo4j,Graph Databases,Extraction,Nosql,计划将我的SQL数据库导出到图形数据库(如Neo4j)以生成关系的交互式图形(如)对我来说有意义吗 更新:或者进一步说,我是否应该转向图形数据库 我的图形数据库不需要是关系数据库的真实反映——每隔几天提取一次就足够了 在我的例子中,我目前有一个关系数据库(MySQL),我在其中记录在个人/仓库之间传递的库存项目。概念如下: 项目: STOCKID DISPATCHDATE 0001 2014-01-01 0002 2015-06-03 USERID FIRSTNAME 0001
STOCKID DISPATCHDATE
0001 2014-01-01
0002 2015-06-03
USERID FIRSTNAME
0001 Tom
0002 Jones
DEPOTID ZIPCODE
0001 50421
0002 71028
STOCK_ID USER_ID RECEIVED DISPATCHED
0001 0001 2015-05-01 2015-05-10
0001 0002 2015-05-11 2015-05-20
个人:
STOCKID DISPATCHDATE
0001 2014-01-01
0002 2015-06-03
USERID FIRSTNAME
0001 Tom
0002 Jones
DEPOTID ZIPCODE
0001 50421
0002 71028
STOCK_ID USER_ID RECEIVED DISPATCHED
0001 0001 2015-05-01 2015-05-10
0001 0002 2015-05-11 2015-05-20
仓库:
STOCKID DISPATCHDATE
0001 2014-01-01
0002 2015-06-03
USERID FIRSTNAME
0001 Tom
0002 Jones
DEPOTID ZIPCODE
0001 50421
0002 71028
STOCK_ID USER_ID RECEIVED DISPATCHED
0001 0001 2015-05-01 2015-05-10
0001 0002 2015-05-11 2015-05-20
所有者:
STOCKID DISPATCHDATE
0001 2014-01-01
0002 2015-06-03
USERID FIRSTNAME
0001 Tom
0002 Jones
DEPOTID ZIPCODE
0001 50421
0002 71028
STOCK_ID USER_ID RECEIVED DISPATCHED
0001 0001 2015-05-01 2015-05-10
0001 0002 2015-05-11 2015-05-20
从NoSQL数据库中,我希望能够直观地看到以下内容:
- 项目经过的人员流(以及每个关系的日期)
- 哪些项目位于每个单独/仓库(在给定日期)
- 哪些人在哪个仓库(在给定日期)
我曾参与过一个类似的项目,我们使用松散同步的事务将MySql与键值nosql数据库(缓存昂贵的查询)同步。我们编写了一个定制的
事务
包装器,其中包含一个并发的副作用队列(即对键值数据库所做的更改);如果MySql事务成功,那么我们将队列中的所有副作用提交给键值数据库(在暂时性网络故障的情况下进行三次重试,之后我们记录错误,使键值数据库条目无效,这将导致MySql的回退,并通知数据库管理员-有一次键值数据库长时间崩溃,并通过运行批同步来解决),否则我们会放弃它们。我认为在开始迁移之前,有一些问题值得问你自己:
- 我可以在不迁移/添加新数据源(使用MySQL)的情况下进行图形表示吗
- 当使用这种图形界面时,我需要多大程度的效率
- 在这种情况下,添加新数据源有多容易