Red*_*yph 6 database nhibernate entity-framework sharding
我想知道我是否做出了正确的决定.我正在开发一个应用程序,允许用户混合来自本地数据库(可能是SQL CE或SQLite)和远程共享数据库(很可能是MySQL)的数据库条目.理想情况下,它必须是灵活的并且与几种数据库服务器类型兼容(静态地按照初始配置,不动态地混合几种类型)但这不是一个显示停止.
代码是C#,.NET 4.
当然,我正在考虑NHibernate,因为它在版本3.0中具有LINQ,对代码可读性和效率的加分,并且模型优先方法比实体框架更自然.它还有混合数据库部分的Shards,这应该更容易处理.另一个选项是EF 4,我不喜欢它,因为它在.NET上下文和Visual Studio中完全支持,并且在那里有一个充满希望的未来.
碎片是否足够成熟?它已经坚持3 beta了很长一段时间,看起来像一个死的项目,让人们基于这个扩展部署专业应用程序?它有未来吗?还是有其他选择吗?
NHibernate 3在Mono上运行吗?我想是的,但实际的确认会很棒.如果必须将Web服务器开发为替代接口,那将是EF的另一个优势.
提前感谢您提供任何信息或反馈!
更新1
显然.NET 4是一个问题,为了使用NHibernate,.NET 3.5更加明智.此外,SQLite和SQL CE或WPF等框架的其他部分也存在明显的问题.
NHibernate是否允许跨不同数据库类型(例如MySQL和SQLite)进行分片?
所以我开始相信EF 4对于客户端来说更安全,而NHibernate对于可能的ASP.NET接口来说更安全.
分片旨在(针对已知模式)将调用重定向到已知服务器,即以 a、b、c、d 开头的名称到服务器 a,以 e、f、g、h 开头到服务器 b 等。
我还没有听说过它被用于跨数据库服务器制作。我怀疑这是否有效。
分片已经占有一席之地,但我可以想象,如果不同的分片具有不同的性能配置文件,可能会出现间歇性问题,这些问题很难解决。
有这个链接表明可以在单声道下运行 NH3 ... https://nhibernate.jira.com/browse/NH-2312
远程共享数据库我倾向于使用 WCF 或 REST 通过已知的 API 进行抽象。
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |