首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular2数据存储架构

Angular2数据存储架构
EN

Stack Overflow用户
提问于 2016-08-30 22:12:56
回答 1查看 485关注 0票数 0

我正处于一个企业客户的新项目的最开始阶段,正在考虑基本的架构决策。到目前为止,我的经验一直在.NET应用程序,WPF和闪存,但这个新项目必须是网络交付,我打算使用Angular 2的客户端应用程序,所以我几乎没有经验,只有常识和研究,以借鉴。

这个项目无疑会随着它的发展而发展,尽管我对MS SQL很满意,但我知道随着模式的更改和表的调整,管理起来有多么困难。我喜欢Microsoft Web API作为服务提供商的样子,尽管它对我来说是全新的,也许MongoDB的灵活性,但除此之外,我对此一无所知。这个项目可能会在不久的将来从我自己的安全服务器转移到Azure位置,如果这有任何影响的话。

这个项目可能会在未来15年内发展和使用,所以我需要一些稳定性,而不是目前的“热门解决方案”。我认识到我需要为改变而设计,但我想试着保持长期维护的简单性。

如果有足够的资源来协助开发,并且解决方案或拥有的公司有可靠的记录,有人能建议一个好的,健壮的解决方案,并且具有良好的可扩展性吗?

我期待着听到你的想法。

克里斯

EN

回答 1

Stack Overflow用户

发布于 2016-08-30 22:30:42

关于后端

使用Microsoft Web API或其他后端服务对这个问题并不重要。你必须选择一个你喜欢的,写代码并且尽快把事情做好。这里最大的问题是如何传递API数据以及如何存储这些数据。

关于数据交付

我建议您使用REST API,并以JSON格式交付数据。使用Angular,您可以轻松地与REST API通信。

关于数据库

架构和数据丢失

RelationalNon relational数据库具有不同的目标。一种在模式上更灵活,但对数据丢失和一致性的安全性较低。另一种在防止数据丢失方面的安全性更好,但具有静态模式。其他人则试图同时实现一致性和灵活性。

如果您的应用程序将用于保存敏感数据,我认为最好使用SQL。如果您的应用程序没有敏感数据,您可以使用NoSQL并享受模式的灵活性。

您还有第三种选择,使用一些同样实现NoSQL的hibrid db作为PostgesSql

读写

SQL在将数据写入DB方面具有更好的性能,因为您的单例数据仅存储在一个位置,并由其关系使用。但SQL在读取数据时性能较差,因为我们需要使用join从多个表中获取数据,以避免冗余数据和不一致。

NoSQL在读取方面比写入方面具有更好的性能,因为我们使用嵌套模式,并且文档中可以包含其子数据,因此您不需要读取另一个表(集合)来获取嵌套数据。所有信息都在文档中,甚至包括子数据。另一方面,使用NoSQL编写要比使用SQL慢,因为您必须在子表和父文档中插入/更新数据,因为我们使用的是更多冗余数据。另一件事是一致性,因为您必须在多个表(集合)中写入相同的数据,如果我们忘记更新某些文档,这可能会导致一些问题。

我希望我的观点能帮助你为你的项目找到更好的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39229899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档