首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何建立一个真正意义上的全食工程分布式数据存储系统

如何建立一个真正意义上的全食工程分布式数据存储系统
EN

Database Administration用户
提问于 2015-08-14 18:55:24
回答 2查看 70关注 0票数 2

上下文

真正的容克食品项目由一个按你的意愿付费(PAYF)咖啡馆网络组成。我们需要记录来自100家咖啡馆的数据,每天产生50行左右的数据。我估计(如果我们扩展的话)每年可以产生大约100万行。如何最好地将这些数据存储在一个允许计算机节点以尽可能简单和用户友好的方式记录数据的系统中?这就是我问题的实质。详情如下。

数据存储

简介

我知道存储数据的适当方式是用术语“@Wickham2014”来描述的。以这种方式存储的数据规则如下:

  1. 每个变量形成一列。
  2. 每一次观察形成一排。
  3. 每种类型的观测单位构成一个表。

TRJFP数据

TRJFP收集的数据在几个级别上运行,因此需要几个表。这些是

  1. 截获食物
  2. 每日总数(如提供的膳食、财政状况)
  3. 拦截点
  4. 咖啡馆

前两张桌子通常由每个咖啡馆每天收集。关于“截取点”的第三张表格(从那里提取食物)也被每家咖啡馆收集,但只有在一个新的截获点被记录下来时才会更新。第5表提供了所有咖啡馆的全球概况,每次添加新咖啡馆时都会更新。

到目前为止,数据库中最大的表将是1,它可能每天存储50个新项目。假设(乐观地)在未来的咖啡馆中记录数据,我们可以记录100家咖啡馆的数据。这将是每天5 000行或每年大约180万行数据。这并不是真正的大数据,但值得仔细考虑如何存储它。

与每个表相关联的变量描述如下。数据可使用性的关键是可以链接数据集。因此,描述连接每个表的链接变量。

Options

存储这些表的主要选项有3种,从简单到复杂。

  1. 关于Google融合表
  2. 通过在线服务器系统管理定期备份的.csv文件,就像闪亮一样。
  3. 在成熟的数据库系统上,如postgres
EN

回答 2

Database Administration用户

回答已采纳

发布于 2015-08-14 20:25:49

一般来说,我会推荐一个完整的关系数据库。这将给你所需要的一切,并让你优雅地成长。

至于具体使用哪种引擎取决于个人偏好/预算限制/托管需求/与应用层的兼容性/等等。就我个人而言,我可能会使用微软堆栈(SqlServer数据库、应用程序层的C#等),因为这是我最熟悉的,而且编码效率最高。其他人可以选择基于X,Y,Z的其他平台。事实上,任何主流的关系数据库引擎都将支持您的需求。

我不推荐csv文件,因为这很可能会变得难以管理。我会压倒性地推荐Sql而不是csv文件,只给出这两个选项。两者都是轻量级的,但Sql至少在功能上提供了一些数据库。这里有一个很好的链接是SqlLite的优点。基本上很好:本地存储和/或替换CSV/自定义数据存储文件。不是为:替换客户机/服务器SQL数据库引擎(SqlServer、Oracle、PostgreSQL等)而设计的。

我也不推荐Google融合表,因为我相信随着你的成长,管理起来会更加困难。我可能错了,但这是我对这类解决方案的一般经验。同时,融合表是一个实验性的应用程序,所以我会担心,如果“实验”失败.

我不推荐NoSql,因为我认为您不会有什么收获,而且关系类型的报告也会很复杂。

票数 3
EN

Database Administration用户

发布于 2015-08-14 21:33:54

想象一下,要从您的帐户中提取一些现金,您的银行将要求您对ATM上的Postgres数据库运行SQL查询。

"Computer noobs“指的是应用程序的用户,不应该直接将他们的数据”记录“到CSV文件、Google表、SQLLite、Postgres、MonetDB或任何其他数据库中。相反,您(或您雇用的开发人员)应该提供一个简单易用的应用程序,以隐藏数据存储、访问、分发和复制的复杂性。

然后,对特定数据存储引擎和数据模型的选择取决于开发人员,基于其他标准(尽管体积度量将发挥一定的作用)。

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

https://dba.stackexchange.com/questions/111100

复制
相关文章

相似问题

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