Реальная вещь, которую стоит рассмотреть, - это то, что ваша программа делает с данными Реляционные базы данных предназначены для обработки сложных взаимосвязей между наборами данных. Однако они не предназначены для выполнения сложных вычислений.
Кроме того, объем данных и относительная простота позволяют предположить, что вы можете просто использовать плоский файл для хранения координат и считывать их в память при необходимости. Таким образом, вы можете спроектировать свои структуры данных так, чтобы они более точно отражали то, как вы собираетесь использовать эти данные, а не то, как вы собираетесь их хранить.
Многие языки предоставляют механизм для записи структур данных в файл и их повторного чтения, называемый сериализация . pickle Python - одна из таких библиотек, и я уверен, что вы можете найти ее для любого языка, который вы используете. По сути, просто спроектируйте свои классы или структуры данных в соответствии с тем, как они используются вашей программой, и используйте одну из этих библиотек сериализации для заполнения экземпляров этого класса или структуры данных.
edit: Требование, чтобы структуры были изменяемыми, не сильно влияет на мой ответ - я все еще думаю, что сериализация и десериализация - лучшее решение этой проблемы. Тот факт, что пользователи должны иметь возможность изменять и сохранять структуры, требует некоторого планирования, чтобы обеспечить полное и правильное обновление файлов, но в конечном итоге я думаю, что в конечном итоге вы потратите меньше времени и усилий с этим подходом, чем пытаясь Маршал SQLite или другая встроенная база данных для выполнения этой работы за вас.
Единственный случай, когда база данных была бы лучше, - это если у вас есть система, в которой несколько пользователей взаимодействуют и обновляют центральный репозиторий данных, и в таком случае вы бы смотрели на сервер базы данных, такой как MySQL, PostgreSQL или SQL Server для скорости и параллелизма.
Вы также отметили, что вы будете использовать C # в качестве языка. .NET поддерживает сериализацию , встроенную в , поэтому вы должны быть готовы к работе .