我正在建立一个用于企业管理目的的在线(付费)服务。数据库的结构如下:
我有一个联系人表,里面有人员、联系信息等。然后我还有一些其他表格,其中包含有关付款、协议和约会的信息。还有统计数据,比如这个月转账了多少钱,这个月有多少小时的约会等等。
我正在使用 MySQL(但如果需要,也可以使用 MSSQL 或其他一些服务)并且我没有接受过任何编程语言的正式培训(还)。
我正在构建一个 WPF 应用程序来访问这个数据库。还计划构建一个应用程序,以便用户可以访问他们的数据并计划新的约会并在旅途中注册付款。我要去一个登录系统来验证他们登录和使用我的服务的权利。
我的问题是关于如何构建它。我不是 SQL 专家,也没有接受过 SQL 或任何其他编程语言的正式培训。但我所知道的是,我的客户端应用程序几乎处于 alpha 阶段。
到目前为止,我已经想出了两种方法来构建它。
1. 用户得到一个单独的数据库。
我最初的想法是给每个用户一个单独的数据库,这样更容易为人们提供统计数据。此外,它还可以更轻松地通过多个单独的服务器分散工作负载。人们将登录到存储登录信息的主/主服务器,获取他们的服务器信息并以编程方式“重定向”到他们自己的数据库。传播这些数据库还可以更轻松地为用户提供个人备份。
不利的一面是我必须管理的数据库数量庞大。我计划最终拥有数十万用户。假设我希望系统能够提供给无限数量的用户。
2. 一切都存储在一个数据库中。
也可以将所有内容存储在一个数据库中。这将使数据库结构更加复杂(同时它也使整体更加简单)。我必须在每个查询中添加 'AND consumer_ID='" + MyID + "' 。(这当然是可能的)并添加一些表来处理每个用户的统计信息。
为每个用户提供相同的数据库更新会更简单。维护会更容易。
不利的一面是,将工作负载分散到单独的服务器变得更加困难,我必须构建一些东西以使单独的服务器相互镜像成为可能。此外,我必须确保工作负载在服务器之间自动分配,而不是简单地:用 X 数据库填充服务器,然后是新服务器、填充、新建等。
我没有聘请受过任何 SQL 培训的人。
现在对我来说最重要的是系统可以轻松维护,同时仍然安全可靠。我是一名业余开发者,明年上大学。我不想花费 50% 的时间来维护数据库。
我想我得到了您可能需要的大部分详细信息,如果您需要更多信息,请向他们索取。我提前谢谢你 :)