2011-01-19 100 views
2

我想比较使用Hadoop和HBase的系统设置,并使用Oracle DB作为后端实现相同。我对甲骨文方面的知识缺乏认识,所以要进行公平比较。Oracle安装需要重负载

工作负载和非功能性要求是大致这样的:与一个简单的关系和多个(非文本)在4小时内的索引的两个表
A)12M交易。这相当于每秒833笔交易(TPS),持续。这需要每8小时完成一次。

B)确保所有的写入都是持久的(因此在集群设置的情况下,正在运行的事务可以保持机器故障),并且具有可观的可用性级别?有了可观的可用性水平,我的意思是像磁盘和单个网络接口/ TCP连接丢失等常规故障不需要人为干预。罕见的故障,可能需要干预,但应通过发射一个可快速接管的冷备用来解决。

C)另外再添加300个TPS,但是在很多表格中几乎连续24/7发生这些事情(但是所有成对的两个具有相同的简单关系和多个索引)?

某些情况下:此工作负载为24/7,系统需要保存10年的实时查询历史数据。查询性能可能比亚秒级差一些,但必须足够活跃才能考虑日常使用情况。 ETL作业的设置方式使得流水少。同样在关系设置中,这个工作负载会导致很少的锁争用。我希望索引更新是主要的痛苦。为了尽可能公平地进行比较,我预计Oracle会提供最松散的一致性级别。

我无意抨击Oracle。我认为这是一个很好用的数据库。我试图得到一种平衡开源(和NoSQL)之间的感觉,就像我们做的一样,并且使用商业支持的,经过验证的设置。

+0

你应该在更多的数据库特定的网站,如http://dba.stackexchange.com/或http://forums.oracle.com/forums/category.jspa?categoryID=18 – softveda 2011-01-19 11:10:04

+0

问这个问题有道理。我已经做了。 – FvV 2011-01-19 11:31:23

回答

3

没有人能够明确地回答这个问题。

当你去购买汽车时,你可以明智地期望它的最高速度,加速度和燃油消耗将在独立测试值的百分之几之内。一般情况下也不适用于软件,尤其不适用于数据库。

即使您提供了硬件,操作系统和数据结构的确切详细信息,以及存储的数据量和交易量的完整详细信息,性能可能会轻易变化100倍,具体取决于模式(由于开发了记录缓存热点,磁盘碎片)。

不过,话说回来,有几个要点我可以给:

1)总是一个的NoSQL数据库将超越传统的DBMS - 对NoSQL数据库的理由的理由是性能和并行。这并不意味着传统的DBMS是多余的 - 它们提供了更大的灵活性来与数据交互

2)对于中小型数据量,与其他关系数据库相比,Oracle的经验相对较慢。 Oracle RAC作为一种可扩展的解决方案也不会让我印象深刻。

3)我怀疑的工作量将需要获得一致的结果为$ 8K +)的区域运行Oracle

4)中档服务器(东西虽然有一个热备份是覆盖所有的快捷方式在很多情况下,风险/成本/收益有利于诸如RAID,多网卡,UPS之类的方法,而不是维护同步群集的问题。 5)支持 - 你有没有想过要问一个开源软件包的开发者,他们是否会提供支付支持? IME,商业软件的SLA/EULA更多的是保护供应商而不是客户。

所以,如果你认为它值得考虑,成本不是一个大问题,那么最好的答案是自己尝试一下。

1

这里没有冒犯,但是如果你没有太多的Oracle知识,那么你真的无法做出公平的比较。我与经验丰富的Oracle数据库管理员和系统管理员团队合作,他们会为比较测试(硬件/软件设置变量几乎是无限的)进行设置争论。通常这些测试是对基础设施方向放弃结论的理由(金钱也是一个关键问题)。

另外,您是否打算雇用一个Hadoop专家团队来管理您公司的数据基础架构?甲骨文并不便宜,但你可以找到非常经验丰富的Oracle专业人士(从数据库管理员,开发人员到分析师),对hadoop管理员/ dbas不太确定...

只是思考的食物(不,我不为Oracle工作;)