Cloud Computing

4 May 2020
By Jimmy Zhong

Cloud Computing (Cloud) is a massive computing resource built by Cloud provider (usually means several gigantic data centers in various geographic locations), and institutions/customers subscribe to computing resources according to their demand. Top Cloud providers are Microsoft (Azure), Amazon (AWS) and Google. Compared to traditional local databases, Cloud computing has the following advantages:

  1. Cloud provides volatile customized service. Compared to traditional servers, cloud servers can be easily scaled. Upgrading/downgrading the performance and storage can be as simple as a click. What’s more, different institutions can purchase computing-intensive, memory-intensive or storage-intensive solutions according to their needs.
  2. Cloud is also more secure because Cloud companies implement high-level encryption and routine backups (vary greatly based on subscription). Some disastrous hardware accidents—such as burglary of computers or viruses—won’t happen with Cloud. In the long run, Cloud saves money because it reduces expensive hardware purchases and does not require time-consuming & error-prone software updates.
  3. Cloud has better accessibility. Employees may access files from wherever whenever (as long as they’re online). For research institutions, Cloud is a good option to archive large data files or to maintain a repository for global collaboration.
Blog Graphics 2

While Cloud and local servers only differ in the location that the databases are hosted. SQL and non-SQL servers are two dominate and drastically different ways that databases are organized and built.

Difference between SQL and non-SQL servers: SQL servers store data in a relational base—in a table and organized into columns. Each column stores one datatype; each row represents an instance of the table: (SQL server representation)

Courselab required?timenumber of studentsteacher's email
Bio 101yesTue. 3 -4 pm40biology@carleton.edu
CS 101noWed. 9-10 am45CS@carleton.edu
A&I 101noFri. 2-3 pm15liberalart@carleton.edu

SQL has very strict formats and datatype: each course must have Yes-or-No lab value (Boolean), time value, numbers of students (Integer), and teacher’s email (strings). SQL servers are vertically scalable–easy to add more information to each of the courses, for example, another column of grade average, textbook, etc., making into the existing three courses have more depth. Top SQL server providers are MySQL and Oracle.

On the other hand, NoSQL is horizontally scalable (which means adding more courses into the directory besides Bio, CS, and A&I). And instead of organized in a table, NoSQL is hierarchical—it groups all information for Bio101 as a group, all CS101 information as a group, and within CS101 group it can have sub-groups, etc.

SQL and non-SQL each have strengths and setbacks they host and extract data differently.

SQL vs. NoSQL


SQL is more mature, with more support and analysis tools availableNoSQL is relatively new, not many analysis tools available so far
Structurally organized, can be easily migrated between applications. Thus, SQL is more universal and compatible.Since the data is organized into groups under sub-groups. NoSQL is less organized, harder to migrate and less universal
SQL has better performance in structured data.NoSQL doesn't handle complex quires well; a slower responding time when it comes to well-organized data
Time-consuming to design and build the database structure (costly)Little investment to design the modal (fast startup)
Hard to scale because upgrading SQL database relies on the expansion of hardware strengthHorizontally scalable, can scale up by expanding the database in various locations, which makes it work well on the Cloud

It’s appropriate to use SQL database for lab generated results with controlled variables. Take a biology lab that grows bacteria for example: parameters like the humidity, culturing base, temperature, strand, time of incubation, etc. are absolute necessity to record. SQL orderly sorts those data in an excel-like structure. Biologists can then make horizontal and vertical comparison. Furthermore, with more analysis tools available, SQL makes it convenient to find the inter-relations in variables that leads to changes in experiment results.

For other less orderly data, such as author information in English department, NoSQL is a better option. If one were to sort author by name, novels (published), poems, birthday, etc. into excel, some author would have a nearly empty row with lots of missing information, while some (like Shakespeare) would have a giant row. It’s better to group information under that author (similar to NoSQL organization). What’s more, literature department mostly use database to find text, instead of data analysis (finding sum, or taking averages, etc.) Thus, lack of analysis tool won’t be an issue.

After all, I found that there are so many options for databases (SQL, Cloud, Operating System, Internet Accessibility, etc.) and choosing an optimized solution for a specific client requires a lot of expertise and communications.

Bibliography:

https://www.agiratech.com/the-key-differences-between-sql-and-nosql-database/
https://medium.com/@mark.rethana/introduction-to-nosql-databases-c5b43f3ca1cc/