Databases for Web-Developers

Frontend and Backend:

What is a database? Why is it important for web development?

Some of the popular database management systems used by web developers:

1. MySQL:

Figure 1: MySQL Architecture [9]

Some features of MySQL:

  • MySQL database is very much easier to use. Users have to get only the basic knowledge of SQL. Users can interact with MySQL by using simple SQL statements. It is very much secure to use, consists of a solid data security layer that protects confidential data from intruders. Passwords are also encrypted in MySQL.
  • Because of its client-server architecture, the database server and many clients can communicate with the server; that is, they can query the data, make changes in it, and also be able to save it. MySQL supports multithreading which makes it easy to scale. MySQL can handle any amount of data, up to as much as 50 million rows or more than that. The default size limit of the MySQL database is 4 GB but users can increase this number to a limit of 8 TB of data.
  • MySQL is one of the fastest database languages, having a large number of benchmark tests. Also, it is allowing its users more flexibility by supporting several embedded applications. MySQL is compatible with many operating systems, like Novell NetWare, Windows, Linux, etc. [10]

Why do web developers prefer MySQL:

  • MySQL allows rollback, commit, and crash recovery to the transactions. Also, it is very memory efficient because of its very low memory leakage problem. MySQL gives a very high-performance rate as compared to other databases without losing essential functionalities of the software. Also, it is more reliable, and cheaper because of its unique storage engine architecture.
  • MySQL uses Stored procedures, triggers, and views which allows the user to give high productivity. The partitioning feature of MySQL improves the performance and provides fast management of the massive data. Also, it provides a singular graphical user interface (GUI) tool named “MySQL Workbench”, which works with database architects, web developers, and database administrators [11].

Some popular websites that use the MySQL database: Facebook.com, linkedin.com, YouTube.com, Wikipedia.com, Twitter.com, etc.

2. PostgreSQL:

Figure 2: PostgreSQL Architecture [13]

Some features of PostgreSQL:

  • PostgreSQL offers many functionalities that help web developers to build an application and it also helps administrators to build a fault-tolerant environment by protecting data integrity.
  • PostgreSQL is more compatible with different platforms with the help of all major languages and middleware. It also offers the most urbane locking mechanism and support for multi-version concurrency control. PostgreSQL has mature server-side programming functionality and full support for client-server network architecture.
  • It is a log-based and trigger-based replication SSL with a standby server and high availability. The main feature of PostgreSQL is it supports the JSON which allows linking with other data stores like NoSQL which acts as a federated hub for polyglot databases [14].

Why do web developers prefer PostgreSQL:

  • PostgreSQL consists of features like Multi-Version Concurrency Control (MVCC), point-in-time recovery, tablespaces, asynchronous replication, nested transactions, online /hot backups, a classy query planner/optimizer, and write-ahead logging for fault tolerance.
  • PostgreSQL supports various operating systems such as Linux, Unix, Windows, Mac OS X, etc. It is an open-source system that makes it easier to upgrade or extend. PostgreSQL allows users to define their own data types, build custom functions. It also allows users to write code in other programming languages like python without recompiling the database [15].

Some popular websites that use the PostgreSQL database: Yahoo.com, Skype.com, Netflix.com, etc.

3. MongoDB:

Figure 3: MongoDB Architecture [17]

Some features of MongoDB:

  • Each database which a developer uses contains collections that in turn contain documents. Wherein each document can have many different fields. The size and content of each of the documents can be different from each other.
  • The document is more in line with how the developers construct their classes and objects in their perspective programming languages. Developers can store a clear structure of classes having only the key-value pair instead of storing them in rows and columns.
  • It is fine to not have the schema for the documents in MongoDB which is defined beforehand. Instead of that, the fields can be created on the fly.
  • MongoDB consists of a data model which allows users to represent hierarchical relationships, to store the arrays, and other complex structures in the easiest way [18].

Why do web developers prefer MongoDB?

  • MongoDB is a document-oriented database. It stores the data in its form of documents instead of having data in a relational type format. This property of MongoDB makes it more flexible to use.
  • MongoDB supports the search based on field, range queries, and regular expressions.
  • Indexing is a key feature in MongoDB which makes the user use this database. To improve the performance of searches within MongoDB indexes can be created. Any field present in the MongoDB documents can be indexed.
  • Also, MongoDB offers some functionalities such as replication, which consists of two or more MongoDB instances. There are certain replica sets involved in MongoDB. Each replica set member can act within the role of the first or the secondary replica at any time. These replicas perform all the read/write operations.
  • The sharding Concept is used in MongoDB to scale the data horizontally by splitting it across multiple MongoDB instances. MongoDB can run on multiple servers at an equivalent time, balancing the load and duplication of the info to stay the system optimized and running just in case of hardware failure [19].

Some popular websites that use the MongoDB database: ebay.com, Shutterfly.com, borderfree.com, etc.

4. Oracle:

Figure 4: Oracle Architecture [21]

Some popular websites that use the oracle database: linkedin.com, jpmorganchase.com, pnc.com, cdkglobal.com, etc.

5. Cassandra:

Figure 5: Cassandra Architecture [24]

Some features of Cassandra:

  • Cassandra features a design during which all the nodes are at an equivalent level which provides operational simplicity and straightforward scale-out. Also, Cassandra's data can be written and read in any mode.
  • As more nodes get added to the database, the performance of Cassandra increases, which is the key feature of Cassandra.
  • Failure in Cassandra DBMS is very rare since it replicates the data on different nodes which ensures no single point of failure.
  • The nodes which are failed to store can be easily restored and recovered in Cassandra DBMS. Also, it supports the data types with fast writes and reads.
  • Security of the Cassandra DBMS is very delicate, as the data is protected with commit log design and built-in backup and restore mechanisms. It can compress the data up to 80% without any overhead.
  • Cassandra provides a query language, which makes it easier for the relational database developers moving from a relational database to Cassandra [25].

Why do web developers prefer Cassandra DBMS?

  • It completes the requirement for fast writes. Also, it easily deals with data variety, data complexity, and data velocity issues. It can handle massive data sets in a humongous environment.
  • Cassandra is easy for admiration and it provides custom tuning. It is very easy to integrate with the core applications since it has excellent monitoring options [26].

Some popular websites that use the Cassandra database: facebook.com, twitter.com, nytimes.com, Walmart.com, etc.

Comparison of Databases: [27]

Table 1: Comparison of Databases

Operating System (OS) Support to Databases: [28]

Table 2: OS Support to Databases

Summary:

References:

--

--

--

Artificial Intelligence in Healthcare

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Understanding Dependency Injection by example with the Symfony DI component (part 1/2)

The Datapath

AWS API Gateway as Ingress Controller Advanced settings — Part 02

SPA vs. MPA: How to Choose What is Better for You?

So, You Want to Start a Software Scam!

Break the rules of light and make n

3 Tips About Computer Training You Can't Afford To Miss

in UnityHow to use the Scroll view UI element in Unity?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tejas Kachare

Tejas Kachare

Artificial Intelligence in Healthcare

More from Medium

My First Clojure Backend Using Ring, Jetty and Compojure

Serial Communication between Raspberry Pi and Arduino with Kotlin

Postgres performance optimisation — 1

Circle CI while waiting for ADO