You are enjoying the following features with your database:
- Using it in production
- The data is naturally relational (related to itself)
- Huge insertion rate (no MVCC concerns)
- Complex queries
- Transactions
These are all reasons not to switch to CouchDB.
Of course, the story is not so simple. I think you have discovered what many people never learn: complex problems require complex solutions. We cannot simply replace our database and take the rest of the month off. Sure, CouchDB (and BigCouch) supports excellent horizontal scaling (and cross-datacenter replication too!) but the cost will be rewriting a production application. That is not right.
So, where can CouchDB benefit you?
I suggest that you begin augmenting your application with CouchDB applications. Deploy CouchDB, import your data into it, and build non mission-critical applications. See where it fits best.
For your project, these are the key CouchDB strengths:
- It is a small, simple tool—easy for you to set up on a workstation or server
- It is a web server. It integrates very well with your infrastructure and security policies.
- For example, if you have a flexible policy, just set it up on your LAN
- If you have a strict network and firewall policy, you can set it up behind a VPN, or with your SSL certificates
- With that step done, it is very easy to access now. Just make http or http requests. Whether you are importing data from Oracle with a custom tool, or using your web browser, it's all the same.
- Yes! CouchDB is an app server too! It has a built-in administrative app, to explore data, change the config, etc. (like a built-in phpmyadmin). But for you, the value will be building admin applications and reports as simple, traditional HTML/Javascript/CSS applications. You can get as fancy or as simple as you like.
- As your project grows and becomes valuable, you are in a great position to grow, using replication
- Either expand the core with larger CouchDB clusters
- Or, replicate your data and applications into different data centers, or onto individual workstations, or mobile phones, etc. (The strategy will be more obvious when the time comes.)
CouchDB gives you a simple web server and web site. It gives you a built-in web services API to your data. It makes it easy to build web apps. Therefore, CouchDB seems ideal for extending your core application, not replacing it.