我有一个用例,其中一个相当大(大于1TB)的SQL DB必须移动到云中,我正在考虑使用Redshift而不是一些RDS解决方案,因为它有点便宜,而且我可以在10秒内处理我的查询的延迟。应用程序将很少查询数据库--每天大约100次。
与RDS相比,使用Redshift会是一个合理的选择吗?
更新:系统将每天更新数据库一次或两次。
发布于 2017-04-04 06:59:49
关于什么对你的业务最有利的争论将永远存在,最好的决定将由你考虑到所有的成本和业绩权衡,但根据我的所有经验和你上面提供的信息,我可以自信地告诉你以下行动将产生的影响:
如果数据不是实时的,您可以继续使用Redshift。但是,如果你需要实时数据,或者你的其他指标依赖于它,比如显示平衡或忠诚信用点,那么红移并不是理想的选择。理想情况下,当CPU使用最少时加载数据。
作为专栏,预计批量写作将非常缓慢。因此,如果插入数据,请确保是否发生在午夜,以便在ETL任务中不消耗CPU。
如果数据集是OLAP,那么Redshift是理想的。如果数据是OLTP,那么切换到OLTP将不会有性能上的好处,尽管它可能会节省一些成本。当你的业务发展的时候,这将是一个痛点。
我们需要理解的是,Amazon与任何基于行的数据仓库都不类似。它是用来分析的。如果您正在生成大量数据(每天以百万计),并且需要对其进行查询,那么它就是您的工具。公司使用Amazon进行队列、用户行为和趋势分析,因为这涉及查询一个庞大的数据集。柱状数据库用于查询数百万条记录,因为对柱状取向进行了优化,以查询庞大的数据集。
如果您正在存储OLTP数据集,如创建的用户、所下订单、订单属性、首选项、平衡等,则amazon不是您的工具。写入将是缓慢的,在查询这样一个小的OLTP数据集中,您将看不到任何性能的提高。
此外,如果您的体系结构具有Master - Slave配置,您就不能忍受任何延迟,而且使用RS会导致数据迁移到从服务器的延迟,因为它没有为写操作进行优化。从服务器被期望是主服务器的副本,包含几乎实时的数据,并且使用RS作为这种架构将造成无用的延迟。
然而,如果你捕捉到用户的行为,点击和手势,移动的角度,拉特/长他的访问.任何大量生成数据的内容,您都将查询庞大的数据集以进行分析,然后Redshift将成为您的工具。这样的数据点不需要实时加载,一天可以加载一两次。
我建议,只有当你看到性能上的改善时,才可以选择红移。如果您只为节省成本而切换,并且您的业务在未来升级,那么再次迁移到适当的体系结构将是一项艰巨的任务。
发布于 2017-04-09 04:58:27
听起来,基于您的用例Redshift可能是一个很好的选择。Redshift更像是OLAP,而不是OLTP数据库。在非数据库语言中,它更适合于实时插入或读取(实时是次秒)。Redshift的并发性也比RDS低得多,但这听起来并不是你的强烈需求。
如果您需要的话,RDS是有意义的:
因为您可以处理超过1秒的查询时间,但是在10以下和查询工作量不太大的情况下,Redshift应该可以正常工作。
发布于 2017-04-06 15:37:41
AWS已经明确地定位了Redshift :这对于数据库仓库来说是很重要的。
简而言之,AWS期望管理员:
简而言之,移动到红移的可能或者不是为您提供了任何成本和/或性能优势。不是魔法子弹。
https://stackoverflow.com/questions/43176352
复制相似问题