In the world of analytics where every click on a website is a candidate for Data Analysis it obviously involves immense data generation. For this huge amount of data, there is a big need to have huge databases to hold not just the raw data but also the simplified, summarized and analyzed data as a source for generating MIS and other analytics reporting to the top management for decision making.
This data piling up for days and months together and we are talking about huge databases. Though businesses employ methods of controlling and managing such data by compressing / purging and storing the data as historical data in some other location(database), this too requires a fair amount of Database space and over a period can become difficult to manage.
This huge data calls for 2 important things.
- Data Management and
- Data Performance
Needless to say, both are tightly coupled with each other. These 2 data-related issues form the basis for exploring new and innovative ways of handling data.
Need for Cloud Database (DBaaS)
Talking about the huge amount of data that is getting generated and the need to manage this data for analytical purpose calls for managing big database storage capacities by companies. This was leading to huge overhead costs and there was a need for a solution to take care of this. This called for a highly scalable, managed Service for databases or offering database as a service.
Like SAAS (Software as a Service) and PAAS (Platform as a Service), Database is also being offered as a Service, known as Database as a Service (DBaaS).
DBaaS offering is also known as Cloud Database as it runs on the Cloud Computing Platform.
Cloud Database (DBaaS) Architecture:
Cloud Database or DBaaS concept does not carry or deploy their own Database but instead, rent out the Database and use it as a Service. The Architecture for the Traditional as well as DBaaS is given below and explained.
Traditional Database: In Traditional Database we have on-premise Database Servers, and Application / Analytics Servers to host the Applications and dedicated or Private Connections to connect to the Database. The Company owns all the Servers and must bear the entire cost associated with Procurement, Installation, and Maintenance of the Database.
The Architectural Diagram is as given below.
DBaaS (Cloud Database): The Cloud Database setup is as given below. The Cloud Database is hosted by various Service providers and is available over Public Cloud Network, to be rented out. The Company availing the service saves on the Procurement, Installation and Maintenance cost of the Database.
The Architectural Diagram is as given below:
Pros and Cons of Cloud Database or DBaaS
Building and maintaining a traditional database can be very costly, time-consuming and it can be a difficult process to manage, especially for businesses with limited resources with small and medium Database requirements.
DBaaS means businesses, big and small, can size their database to meet their needs and their budget, and dynamically scale their DB requirements as things change from day-to-day and year-to-year.
DBaaS – (Cloud-based database) offerings bundle together a package of data management services where companies don’t have to deploy and manage their own DB Servers and Infrastructure, the Databases are hosted and managed by a third party and access by users on Cloud across the Globe at a price.
Apart from these, there are many other factors which demanded a need for a Cloud-based DBaaS as against the traditional method. Some of them are mentioned below
- Need to manage huge volumes of data.
- Operational efficiency. (Cost of storing and maintaining such huge volume of data is highly reduced) and
- Strengthened disaster recovery and business continuity.
As per forecast by International Data Corporation (IDC), the deployment of Applications on Cloud will increase by 15.3% YOY. The report also states that using Cloud Computing gives @520% ROI because of the below points.
- 70% faster movement to Market. As the DB is already available, the delays as regards to procurement and Infra is not required. We can directly use the DB Services and host our application.
- 80% more Apps Launched: As multiple Apps are readily available hosted on the Cloud, we can leverage the availability of the Apps to our Advantage.
- 75-85% reduction in infrastructure costs. As already indicated above, the entire Infrastructure costs along with the networking cost and the overheads involved with it and the maintenance is not required. The DBaaS provider takes care of all this and the Company gets the advantage of using only the Services.
Gartner predicts that more than 75% of companies have cloud-First Strategy and its increasing YOY.
Advantages of using DBaaS / Cloud Database
- Highly Scalable – near Infinite Data Storage Capacity.
- Cost-Effectiveness – This is the biggest advantage where you pay for what you use…also, the cost of hardware and networking is eliminated.
- For businesses struggling to manage their data, the cloud can provide a low-cost alternative to investing in infrastructure to manage it all on their own sites.
- For DBaaS, the company pays for what it uses and for the time it uses. Its infinite scalability is a big advantage when it comes to increased or reduce storage space.
- The Database Licensing and renewal cost is borne by the Service provider and the business need to invest in that.
- Data Security and Business Continuity are also taken care of by the Service Provider.
There are some obvious disadvantages of this DB Managed Service as below
Disadvantages of using DBaaS
- No Direct access control to the Database. If something goes wrong, you are helpless.
- No Control on the physical safety of the Servers. In the case of Natural Calamity at a place where your server resides or the system going down, you might have to face downtime if not Data loss.
- You are at the mercy of the Cloud Database server management without direct control for your sensitive data.
- For Smaller companies or Mid-size databases (DB size <1 TB), it might be worth maintaining their own DB servers over a period maintaining your own DB Server does become cost-effective.
Some of the DBaaS available in the market which is widely used are
Amazon Relational Data Service, Amazon DynamoDB, Google Cloud SQL, Google BigQuery, Azure Cosmos DB, Azure SQL Database, IBM Cloud Database, Oracle Database Cloud Service, etc.
Comparison between on-premises Traditional Database and Cloud DBaaS
Conclusion: Looking at the current pace at which companies are adopting Cloud Technologies, there is no doubt that DBaaS is here to stay. With Annual Growth of more than 67%, we do see more and more companies moving towards and benefiting from managed database services and DBaaS or Cloud Database is the future of Database.
This blog has been co-authored by Mangesh More.
Mangesh More: Started off as a Database Developer in Oracle pl/sql and has worked on various versions of Oracle.
His 20 Years of experience includes working US and Europe Clients on Financial Domain in Client-Server Architecture apart from working as a Data Modeler and Database Architect.
Besides work I enjoy Music, Trekking, visiting different places and spending quality time with Family and Friends.
About Rohan Wadiwala
Rohan is a Solution Architect for MS Stack in Sogeti India Microsoft Practice & Sogeti Europe. He has 13 years of professional experience with 4 years in Architect role covering all aspects of software life cycles on Microsoft & DevOps platform. Rohan is actively involved in absorption of review of new technologies including Docker, Azure, etc. Solution Architecting: Involved in Solution Estimation, RFP response for .Net projects across various industry verticals.
More on Rohan Wadiwala.