В моем опыте программирования приложений я всегда работал с базой данных SQL Server (или Access) на задней панели, которая хранит данные приложения. Теперь я рассматриваю некоторые бизнес-требования, которые работают с данными, которые хорошо вписываются в реляционную базу данных, но они требуют, чтобы они хранились в одном, переносном, настраиваемом файле, который приложение создаст и загрузится. Я знаю, что это очень распространенная концепция для приложения, чтобы сэкономить один файл или документ, который он может загрузить и продолжать работать, но я не уверен, как достичь этого с помощью сложных данных. Шифрование xml приходит на ум, но было бы очень медленно работать или потенциально сжигать много памяти, если бы мне пришлось сначала загрузить все обратно в объекты. Какие существуют варианты?Хранить реляционные данные в одном проприетарном файле
ответ
При работе в среде .NET я считаю, что стоит обратить внимание на SQL Server Compact. Это в основном мини-SQL Server, который не нужно устанавливать и настраивать как службу, а вместо этого является dll, с которой вы ссылаетесь. Вы можете использовать обычные инструменты доступа к данным, такие как linq-to-sql и сущность.
+1 избили меня, и он уже знаком с семейством MSSQL. –
@Anders Abel - Похоже, что это сработает, если только одно из следующих не соответствует действительности. 1. Файл .sdf может быть создан во время выполнения. 2. .sdf может использовать пользовательское расширение файла. 3. .sdf может использовать пароль, чтобы кто-то, у кого есть файл, не открывал его и не получал доступ к данным. Я прочитал, что все это правда, пожалуйста, дайте мне знать, если это неверно. – xr280xr
Я рекомендую вам использовать встроенную базу данных SQLLite или Firebird. Есть и другие варианты. Они поддерживают использование одного файла и дадут вам четкий путь обновления для будущих версий вашей схемы (обновления SQL-скриптов).
Я не понял, как шифрование играет в это.
Верьте, что это также действительный ответ, но я предпочитаю подход MS в этом случае. +1 Спасибо. – xr280xr
SQLite приходит мне на ум. Это единый файловый DB. Вот ссылка на convert SQL server databases to SQLite. Также проверьте Using SQLite in your C# Application
- 1. Хранить данные в текстовом файле
- 2. Python: хранить данные в файле
- 3. Можем ли мы хранить реляционные данные в hdfs
- 4. Реляционные данные в JayData
- 5. Как хранить данные в одном файле и вызывать его в файле вида?
- 6. Как хранить данные Json в одном поле?
- 7. как хранить данные в файле в j2me ..?
- 8. Как отсортировать реляционные данные?
- 9. IRepository и реляционные данные
- 10. Получить реляционные данные, заказанные
- 11. Как преобразовать реляционные данные?
- 12. Yii2 RESTful реляционные данные
- 13. Выходные реляционные данные в Yii2
- 14. Как хранить данные непрерывно в файле?
- 15. Полезно ли хранить данные в файле strings.xml?
- 16. C# хранить данные в файле Excel
- 17. Эффективно хранить легко анализируемые данные в файле?
- 18. Как хранить данные JSON в файле?
- 19. Как хранить данные в CSV-файле?
- 20. хранить данные в текстовом файле или xml
- 21. Процесс Spark Streaming rdd и хранить в одном файле HDFS
- 22. Возможно ли lucene хранить индекс только в одном файле
- 23. Реляционные данные для плоского файла
- 24. как сохранить данные XML в одном файле
- 25. Сортировка строк в одном файле данные заказа в другом файле
- 26. Хранить XML-данные как реляционные данные в таблицах Oracle с использованием Java и XMLType
- 27. Хранить данные игровой карты в одном или нескольких XML?
- 28. Должен ли я продолжать хранить все css в одном файле?
- 29. Рекомендуется хранить все строки php/html в одном файле?
- 30. Хранить несколько значений формы в одном файле cookie
Что относительно SQLite? его единственная файловая система RDBMS – Habib
Не подходит ли SQL Server Compact Edition для вас? – spender
Зачем вам шифровать xml? –