我需要在一个包含大量数据的C#项目中包含一个数据库。即使在商业用途中,这个数据库也应该是免费的。
我应该使用什么数据库?
编辑
我想知道应该避免使用什么数据库。当我说“很多”时,它是为了科学计算,所以它将是巨大的数据。
发布于 2010-02-24 23:01:33
我在自己的“半科学”概念验证项目中使用了PostgreSQL数据库。存储的50GB+数据。我的经验是肯定的。您应该小心分区方案和索引。它是免费的,并得到大型在线小组的支持。
发布于 2013-12-16 23:23:57
我认为这个问题仍然有些模糊。当您需要选择数据库系统时,除了输入数据大小和免费软件(预算)之外,您可能还需要考虑一些重要的因素。
1)您提到的目的是科学计算,您是否需要支持一些复杂和即席的分析/操作?例如,您是否需要支持时间旅行或多维直方图生成?如果是这样的话,您最好选择专门为科学计算设计的数据库,而不是更通用的数据库,SciDB/MonetDB/RasDaMan可能是一个很好的选择。
2)你提到了数据大小,但是数据类型是什么?它是关系数据(例如CSV)、基于数组的数据(HDF5/NetCDF)还是空间数据?一种大小并不适用于所有类型,并且有专门为不同类型的输入数据设计的不同类型的数据库:关系/数组/空间...数据库。请注意,在使用任何数据库之前,必须将数据加载到数据库中,如果输入数据类型和数据库类型不匹配,则数据加载可能会非常痛苦。
3)在您的情况下,性能可能是一个非常关键的因素,如果您的计划中包含分布式计算,则可能还需要考虑可伸缩性。例如,由于科学数据通常是只读或只追加的,那么您真的需要在所有查询执行期间保证ACID属性吗?您可以考虑牺牲ACID以获得更多的性能改进。如果是这样的话,SciDB可能比SQL Server好得多。
发布于 2010-02-24 06:53:50
实际上,您可以使用几乎任何东西,PostgreSQL、SQLite,甚至微软的SQL Server Compact或SQL Server。
这还取决于什么是“大量数据”/
https://stackoverflow.com/questions/2322373
复制相似问题