【问题标题】:What is the best practice for database scalability [closed]数据库可扩展性的最佳实践是什么[关闭]
【发布时间】:2014-07-30 11:16:23
【问题描述】:

注意:我对存储和访问在线数据库完全陌生。我已经,悬停,自学了足够的关于 asp.net/SQL、html 和 JS 的知识来创建一个 Web 应用程序。目前我有一个托管在 Godaddy 帐户上的 Web 应用程序,其中包括一个 SQL Server,我正在使用它进行登录验证(它支持 asp 帐户向导——这就是我使用它的原因)。我知道我的应用程序会很快填满该数据库(它是 1 gig 限制),所以我希望结合使用 Godaddy 帐户附带的 10 个包含的 MySql 数据库和 SQL 服务器。我的问题是:我可以使用 SQL 服务器来处理帐户和身份验证,然后将用户数据存储在 MySql 数据库中吗?或者我是否完全按照自己的想法出去吃午饭?我想第一次正确设置它,以便我可以安全地扩大规模。 或者,我应该完全忘记 Godaddy 并尝试 MS Azure 吗? 谢谢

【问题讨论】:

  • 就个人而言,我会使用 MongoDB,因为它是网络规模; )
  • MySQL 也是如此。 MongoDB 和 MySQL 解决了不同类别的存储问题,并且在任何现代堆栈中都发挥着重要作用。
  • 而且许多高活动站点也使用 SQL Server。我知道有人用数万亿行来管理 Ql 服务器实例,所以 wenb 规模是一个谬论。是的,设计糟糕的数据库不能很好地扩展,是的,扩展理性数据库需要专业知识,但是我不会将我的数万亿条记录信任给个人不是专家的人。

标签: mysql asp.net sql-server


【解决方案1】:

是的,您绝对可以这样做。单个应用程序使用多个数据源是相当普遍的(尽管通常不是因为这个原因)。

如果您使用的是实体框架,请查看 MySQL 文档以在您的 .NET 应用程序中进行设置

http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-entity-framework-winform-data-source.html

请记住,管理两个不同的数据库(备份/恢复/维护)会很复杂。

【讨论】:

  • 不确定我是否使用了实体(对不起,我对这个主题的无知——我使用了带有注册向导的 MS Visual Studio .net 模板,将数据库设置为 asp 模式——不确定如果这是正确的条款)。我将查看与我现有的数据库设置相关的链接。
  • @Cory 你当时可能没有使用实体。但原则仍然成立,一个应用可以使用多个数据库。
  • @Cory:无论你打算在 MySQL 数据库中存储什么,我建议你学习和使用实体框架。它比使用 ADO.Net 做事方式更有效率。
  • 两个非常有用的cmets!
【解决方案2】:

您询问扩大规模的最佳做法。

一种最佳做法是避免使用多种并行技术(例如 SQL Server 和 MySQL)。这是因为使用单一技术的 Web 应用程序更容易迁移到功能更强大的托管平台。如果您享受任何成功,您需要远离 Go Daddy 托管。

另一个最佳实践是使您的数据库访问层尽可能简单且与供应商无关。尽量避免供应商特定的功能。这使您能够以合理的成本更换供应商。商业数据库和基础设施供应商的利润取决于他们在客户成功并需要快速扩大规模时锁定客户的能力。

第三个最佳实践是避免混合数据库连接和应用程序逻辑。

【讨论】:

  • 我喜欢所有的答案,但之所以选择这个,是因为它巩固了我想继续使用 SQL Server 的想法(部分原因是我觉得它很舒服,它可以满足我的一切需求),而且,您说“避免使用两种技术”。我想我真的想弄清楚我是否需​​要调查另一台主机——我相信我会的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-21
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 2010-10-30
相关资源
最近更新 更多