Healthcare Company Migrates from Oracle & Redis to CockroachDB
Innovative healthcare company switches from Oracle to cloud-native CockroachDB for effortless scale, postgres compatibility, and the freedom to leverage multiple clouds
Oracle’s inability to scale horizontally impedes growth and Redis has RAM limitations that hurt performance. For these reasons and more this forward-thinking healthcare company is migrating workloads from Oracle and Redis to CockroachDB.
In the healthcare industry there is a complicated backend of systems that all need to talk to each other. For example, an electronic medical record (EMR) is recorded in one system, while the electronic health record (EHR) utilizes a different system, and the insurance companies use another separate system. In order to deliver optimal patient experiences, healthcare providers need for data to flow seamlessly between all these systems.
For over 30 years this healthcare industry customer of ours used Oracle for this kind of workload. Oracle delivers the high level of consistency required for medical data. But utilizing Oracle presents well-known challenges with scale, operational complexity, and cost.
When this healthcare company decided that it was time to scale their business to new locations they knew a cloud-native database that could offer a high level of consistency and horizontal scale was the best option.
They began testing CockroachDB to see if it could replace Oracle. At the same time they were testing Couchbase to see if it could replace Redis. Redis had been selected as the database to address one of the most critical workloads at this company: ETL (extract, transform, load) pipeline. This is a heavy read/write workload that enriches and sanitizes data from every department in the company. The problem with Redis for this particular workload was that it did not have enough RAM. When Couchbase did not deliver better performance they began testing CockroachDB for the ETL pipeline as well.
In their search for a cloud-native database to replace Oracle their highest priority was consistency. Data must always be consistent in the healthcare industry. Eventual consistency is out of the question. Transactional consistency is something that Oracle has always done well and CockroachDB offers the same level of transactional consistency in a cloud-native distributed environment.
The next priority was scalability. For this healthcare company, scale means expanding into different countries as well as expanding their menu of services. Scaling up (or down) with a distributed database like CockroachDB is simple. Just add more nodes wherever you need them. Whether you’re on bare-metal, virtual infrastructure, cloud, or container-based technology CockroachDB is prepared to help you scale effortlessly.
Compatibility with Postgres was an essential requirement for making sure that developers could hit the ground running with the new infrastructure. CockroachDB is basically a cloud-native PostgreSQL which makes the assimilation to CockroachDB very swift. Additionally, CockroachDB’s compatibility with developer-friendly tools like Docker Swarm, Liquibase, Hibernate ORM, Spring Boot, and others further enhances developer productivity.
Vendor neutrality is a forward thinking concern of this customer. Currently, their data is all on-prem or in Azure but they intend to begin leveraging the multiple public clouds in order to get the global coverage that they need and to negotiate favorable pricing. And after being locked into Oracle contracts for 30 years, just having the autonomy to choose their cloud provider is reason to celebrate.
How is CockroachDB deployed?
The largest workload currently running on CockroachDB is the ETL workload mentioned previously. When Redis performed poorly they tried Couchbase, and when that performed poorly as well they decided to try CockroachDB.
The additional space in CockroachDB has allowed for significantly better performance than Redis or Couchbase. And when the primary key was based on UUID’s the performance was “phenomenal”. This workload is now in production on CockroachDB. There is a massive quantity of data in this workload that is used to facilitate collaboration between hospitals, clinics and other healthcare providers. The importance of this workload cannot be overstated.
Two other workloads have migrated over from Oracle. They are smaller than the ETL pipeline and are mostly read-only which gives the developers an opportunity to implement CoockroachDB’s recommended topologies for optimizing read speed when write speed is less essential.
CockroachDB shares some of the qualities of Oracle like SQL, transactional consistency, and cost-based optimization. But CockroachDB scales automatically, so no manual sharding is required. Shards are automatically balanced across a cluster in order to avoid failure domains and to help address heavy workloads. This efficiency of scale means that CockroachDB customers can spin up nodes in new regions as they please, or spin down nodes if demand decreases.
For companies that want to grow and are considering expansion into foreign countries, another important feature of CockroachDB is geo-partitioning. In CockroachDB data can be pinned to a location at the row level. This is important for two reasons.
- Speed: Data can be kept as close as possible to the user for optimal latency.
- Compliance: Data localization regulations dictate that some data must stay within certain borders. Geo-partitioning gives you the ability to comply with those regulations.
The resilience, effortless scale, flexibility, and developer friendliness made CockroachDB the easy choice for this healthcare industry company. The results of the migration have been exciting.
What value has CockroachDB added?
CockroachDB is simple to use, remarkably low maintenance, and has delivered on each of its promises about scale, vendor neutrality, resilience, and Postgres compatibility.
Particular highlights from this customer include the time and money CockroachDB gives back by virtue of the lack of effort required to manage the database. “It just works,” is a compliment that is often repeated by this customer and many others. The simplicity of working with the database has been an unexpected delight. And the onboarding guidance received from the CockroachDB support team was world-class.
Specific victories include:
- Compatibility with containers and the ability to test locally and then deploy into production.
- Literal cost savings by moving workloads off of Oracle and onto CockroachDB.
- Peace of mind that comes with CockroachDB’s efficient Backup/Restore protocol.
- Performance of CockroachDB as it compares to Oracle & Redis for the three existing workloads.
- Zero RPO/RTO
The constant drumbeat of moving more workloads from Oracle to CockroachDB will continue. And every CockroachDB cluster will be deployed in Kubernetes.
This healthcare company’s satisfaction with CockroachDB is immense. The increased developer efficiency, cost savings, and flexibility to scale easily will continue to drive adoption of CockroachDB within the organization for years to come.