SQLite впечатляет тем, что он есть, но, вероятно, он не даст вам производительности, которую вы ищете в таком масштабе, поэтому даже если ваш существующий проект Django на SQLite, я бы рекомендовал просто написать оболочку Python длядругой бэкэнд данных и просто использование его из Django.
Что еще более важно, забудьте об использовании моделей Django для чего-то подобного;они представляют собой уровень абстракции, созданный для удобства (отображение записей базы данных в объекты Python), а не для повышения производительности.Django очень быстро захлебнется, пытаясь построить сотни миллионов объектов, поскольку он не понимает, чего вы пытаетесь достичь.
Вместо этого вы захотите использовать тип / механизм базы данных, который подходит длятип запросов, которые вы хотите сделать;если типовой запрос состоит из сотен точечных запросов для получения данных в определенных «ячейках», хранилище значений ключа может быть идеальным;если вы обычно выбираете диапазоны значений в отдельных «строках» или «столбцах», то это то, что нужно оптимизировать;если ваши запросы обычно включают в себя использование подматриц и выполнение предсказуемых операций над ними, вы можете значительно повысить производительность, предварительно рассчитав определенные кумулятивные значения;и если вы хотите использовать полный набор данных для обучения моделям машинного обучения, вам, вероятно, лучше вообще не использовать базу данных для основного хранилища (поскольку базы данных по своей природе жертвуют быстрым извлечением полных необработанных данных для быстрого-calculations-on-интересно-подмножества), особенно если ваши модели ML можно распараллелить, используя что-то вроде Spark.
Ни одна БД не справится со всем хорошо, поэтому было бы полезно, если бы вы могли уточнить рабочую нагрузку, которую вы 'Поверх этих данных будет работать - какие вопросы вы хотите задать?