首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该为我的记录器应用程序使用什么类型的数据库?

我应该为我的记录器应用程序使用什么类型的数据库?
EN

Stack Overflow用户
提问于 2013-09-04 19:42:43
回答 3查看 93关注 0票数 0

我正在为一个大型模拟软件开发一个记录器,通过记录相关的状态来跟踪现有的测试覆盖率。我们计划记录大约150个状态表,每个表包含大约100个字段。我们有一个由10,000个测试组成的回归测试套件,我们希望记录每个测试的状态。此信息将用于查询功能覆盖率。

从数据库使用角度看:

  • 写入数据库是每个测试,并将只完成少数几次。所以它绝对不会写得很密集。
  • 阅读(查询)是主要的用法。来自不同表的几个字段将用于创建复杂的查询。

考虑到这个使用模型,并且之前没有数据库知识,我不确定我真正想要的数据库属性是什么。

我可以简单地使用SQL表,但我也想利用这个机会学习NoSQL数据库,并向其开放。这是否属于NoSQL的“键值”类别?

EN

回答 3

Stack Overflow用户

发布于 2013-09-04 19:48:33

对我来说,这一点都不适合NoSQL。NoSQL的最大优势在于它的性能优势--您真正需要的是结构良好(易于查询)的数据。SQL非常擅长构造数据并使其易于理解。

票数 1
EN

Stack Overflow用户

发布于 2013-09-05 06:05:27

这取决于许多因素:

  1. 你需要/需要大规模的缩放吗。我的意思是,你会成长为更多的服务器,或者一个实例就足够了。一旦您想要提供存储集群,noSql通常是更好的方法,因为它常常以各种方式放松锁定,从而提高存储的吞吐量。
  2. 您的模式是固定的还是您将根据可变需求生成它?文档数据库支持blob持久化,它们并不强迫您定义模式,您只是持久化json,仅此而已。另一方面,key:value,就像redis一样,允许您将数据分散到独立的、不相关的字段中,这些字段可以自己处理。
  3. 你的问题是什么。您计划从一个表中提取几个字段吗?还是因为您总是需要所有字段,所以对您来说获得整个json是有意义的?
票数 1
EN

Stack Overflow用户

发布于 2013-09-05 06:52:34

您的数字似乎不多,但我不确定单个数据元素的大小。但总的来说,如果数据符合内存,那么Redis将是一个很好的NoSQL存储对您的使用。它有丰富的数据类型支持,如列表、排序集,在您的情况下可能很有用(例如:假设将测试的所有参数存储在一个集合中)。数据将定期同步(通常每秒钟一次)到磁盘,读取将是非常有效的。

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

https://stackoverflow.com/questions/18622444

复制
相关文章

相似问题

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