如果这个问题太具体,我很抱歉,如果是的话,请告诉我!
我已经在这里和网络上搜索了关于选择最好的特定于项目的引擎来满足你的需求,但没有任何结果。那么,一般来说,选择主机/DB管理系统的最佳方式是什么?
在我的具体情况下,从现在开始,我将有一个数据库存储数据(永远?)多达150个数据源,每30/7/365(最多增加300行/分钟)就有数据。每个源将插入到它自己的表中。数据将从每个表中大量读取,例如一次转储1k+行。
就如何突出每一种选择的积极和消极之处作出一般性解释将是非常有益的。
一旦我选择了一个要开始的平台,我能做些什么来最小化我使用的空间?我计划将数据类型与输入的数据匹配,但下面是一个示例:
{ (up to)12-digit unsigned int, date/time(epoch), unsigned long, signed int (<10k), unsigned int (<1k), unsigned int (<250), unsigned double (<500) }
{ 120308, 1428844432, 8222786, -5, 0, 0, 24.7 }谢谢你的帮助。
发布于 2015-05-18 08:58:44
简短的回答:它取决于许多不同的事情。
更长的回答w/问题:如果您以前没有使用过任何数据库管理系统,那么任何主要选项( Server、Oracle、PostgreSQL)都将适合您的需要。但是,您是否已经在服务器上安装了DBMS,或者这是一个从零开始的个人项目?您需要物理服务器和您自己的软件副本,还是愿意探索基于云的选项?
您对关键数据的备份和恢复有什么计划?您需要什么级别的可用性(例如,5 9s)?除了每30秒加载一次数据外,您是经常或根本就查询这些数据,还是只是存储?
如果不了解您的应用程序、它将如何将数据发送到这个中心DB,以及您将如何使用这些数据,就很难做出明确的建议(至少对我来说是这样)。
至于数据类型和使用的空间最小化,您有正确的想法。在尽量减少数据使用时,基于用例的良好索引策略发挥了作用。使用适当的布局(星空、雪花等)正确设置维度和事实表(星空、雪花等),以最小化数据重复(如果您不确定的话查看规范化表单),假设数据仓库的使用(听起来有点像这样)将有助于提高查询性能并减少所使用的空间。
TL;DR:只需在Microsoft上建立一个或两个Microsoft实例,测试您的应用程序/服务并查看其运行情况。它是可扩展的,可以在一个很小的预算范围内,如果你不需要它,你可以摆脱它。
https://dba.stackexchange.com/questions/101717
复制相似问题