【问题标题】:DB advice and best practices for ASP.NET based web site?基于 ASP.NET 的网站的 DB 建议和最佳实践?
【发布时间】:2011-11-16 17:21:08
【问题描述】:

我开发了一个网站,用于显示我所做的一些数据分析工作的结果。它的前端依赖于 ASP.NET,并广泛使用 Entity Framework 和 LINQ 连接到 MySQL 后端。

我之所以选择 MySQL,是因为我个人过去曾使用过它并且喜欢该数据库,但是当我不得不将它部署到托管服务提供商时,这导致了一些严重的问题(不兼容的连接器、访问权限等)

我现在正准备重新开发和扩展网站,我正在寻找一些建议来避免我上次遇到的问题。

新数据库必须扮演两个角色。首先是作为分析工作输出的图表的数据提供者。这些表很简单,几乎是平面文件,有 10 个表。一个表大约有 200k 行数据,其余的每个表大约有 1200 行数据。数据库表之间几乎没有引用或查询,但也有一些。此数据由后端进程定期更新,无需用户添加或编辑。

数据库的第二个角色是作为标准用户管理系统的基本持久存储。它需要管理用于添加/删除客户端、用户名、密码、访问权限的数据。等。不涉及财务数据或超安全数据。

您会推荐哪种数据库方法,它可以让我在 Web 主机上轻松部署和管理,并且仍然允许我有效地使用 Entity Framework 和 LINQ。

其次,我在重写这个系统时应该考虑哪些工具/框架。它非常图形化且以数据为中心。图表和信息的呈现是本网站的关键因素。是否有任何新技术或框架可以为我正在做的事情增加特定的价值?

一些笔记。我是一个人的商店,我自己维护整个系统,所以我比其他人更不担心企业级框架。我的重点是网站的轻松开发和部署。可维护性也是一个关键因素。

我也是一位经验丰富的 C# 开发人员,但对 ASP.NET 和 Web 方面的事物不熟悉。该网站的第一个版本是一次重要的学习体验。这很好,但我浪费了大量时间来了解新技术和方法。我对学习非常开放,但我没有时间去思考一个完整的范式转变。

期待您的意见,谢谢。

道格

【问题讨论】:

    标签: asp.net mysql database linq entity-framework


    【解决方案1】:

    自然的选择是 SQL Server。根据您的描述,我猜您可能处于 SQL Server Express 版本的最大空间限制之下。我当然支持实体框架,驱动程序是 .NET 框架的一部分,所以这里的第三方程序集没有问题。

    这也将开启稍后在云 (Azure) 中托管您的应用程序的可能性,因为 SQL Azure 实际上是 Microsoft SQL Server,因此支持它没有任何开销。

    关于用户管理 - ASP.NET 内置了所有这些(成员、角色和配置文件提供程序),还有一个可以使用默认表的 SQL 提供程序。因此您不必自己设计表,它在 SQL Server 上运行非常自然。

    【讨论】:

    • 这是我要去的方向,但我希望能更详细一点。我习惯了基于服务器的 SQL 服务器,但是基于文件的系统呢?德纳利是一种选择吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2011-06-09
    • 2010-12-16
    • 2019-04-10
    • 1970-01-01
    • 2010-10-14
    相关资源
    最近更新 更多