Database as a Service
Database as a Service (DbaaS) is a cloud computing service which provides user the flexibility to access the Database over the internet without having to install or maintain DB software in a physical machine. It removes the worry about the database administration, license, scalability, backup, security etc which are considered to be the key factors for managing a database. Another important thing is that these services are provided on “pay as you go” model allowing the users to pay for the usage instead of a fixed cost paid for licenses and investment on procuring and maintaining the physical machine.
Evolution of Database
Database is a key element for the application to work and it had evolved drastically solving most of the real world problems in terms of maintaining & accessing data.
File Based Database
In the early stages, data was stored in files just like saving data on notepad or wordpad. ISAM & VSAM are the best examples. Though it provided a variety of access methods to fetch or process data it had its own disadvantages
- Requires lot of programming
- Less security
- Time consuming for searching and sorting
- Intend to have duplicates in data
In order to address the drawbacks of file based system, hierarchical database came into existence. IMS and System 2000 are the best examples for this kind of database. Though it provided efficient searching, data independence, more security than the file based db and less redundant data, following were considered as cons
- Complex Implementations
- Difficult to Manage
- Lack of structural implementations
Network Based Database
Network based databases are extension to hierarchical databases and it seemed to solve most of the limitations with the hierarchical database. CODASYL – IDS, TOTAL, ADABAS, IDMS, etc are examples for this kind of database.
Relation Database (SQL DBs)
Relational databases are being used widely today which provided the structure & relation between data. This helped in Data Analytics & Business Intelligence evolve much since it used the concept of tables, rows & columns. MSSQL, MySQL, Oracle DB etc are considered to be best examples for this kind of database. This provided the normalized form of maintaining the data. Base for the relational database is that the “SQL – Structured Query Language”.
SQL DbaaS in Market
Following are the DB as a service provided by different providers in the market
|Amazon RDS,Microsoft SQL Azure,|
VMWare Solution Exchange
|Amazon RDS,Google Cloud SQL,|
|Amazon RDS,Oracle Cloud||Oracle|
Now the buzz word is NoSQL which means “Not Only SQL” (and not ”No to SQL”). This is considered to be the extension for SQL databases. NoSQL DBs does not need to have specific structure for the data supporting faster retrieval speeds which is the key thing that is making it more popular.
Classifications of NoSQL DBs
|AWS||DynamoDB||Key Value Stores|
|Oracle Cloud||Oracle NoSQL|
|Cloudant Data Layer||CouchDB|
- Ability to Scale – NoSQL DBs are designed specifically to have scalable databases which in turn makes the application scalable
- Supports heavy data read/write [big data] – Though the data is unstructured, major advantage is that the ability to retrieve heavy data faster than SQL DBs
- Flexible data models – This allows quicker and agile application developments where lot of things are being unknowns.
- Less Matured – It has become popular in a very short time and will eventually take some time to mature as like SQL DBs
- Lack of Support – these being new, support remains a question and should evolve much.
- Analytics and business intelligence is currently difficult
- Administration – requires lot of effort to install & maintain
- Lack of Expertise in the market – when compared to SQL DBs, expertise available for NoSQL Dbs is lacking currently and lot of these companies have started providing support promoting NoSQLs.
More Info on Amazon Dbaas
Amazon RDS refers to “Relational Database as a Service” providing MySQL, MSSQL, Oracle & PostgreSQL as Dbaas. Signing up for RDS provides a hostname for accessing the database which can be connected through the respective database clients available in the market. It works just like a DB installed on a remote machine providing user the flexibility to access it anywhere and anytime without having to bother about the security & backup mechanisms a lot.
SimpleDB is a NoSQL DB provides as DbaaS in Amazon. It has the impression to fit small businesses handling controlled amount of data having the following characteristics
- Storage limitation of 10 GB
- Very Limited in request capacity (25 writes/second)
- Manage the partitioning and re-partitioning of your data
- Does not support data types
- Allows creating indexes for every field in the table
DynamoDB is again a DbaaS provided by Amazon. It has the impression to fit large businesses handling high volumes of data. Following are the key things about
- Limited but high capacity (10,000 writes/second)
- Supports limited number of data types like Number, String & Binary
- Indexing to be set before the table is created and cannot be modified
Good news is that it being used by the games FruitNinja and BattleCamp.
It is a column based NoSQL DB optimized for data warehousing. It uses SQL client, PostgreSQL drivers and standard OBDC & JDBC connections. It is scalable, fast, and promised to be cheap.
It uses Redis – a open source in-memory NoSQL key value store. Caching improves performance of the applications by storing huge data in memory for low latency access.
Lot of new NoSQL DBs are coming to market day-by-day which means that trend is turning towards NoSQL era. As the NoSQL DBs are being evolved, DbaaS providers are also rapidly increasing in the market which is helping the users to try, play & adapt new databases for solving real world problems.