выбор базы данных: протоколирование данных для сотен миллионов объектов - PullRequest
0 голосов
/ 12 декабря 2011

Я управляю экономическим моделированием.сотни, тысячи или, возможно, миллионы (но не более 30 000 000) агентов = объекты должны протоколировать данные с течением времени, данные всегда имеют одинаковую структуру.Обычно он состоит из нескольких логических значений, чисел с плавающей точкой и целых чисел, возможно, массивов / списков (от 5 до 100 различных переменных).Во время моделирования база данных не имеет доступа для чтения.После симуляции данные больше не будут изменены.Для каждого моделирования я создам новую базу данных.Текущий язык программирования - Python, но выбор влияет на будущий проект в Java.Также возможно, что в будущем проект будет запущен в сети.Если это имеет значение: объекты общаются через 0mq.Какой тип базы данных и реализацию я должен выбрать?

  • он должен быть с открытым исходным кодом

  • хорошие API Python и Java необходимы

Ответы [ 2 ]

0 голосов
/ 22 июня 2012

Поскольку симуляция выполняется на одном компьютере, sqlite3 оказался хорошим решением. Это позволяет избежать сервера базы данных, что снижает сложность и увеличивает скорость.

0 голосов
/ 12 декабря 2011

Это зависит от ваших личных потребностей. Миллионы строк не так много для базы данных.

Для начала я бы попробовал Oracle 11g Express Edition. Он бесплатный и на 100% совместим с платной версией, но ограничен 11 ГБ пользовательских данных и 1 ГБ ОЗУ.

Если вы находитесь в поезде с открытым исходным кодом, посмотрите PostgreSQL.

Однако имейте в виду, что (скорее всего) вы будете привязаны к любому выбранному вами программному обеспечению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...