[JA] Introduce Oracle enhanced adapter for ActiveRecord, another choice for your Rails database.

Oracle Enhanced Adapter is one of the 3rd party ActiveRecord database adapters. It supports Rails from 2.3 to 4.1. It has been developing well since version 1.5.0 was released on the day same day Rails 4.0.1 was out, November 1st 2013. Now we are on the way to support Rails 4.2.

In Rails world MySQL and PostgreSQL are two giant databases, Oracle database does not have much presense here. Although it has better features such as good optimizers it also has some non-standard features like handling empty string as NULL. However, this situation has been changing. Finally Oracle 12c implements row limits and offset then developers can write better Top-N queries without dirty subquery and rownum statements. I'll introduce a experimental Arel implementations without ugly order_hacks method.

I have been working for Oracle enhanced adapter since August 2011, starting from Rails 4 support. It is still the first 3 years. Fortunately I'm still enjoying to do that, yes I'm not burned out yet. I'm sorry that I have nothing to do with your license fee but we can keep contributing source code to resolve your technical issues. I'd be glad to hear that anyone start using Oracle database and Oracle enhanced adapter with your Rails applications.

Oracle Enhanced Adapterは、ActiveRecord 3rd partyデータベースアダプタです。Rails 2.3から4.1に対応しており、Rails 4への対応も4.0.1がリリースされた2013年11月1日と同日から対応するなど、着実なサポートが継続されており、現在はRails 4.2の対応が進んでいます。

ご存じの通り、Railsの世界ではMySQLとPostgreSQLのふたつのデータベースが大きなシェアをもっており、Oracleの利用報告はごくわずかです。優れたオプティマイザなどの機能を持つ反面、NULLと空文字を同様に扱うなど、"標準"とはことなる独自の実装がなされてきましたが、近年では他データベースでの便利な機能やSQL標準の対応もされるようになりました。なかでも、Oracle 12cでは、row limits、offsetの対応が追加され、ようやくまともなTop-N queryが書けるようになりました。これにより、悩ましいArelでのorder_hacksが削除されたシンプルなArel実装を紹介します。

私は2011年の8月からOracle enhanced adapterのRails4対応から、まだ最初の3年間ではありますが、燃え尽きることなくやってくることができました。 ライセンス費用は私にはどうすることもできませんが、Railsで利用するための技術的な課題が解決されることで、OracleをRailsのデータベースとして採用するきっかけとなれば幸いです。

Recorded Video

Introduce Oracle enhanced adapter for ActiveRecord, another choice for your Rails database. from rubykaigi on YouTube .

Presentation Material(s)

Yasuo Honda

Job title
Oracle DBA

ActiveRecord Oracle enhanced adapter maintainer

Great Neck, NY USA