Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在查找本地.Net NoSQL DB系统_.net_Database_Nosql - Fatal编程技术网

正在查找本地.Net NoSQL DB系统

正在查找本地.Net NoSQL DB系统,.net,database,nosql,.net,Database,Nosql,我目前正试图为自己编写一个备份/同步系统(Dropbox等,不要为了我的目的而剪切它),我想我已经找到了最好的方法 问题是,使用关系数据库(比如我刚刚添加到.NET4项目中的本地数据库)将是疯狂的,除非我将其分解成一堆荒谬的表,并可能在运行时修改数据库 我希望有人能给我指出一个内置于.Net中的无rel/nosql DB,它不需要其他运行进程(例如,可能是从平面文件工作?),但由于这个项目的性质,它会变得很大。像GBs一样大。(我必须存储每个文件的最新版本,+历史差异) 谢谢你抽出时间 另外,像

我目前正试图为自己编写一个备份/同步系统(Dropbox等,不要为了我的目的而剪切它),我想我已经找到了最好的方法

问题是,使用关系数据库(比如我刚刚添加到.NET4项目中的本地数据库)将是疯狂的,除非我将其分解成一堆荒谬的表,并可能在运行时修改数据库

我希望有人能给我指出一个内置于.Net中的无rel/nosql DB,它不需要其他运行进程(例如,可能是从平面文件工作?),但由于这个项目的性质,它会变得很大。像GBs一样大。(我必须存储每个文件的最新版本,+历史差异)

谢谢你抽出时间

另外,像MongoDB这样的东西对我来说是可行的,但我相信其他NoSQL风格也可以

[编辑以获取更多详细信息]

鉴于这个项目将被用作本地备份系统,我正在寻找一个不需要运行进程的数据库系统等。不幸的是,这排除了RavenDB

此外,在某些情况下,数据库的大小将超过RAM。据我所知,这排除了dbo4

[/Edit]

我认为您可以使用另一个选项,即(引用):

Raven是一个开源软件(具有 商业选项)文档数据库 对于.NET/Windows平台。掠夺 提供灵活的数据模型设计 适合真实世界系统的需要。 Raven存储无模式的JSON 文档,允许您定义索引 使用Linq查询并关注低 延迟和高性能


请检查,我过去曾短暂使用过它,没有任何抱怨。

谢谢您的回复,但当此应用程序运行一段时间后,计算机将无法立即将整个数据库保存在内存中,这与从数据库加载对象时的情况相同。不幸的是,这需要实际的数据库服务才能运行,据我所知。这是非常不受欢迎的…实际上它不需要运行Windows服务。您可以在执行备份代码的同一进程中以嵌入式模式运行RavenDB。。。你只需要使用ravend嵌入式dll,你就完成了。这看起来很有希望。还看不到任何真正的问题。这并不是你问题的答案-但听起来Git版本控制可以帮你解决这个问题。虽然它主要用于编程源代码控制,但对于您正在尝试做的事情(我认为)它将非常有效。您还可以使用git remotes远程存储文件。老实说,我只是刚开始在编程环境之外考虑源代码控制。好主意,我刚开始在Linux中为我的配置文件做类似的事情(/etc作为repo),很高兴它能有所帮助。我实际上使用git将我的web应用发布到不同的服务器(并创建“还原点”)。效果非常好。Git非常棒。我自己也是一个mercurial的粉丝,尤其是因为在Windows上配置Git一直都很痛苦。也许现在会搬到github,多亏了他们更好的Windows工具(大约一周前)。是的,我也看到了。我正在使用,但可能很快就会切换。不过我也听说过mercurial的好消息。