简体   繁体   English

.NET的图形数据库,对我们的案例有帮助吗?

[英]Graph database for .NET, does it help our case?

Short description of our application: We analyze .NET assemblies and detect dependencies between them (eg method calls). 我们的应用程序的简短描述:我们分析.NET程序集并检测它们之间的依赖关系(例如方法调用)。 We save those dependencies in a MSSQL server database. 我们将那些依赖项保存在MSSQL服务器数据库中。 From a class/method in code we can now find all direct and indirect dependencies and are able to find out which code may break if we change the interface or implementation. 现在,从代码中的类/方法中,我们可以找到所有直接和间接依赖关系,并且能够找出如果更改接口或实现可能会破坏哪些代码。

Although we make good use of indices (dropped our import performance, but that runs overnight anyways) we still have performance issues. 尽管我们很好地利用了索引(降低了导入性能,但是无论如何都会运行一整夜),但仍然存在性能问题。 As we import many many versions of the same assembly we have quite a heavy amount of data and queries take a few seconds, which is just not fast enough (< 1.5s is the target). 当我们导入同一程序集的许多版本时,我们有大量的数据,查询需要几秒钟的时间,这还不够快(目标时间<1.5s)。

As dependencies are a graph-like structure we're wondering if switching from MSSQL to a NoSQL graph database may help. 由于依赖项是一种类似图的结构,我们想知道从MSSQL切换到NoSQL图数据库是否会有所帮助。 This would take some time so we're hoping for some external input first. 这将需要一些时间,因此我们希望首先获得一些外部输入。

If yes, you can of course also post a recommended .NET graph database :-) 如果是的话,你当然也可以发表建议的.NET图形数据库:-)

Call me an old fogey, but I would be quite careful making such a technology switch - as this SO question shows, the technology choice is fairly limited, and I think you run the risk of turning your project into a "Neo4J" project, rather than a "dependency management" project. 称我为老烟熏吧,但我会非常谨慎地进行这样的技术切换-正如此SO问题所显示的,技术选择相当有限,我认为您冒着将您的项目转变为“ Neo4J”项目的风险,而不是而不是“依赖管理”项目。 If you've really hit the buffers, that's worth considering, but it doesn't sound like you should be there with the data volumes you're discussing. 如果确实需要缓冲,那值得考虑,但是听起来好像不应该与正在讨论的数据量在一起。

The first thing I'd consider is looking at the "nested set" model - this specifically solves the performance problem when retrieving all children for a given node. 我要考虑的第一件事是查看“嵌套集”模型 -该模型专门解决了检索给定节点的所有子级时的性能问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果我们有数据库调用,异步处理是否真的有帮助? - Does Asynchronous processing actually help if in case we have database calls into it? C#ASP.NET,WebForms到MVC:在我们的案例中改变是否有意义? - C# ASP.NET, WebForms to MVC : Does it make sense to change in our case? 使用.net和SQL帮助返回数据库行 - help returning database rows using .net and SQL .Net中的异步Web请求是否有助于提高性能 - Does an asychronous web request in .Net help performance 如何确保我们的.NET Core API清理数据库连接? - How do I ensure our .NET Core APIs clean up database connections? EF 5迁移无法连接到我们的数据库,即使它在运行时运行良好 - EF 5 Migrations cannot connect to our database even though it does just fine at runtime 开关盒不触发C#ASP网络 - Switch case does not trigger c# asp net .NET 是否有忽略大小写的 IComparer 实现<string> ? - Does .NET have a case-ignoring implementation of IComparer<string>? .NET的Microsoft Graph SDK是否自动处理速率限制? - Does the Microsoft Graph SDK for .NET automatically handle rate limits? .Net SQL数据库无法识别模型变量 - .Net SQL database does not recognize model variables
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM