Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于分析和映射/减少的数据库_C#_Mapreduce_Analytics_Document Based Database - Fatal编程技术网

C# 用于分析和映射/减少的数据库

C# 用于分析和映射/减少的数据库,c#,mapreduce,analytics,document-based-database,C#,Mapreduce,Analytics,Document Based Database,我的应用程序中有多个线程根据正在执行的工作生成日志文件。它们通常在几天内运行多次迭代,并生成接近15-20 GB的数据。我从日志的每个迭代中提取特定字段,并将其与日志一起存储 我需要对这些字段执行数据分析,将来可能会从原始日志中提取更多数据。 我发现自己正在编写更多的代码来管理这些文件,进行诸如求和、求平均、求最小值、求最大值等分析,并在此基础上生成报告。还要编写代码以确保从线程生成的数据正确存储在文件中。 是否有可能通过使用适当的数据库来抽象出其中的一些问题 是否有满足以下要求的数据库 基于

我的应用程序中有多个线程根据正在执行的工作生成日志文件。它们通常在几天内运行多次迭代,并生成接近15-20 GB的数据。我从日志的每个迭代中提取特定字段,并将其与日志一起存储

我需要对这些字段执行数据分析,将来可能会从原始日志中提取更多数据。 我发现自己正在编写更多的代码来管理这些文件,进行诸如求和、求平均、求最小值、求最大值等分析,并在此基础上生成报告。还要编写代码以确保从线程生成的数据正确存储在文件中。 是否有可能通过使用适当的数据库来抽象出其中的一些问题

是否有满足以下要求的数据库

  • 基于文档

  • 允许我进行数据分析,如总和、最小值、最大值、平均值、基于特定字段的合并等

  • 允许从日志文件中提取新数据
  • 我没有任何高性能的写入或读取,因为您可以看到,生成20 GB的数据需要几天的时间
  • 我可能并行运行多个这样的应用程序,它们将访问同一个数据库
  • 我也想加入
  • 我正在使用C#/.NET
我遇到了RejectionDB,它看起来像是我想要的解决方案,但事实证明它仍然不适合生产,并且只在Linux上受支持


谢谢…

我只是想澄清一下,您是否希望即时阅读这些文档,以及您想要阅读的文档类型是什么?我的第一个想法是使用关系数据库来存储数据,并使用Lucene项目之类的东西来收集您正在寻找的数据。@t我正在目标设备上运行一个测试,进行数千次迭代。每次迭代,都会收集并存储来自设备的文本日志。我还从同一个日志中提取特定值,如时间、温度等,并将其与日志一起存储为键值对。现在,在多个设备上并行执行相同的测试。据我所知,Lucene似乎是一个搜索引擎。我不知道这对我有什么帮助。此外,我提取的字段类型每隔一个月就会发生变化。使用关系数据库是个好主意吗?如何存储文本日志?是将其存储为二进制还是实际文本?@tsells我将其存储为文本。我使用xml格式来存储提取的值,有一个名为的标记,它包含登录文本。我选择xml没有什么特别的原因——只是为了组织提取的字段。