Я работаю с унаследованным приложением, в котором у меня есть основной поток приложений, работающий с уровнем C #. Одной из особенностей приложения является экспорт большого набора данных во внешний форматер данных, написанный на python. Текущий процесс включает в себя экспорт данных в плоский текстовый файл, его синтаксический анализ в python, а затем построение правильно отформатированного вывода.
Мы хотели бы повысить производительность этого процесса, и мы считаем, что передача данных является основным узким местом, и рассматриваем более эффективные решения.
Наше основное соображение заключается в том, чтобы вместо записи в плоский формат файла мы рассматриваем базу данных MongoDB или SQLite для обработки транзакции.
1) В настоящее время мы не можем использовать IronPython для создания прямого соединения по различным техническим причинам.
2) При правильной реализации БД этот промежуточный формат впоследствии можно будет асинхронно обновлять, чтобы поддерживать состояние и повышать скорость таким образом.
3) Экспортируемые данные могут состоять из пары миллионов строк данных, каждая из которых имеет длину примерно 100-200 символов. Примерно 95% + этих данных являются значениями типа double, но есть также некоторые строки (некоторые динамически создаются приложением C #), относящиеся и к этим значениям типа double.
Похоже, создание промежуточной БД может улучшить производительность? Как мы должны решить, какой слой БД использовать?
Спасибо за любые предложения.