使用Rails和Oracle在架构上是否合理? 我担心的是,对于Rails来说,甲骨文会“太沉重”。 有什么想法吗? 感谢。
答案 0 :(得分:9)
Rails的数据库需求或多或少地归结为表,索引和CRUD。
任何提供这些内容的东西都应该能够作为Rails应用程序的后端,而Oracle肯定会在膨胀中提供的大量功能中的某些部分。如果您可以使用ActiveRecord迁移,那么您无需过分担心特定于平台的方面。
ActiveRecord的oracle-adapter(需要单独下载并放在activerecord \ lib \ active_record \ connection_adapters,btw中)在适当的地方使用特定于Oracle的元素,我能想到的主要元素是使用id生成的序列。
Oracle查询优化器非常智能,对于复杂的多表查询而言,可能比MySQL更好。
如果您将Oracle视为外部托管网站的后端,那么我会在成本方面持怀疑态度,以及已提出的有关可用性的预订。但我怀疑这个问题更多地与内部已有的内容有关,在这种情况下,我会说这是一个“好”的解决方案,你可以得到。
我正在开发Rails / Oracle上的Intranet应用程序,在本地使用OracleXE进行开发,部署到一些“大铁”机器(这是别人的工作来照顾它,我甚至不知道它运行的是什么操作系统)生产
编辑:值得看看activerecord-oracle_enhanced-adapter(它是一个宝石)作为内置oracle适配器的替代品,如果仅用于改进日期/日期时间值的处理(Oracle只有一个列类型用于两者:DATE
)。它可能让我免于崩溃......
答案 1 :(得分:1)
为什么太沉重? Oracle它只是一个可以简单到重的数据库,具体取决于您的使用。今天,Oracle有很多版本可以容纳任何用途,例如小Oracle XE。
如果您对Oracle感到满意,请使用它。别担心。
答案 2 :(得分:1)
使用Oracle作为数据库时可能遇到的问题是,您找不到许多托管公司提供oracle作为您网络数据库的选择。
也像一个巨大的数据库oracle,如果你不需要它的特定功能,为什么要使用它?答案 3 :(得分:1)
关于Oracle和Rails需要考虑的另一件事:Rails的全文搜索插件目前都不支持Oracle。实际上,几乎只有MySQL和PostgreSQL才能得到各种全文选项的良好支持。
这并不是说如果您使用Oracle,您将无法进行全文搜索,只是因为您将无法使用任何现有的插件来实现这么简单。
答案 4 :(得分:0)
我目前正在使用Oracle和一些Rails应用程序。有标准的ActiveRecord和JDBC-ActiveRecord适配器(我用JRuby托管一些应用程序),而且大多数情况下,事情都很有效。
我建议使用增强的ActiveRecord Oracle适配器。
http://rubyforge.org/projects/oracle-enhanced/
但如果您没有被锁定在Oracle中,请使用Postgres或MySQL。