数据库选择:处理数百到数百万个对象的数据



我正在运行经济模拟。随着时间的推移,数百、数千或可能数百万(但不超过30.000.000)代理=对象必须对数据进行协议,数据始终具有相同的结构。它通常由许多布尔值、浮点数和整数组成,可能还有数组/列表(5到100个不同的变量)。在模拟过程中,数据库没有读访问权限。模拟后,数据将不再被更改。对于每个模拟,我将创建一个新的数据库。当前的编程语言是python,但是这个选择对将来的java项目有影响。在未来,该项目也有可能在网络上运行。如果有关系:对象通过0mq进行通信。我应该选择什么数据库类型和实现?

  • 它需要是开源的

  • 好的python和java api是必不可少的

这取决于你的个人需求。对于一个数据库来说,数百万行并不多。

首先,我会尝试Oracle 11g Express Edition。它是免费的,与付费版本100%兼容,但限制为11gb的用户数据和1gb的内存。

如果你是开源的,看看PostgreSQL。

但是,请记住(很可能)您将被绑定到您选择的任何数据库软件。

由于模拟是在一台计算机上运行的,因此sqlite3是一个很好的解决方案。它避免了数据库服务器,降低了复杂性,提高了速度。

最新更新