tengo una pregunta sobre el almacenamiento de datos para una aplicación de escritorio, si debo implementar una aplicación sin una base de datos MS SQL, cómo podría facilitar la recuperación/almacenamiento de datos. Sé que también puedo serializar los objetos de datos en un archivo (como el archivo XML), ¿hay alguna otra manera más eficiente o efectiva?¿Cuál es la mejor manera de almacenar/recuperar datos para un escritorio sin usar una base de datos?
¿Cuál es la mejor manera de almacenar/recuperar datos para un escritorio sin usar una base de datos?
Respuesta
SQLite funciona muy bien como base de datos integrada. Incluso tiene .NET/Mono bindings disponible.
Puede consultar SQL Server Compact Edition.
Hay una variedad de preguntas que uno podría hacer para responder a su pregunta. A los efectos de esta respuesta, supongo:
1) Es necesario almacenar una cantidad limitada de datos. 2) Capacidad incorporada (sin requisitos de terceros o de bases de datos).
La instalación más conveniente e integrada (intrínseca a la base .NET) es un conjunto de datos, específicamente, un conjunto de datos tipeados.
Puede agregar una cantidad indefinida de tablas y datos a su DataSet (limitado por la memoria disponible) y guardar y cargar fácilmente los datos del disco. DataSet se serializa fácilmente a datos Xml enlazados al esquema.
@Michael, sí, va a haber una cantidad limitada de datos, pero me gustaría pasar la serialización/ruta XML si es posible. – aggietech
¿Debo entender que quieres guardarlo en formato binario? Supongo que estoy tratando de entender cómo quieres conservar los datos en el sistema de archivos. – Michael
No creo que deba preguntar cuál es la "mejor" manera, pero cuál va a ser la mejor manera para USTED.
Cuando dice que no puede tener una base de datos, supongo que quiere decir que la aplicación necesita ser independiente, pero podría usar un archivo de base de datos local. Si eso es así y estima que se necesitarán grandes volúmenes de almacenamiento de datos, entonces es posible que desee utilizar uno de varios productos de bases de datos locales compactos. SQLite e InnoDB vienen a la mente por ejemplo.
Si solo va a almacenar pequeñas cantidades de datos, un archivo binario XML o simple podría ser mejor para usted, ya que reduciría el espacio de su aplicación y eliminaría la dependencia de un producto de terceros. A veces (¡y enfatizo muy raramente!) Sigo usando el archivo INI clásico porque tiene un buen código y da como resultado un código extremadamente compacto.
En cuanto a la eficiencia y la eficacia, todo se reduce a la forma en que decida implementar su acceso a los datos. Por supuesto, el tipo de base de datos que utiliza tiene un impacto, pero también debe admitir lo que sea que implemente, por lo que sería útil estudiar cómo se define y documenta la API de base de datos, si tiene una comunidad activa para soporte, etc ..., y elija la que le resulte más cómoda para trabajar.
Si está en Windows y necesita consultar datos de una manera simple, considere el motor de base de datos de ESENT incorporado (http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx). CodePlex tiene un contenedor .NET que incluye una clase PersistentDictionary (http://managedesent.codeplex.com/) que funciona como un diccionario .NET, pero está respaldado por un archivo de base de datos en el disco.
- 1. ¿Cuál es la mejor base de datos para usar en una aplicación de escritorio Java?
- 2. ¿Cuál es la mejor manera de conservar datos en una aplicación de escritorio Java?
- 3. ¿Cuál es la mejor manera de conectar y usar una base de datos sqlite desde C#
- 4. ¿Cuál es la "mejor" base de datos para incrustado?
- 5. ¿Cuál es la mejor manera de almacenar datos de tendencia?
- 6. ¿Cuál es la mejor manera de perfilar una base de datos sqlserver 2005 para el rendimiento?
- 7. ¿Cuál es la mejor manera de almacenar un valor monetario en la base de datos?
- 8. ¿Cuál es la mejor forma de archivar datos en una base de datos Oracle?
- 9. ¿Cuál es la mejor base de datos para usar con un programa Java?
- 10. ¿Cuál es la mejor manera de asegurar una cadena de conexión de base de datos?
- 11. ¿Cuál es la mejor manera de copiar una base de datos?
- 12. ¿Cuál es la mejor manera de migrar datos en django
- 13. ¿Cuál es la mejor base de datos de objetos Java?
- 14. ¿Cuál es la mejor manera de hablar con una base de datos mientras usa Sinatra?
- 15. ¿Cuál es la mejor manera de almacenar archivos multimedia en una base de datos?
- 16. ¿Cuál es la mejor forma de almacenar datos individuales no repetitivos en una base de datos?
- 17. ¿Cuál es la mejor manera de almacenar datos de área para una aventura de texto?
- 18. ¿Cuál es la mejor manera de validar datos en mongo?
- 19. ¿Cuál es la mejor manera de configurar el acceso a datos para un proyecto ASP.NET MVC?
- 20. ¿Cuál es la mejor manera de diseñar este problema particular de base de datos/SQL?
- 21. ¿Cuál es la mejor manera de almacenar información de zona horaria en mi base de datos?
- 22. ¿Cuál es la mejor manera de hacer conexiones de base de datos por usuario en Rails
- 23. ¿Cuál es la mejor manera de sincronizar de una manera desde una base de datos del servidor al iPhone?
- 24. La mejor manera de administrar la conexión de base de datos para un servlet de Java
- 25. ¿Cuál es la mejor manera de generar datos falsos para un problema de clasificación?
- 26. ¿Cuál es mejor diseño de base de datos?
- 27. ¿Cuál es la mejor manera de administrar la concurrencia en una aplicación de acceso a la base de datos?
- 28. ¿Cuál es la mejor manera de almacenar un conjunto de Delphi en un conjunto de datos?
- 29. ¿Cuál es la mejor manera de crear una base de datos a partir de un documento de MS Word?
- 30. ¿Cuál es la mejor manera de almacenar una matriz de bytes en la base de datos SQL utilizando NHibernate?
increíble, gracias. – aggietech