我们正在设计一个应用程序,它将处理各种设备的使用情况数据。这些设备将属于不同的客户端。这些设备的数据将由一个小型使用检测设备收集,该设备将连接到这些设备。我们计划编写一个使用node.js
和express
的API,它将为我们所有的客户提供服务。该API将由门户,iPhone应用程序和小型使用检测设备使用。处理多个组织/客户
有两组数据 -
- 数据是为所有客户端常见。这将包括各种设备的校准数据。
- 每个客户端都独有的数据。这包括收集有关特定设备本身的数据。这将是很多数据,每天在表格中有超过5000条记录。
我们的计划是为每个客户拥有不同的URL。所以Company A
将有companya.api.myapp.com
和Company B
将有companyb.api.myapp.com
。但他们将在内部都指向相同的API。我们不会有API
(node.js代码)部署在多个站点上。诸如harvest之类的服务具有这样的实现。
对于数据库,我们有两个选择 -
- 俱乐部所有的数据为所有客户到一个单一的数据库,让每一个表有一个
client_id
列确定哪些客户端的数据属于。这个数据库将变得非常快速。 - 拥有所有客户端通用的数据的主数据库,但对于不同的客户端具有不同的数据库。我们将有一个算法,它采用公司名称并确定要连接的数据库的名称,或者我们可以将
db_name
它存储在客户端表中。这可能是一个维护头痛。
我希望有人能够像这样分享他们的经验,或者评论什么是处理这个问题的最好方法,所以我们可以从正确的方向开始。
编辑:我们计划首先将从特定设备收集的运行时数据转储到哑数据库中。然后数据整理者将定期在该数据库上运行,并将数据推送到多个表中。
每天5000条记录是否正确?还是有其他数据需要考虑。我问,因为5000是一个非常小的数字。 – 2014-10-21 15:44:51
它可能超过5000条记录,我说6000左右,但是每行都有很多数据被转储。 – 2014-10-21 17:39:48