Solr spins up nicely and works effectively for small enterprise environments providing helpful mechanisms for fuzzy searches and facetted searching. For larger enterprises with complex business solutions you'll find the need to hire an expert Solr engineer to optimize the powerful platform to your needs. Internationalization is tricky with Solr and many hosting solutions may limit you to a latin character set.
I think it's a great product. We apply Oracle GoldenGate to several use cases in our organization. 1. Business Continuity Planning, 2. Query Offloading through data replication to a reporting instance of our data, 3. looking into data transformations to help support various queries for different teams within the business.
Easy to get started with Apache Solr. Whether it is tackling a setup issue or trying to learn some of the more advanced features, there are plenty of resources to help you out and get you going.
Performance. Apache Solr allows for a lot of custom tuning (if needed) and provides great out of the box performance for searching on large data sets.
Maintenance. After setting up Solr in a production environment there are plenty of tools provided to help you maintain and update your application. Apache Solr comes with great fault tolerance built in and has proven to be very reliable.
These examples are due to the way we use Apache Solr. I think we have had the same problems with other NoSQL databases (but perhaps not the same solution). High data volumes of data and a lot of users were the causes.
We have lot of classifications and lot of data for each classification. This gave us several problems:
First: We couldn't keep all our data in Solr. Then we have all data in our MySQL DB and searching data in Solr. So we need to be sure to update and match the 2 databases in the same time.
Second: We needed several load balanced Solr databases.
Third: We needed to update all the databases and keep old data status.
If I don't speak about problems due to our lack of experience, the main Solr problem came from frequency of updates vs validation of several database. We encountered several locks due to this (our ops team didn't want to use real clustering, so all DB weren't updated). Problem messages were not always clear and we several days to understand the problems.
Once set up, it's very easy to use and keep running, it's getting to that point that can make it cumbersome to some. Also, depending on the data that you want to replicate, the configuration files can become quite cumbersome to maintain. Learning curve can be high for some who are not as experienced with databases and transactions.
Oracle Support for Oracle GoldenGate has been quite responsive and quite helpful in the few situations where we've needed it. Furthermore, the documentation on Oracle GoldenGate is so good that we often do not need to contact support with issues as the fix is already documented and able to be run by us without needing to open a ticket.
We've had Oracle consultants come as well for training days to talk about new features, parts of Oracle GoldenGate we may not be using and things of that nature. The consultants they send are great as they're very knowledgeable about all things Oracle GoldenGate and great resources for any questions or concerns you may have with the product.
We used Oracle University for our Oracle Golden Gate Training and it was top notch. We were able to turn our whole DBA team to Oracle GoldenGate newbies to Oracle GoldenGate troubleshooting experts in a matter of a few days, while this obviously did not come cheap, the company felt that it was worth the investment.
If Oracle GoldenGate is new to your organization, expose as many DBAs as possible to it. Having your whole team fluent in it will overcome early operational hurdles and allow it to more quickly become an accepted and supported part of your supported platform for your team that will enable the business to use it to its fullest.
We use Oracle Data Guard as a backup tool, but not for data replication. Data Guard is not suited for real-time data replication in our non-normalized reporting database nor for the database we are using for our upgrade project, as Data Guard is not able to transform data and is not able to synchronize data into different schemas, which is necessary for our project. Additionally, our project database is on Oracle 12g not 11i: I am not 100% sure Data Guard is able to replicate from 11i to 12g
Have never had any issues with scaling Oracle GoldenGate itself, however Oracle GoldenGate Monitor does have scaling issues, but with Oracle GoldenGate now able to be monitored by Oracle Enterprise Manager, this is no longer an issue, in my opinion.
In earlier versions, DDL support was limited as well as the need of primary key constraints in the source tables. This made me create partitions, sub-partitions, truncatations and perform other operations upon they are performed in source systems and I need to discuss with source system administrators and need to convince them to let them create primary keys for replicated tables.
But both issues are solved now.
Installation is straightforward, easy.
Deployed everything within Oracle Data Integrator.
Developing 1000 of ODI interfaces for loading into Operational Data Store took not more than 100 man/days. But, adding them to Golden Gate is taking not more than 5 man/days.
Management Pack and VeriData are additional packs for your management and data verification needs.