My name is Shanmukha Kota and I am a recent graduate from University at Buffalo. I interned with Cloudera last summer and joined Cloudera as a software engineer a couple of weeks ago and this is my first experience with CDP and CDP Operational Database. For a new hire college graduate in the industry with only academic experience with HBase, I can only say it is very simple and easy to set up and work with CDP Operational Database.
COD is a real-time auto-scaling operational database powered by Apache HBase and Apache Phoenix. It is an experience that runs on Cloudera Data Platform (CDP). You can access COD right from your CDP console. It abstracts the instances of a database and provides a black box experience to the user. COD Experience allows self-service creation and management of an operational database. The blackbox experience allows developers to provision a new database with a single click, build applications against it and deploy it on the public cloud without any complexity.
Cloudera Documentation for COD is a one-stop resource to learn more about COD. Getting hands-on experience is a goal that I wanted to achieve and in the process, I found a repository of COD example applications. This is a well-documented collection of example applications that run against the CDP Operational Database. For a beginner with no prior experience with COD, these examples are very self-explanatory, simple, and easy to implement.
Hence, I picked a couple of example applications from the repository and started working on them. Steps to getting started with COD Experience:
- Create a database in an environment using a single click and a database should be up and available within a few minutes.
- Setup your workload password. Find more information about it here.
- Download and install Apache Maven, Java, Python 3.8.
- Install CDP Client on your machine. Follow the documentation for installing CDP Client here.
- Follow the instructions in the examples repository to make changes to your maven settings-security.xml, settings.xml, and pom.xml.
- Build and run the applications.
- Voila! It is this simple to get started with COD. It took me only a few hours to understand and start using COD.
The COD experience offers connectivity with different clients like – HBase, HBase Rest Server, Phoenix Thick Client, Phoenix Thin Client, Phoenix Python, etc. CDP CLI provides a describe-client-connectivity call that allows you to get details about your database instance and the connection strings used to connect to the database. However, few clients require a few extra steps, and find more information about it here.
However, there are a few challenges I had to overcome during the initial setup. A few examples in the repository require Kerberos setup in the user’s machine. But an average developer need not worry about learning how Kerberos works. Launching an edge node in a cloud should be able to handle this. An edge node comes with a Kerberos setup and makes your task easy. Once the edge node is up and running, install a JDK and Maven. Then, copy the target jars to the edge node and run the application.
Another challenge was setting up the CDP Client and endpoint-URLs for the CDP config file. After installing CDP and copying the credentials file, you will need to set endpoint URLs that CDP CLI should connect to the API server. Another major challenge was adapting these examples to Cloudera’s internal instances of CDP. These internal environments are slightly different from our production instances. One such difference is self-signed TLS certificates. I did get to learn how TLS works but as our customer you will never have to worry about this.
Still, most of the challenges I faced were only during the initial setup. Once I set up the environment with fair installations of Python, Maven, and CDP CLI, I could interact with COD and got a few examples running. It was extremely easy and error-free to make changes and build applications against COD.
Are you looking to move to a public cloud? Whether it is deploying a new application on the cloud or moving an existing application to a cloud with no downtime, consider using COD for your database needs in your next application in the cloud. This is a great time to start working with CDP Operational Database. Begin your journey with COD today!