5

出于一些无关紧要的原因,一家公司购买了 Exadata 第八机架。一些经理认为这将提高当前应用程序的性能。问题是几乎没有任何应用程序使密集的数据库工作(是的,这是查看 facepalm 动画 gif 的好时机)。因此,目前,事实证明迁移几乎没有什么好处。

这个问题很明显。大多数应用程序都是用 Java 编写的,其中一些应用程序大量使用 Solr 和 Cassandra。据我所知,Exadata 旨在存储数据,而 Exalogic 也可以保存应用程序。无论如何,我想知道是否有某种方法可以利用上述基础设施。

4

4 回答 4

4

将 Solr 替换为Oracle Text

在我被否决之前:通常我建议用一个很少使用的专有产品替换用流行的开源程序构建的现有代码。但是,如果您想在数据库服务器上使用大量空间和 CPU,那么 Oracle Text 绝对可以提供帮助。

作为更通用的建议,数据库的主要作用不是存储数据。文件系统可以做到这一点。数据库是为连接数据而构建的。如果应用程序正在读取大量数据并进行临时连接,那么这些作业就是您想要移动到数据库的作业。

于 2013-09-19T17:29:16.543 回答
1

Exadata -> Oracle 数据库极致性能。Exalogic -> 融合中间件极致性能。(Java 在这里)

您最好的举措是重构应用程序以将尽可能多的工作负载放在 DB (PL/SQL) 上。

我能想到的另一件事,但这将是一种激进的方法,我自己从未真正尝试过(是的,我也使用 Exadatas 工作)也许你可以试一试,并在这里告诉我们......

在 Exadata 的 RAM 上使用所有这些 GB 并开始调整 Java 应用程序的延迟怎么样?我的意思是,有了这么多的内存,你可以尝试设置一个非常好的堆数量,并避免垃圾收集引起的延迟。如果你真的尝试这个,请在​​这里告诉我会发生什么。

于 2013-09-20T05:55:42.177 回答
1

Java 应用程序使用哪种协议连接到 Oracle?

如果它不是 IPC(进程间通信,又名 BEQUEATH,又名共享内存),而是 TCP 并且您有许多快速和微小的往返,那么这将是您唾手可得的成果 - 消除网络堆栈。

编辑:刚刚意识到 exadata 默认情况下无法运行 java 应用程序(只有 ODA 可以)-因此无法使用 IPC。但是,也许您能够使用以前的基础架构测试 IPC 在您的一个应用程序中的影响?

于 2013-09-25T15:43:56.137 回答
1

Exadata 不能托管任何客户应用程序。你不能在那里安装任何东西。您只能在 Exadata 上托管 Oracle 数据库。这意味着您可以使用 DBFS(Oracle 数据库上的文件系统)、Java 选项(在数据库中存储和执行 Java 代码)等数据库功能。但是您需要检查您拥有哪些选项的许可证。并且使用的是内部JVM,无法定制或升级。

Exadata 是一种数据库设备,旨在以非常有效和可管理的方式处理大量不同访问的数据。

于 2015-02-09T20:47:38.600 回答