Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Discussion 7 - Topic 1 The integration of applications is becoming increasingly

ID: 3728071 • Letter: D

Question

Discussion 7 - Topic 1

The integration of applications is becoming increasingly complex. One difficulty is the integration of different data types within a variety of applications – such as customer information that may exist in different database schemas and technologies within an organization. The term Polyglot Programming refers to applications written in a mix of languages to take advantage of the fact that different languages are suitable for tackling different applications with different types of data models.

As you complete the tasks below, place your answers or comments on this document. After you complete all the tasks, write a summary of your answers and comments and post the summary to the discussion. Attach this document containing your answers and comments to your discussion posting.

1. Read about Polyglot Programming using these web pages: a. https://www.martinfowler.com/articles/nosql-intro-original.pdf b. https://rubikscode.net/2017/07/19/introduction-to-nosql-and-polyglot-persistence/ c. https://www.codeproject.com/Articles/1197314/Introduction-to-NoSQL-and-Polyglot-Persistence d. http://codemonkeyism.com/nosql-polyglott-persistence/

In your own words, what is polyglot programming and how has it influenced the used of NoSQL databases?

2. List at least three resources in APA style that you used to complete the tasks.

3. List three things that you learned from this assignment.

Explanation / Answer

Question 1)

Polyglot programming is combining multiple programming languages and multiple modularity paradigms in application development. In polyglot programming multiple languages are used in one application development. An application consist of multiple layers and a single programming language may not always be useful for complete application.

The concept of polyglot persistence is relatively new in backend development, where multiple types of database are used in backend including the RDBMS and NoSQL databases. NoSQL database comes in different variations and each type is specialized for specific needs. A polyglot database is often used to solve complex problems by breaking it into fragments and applying different database models. One example is most popular online video streaming website Netflix, which uses Cassandra, Hbase, SimpleDB and Neo4j in combination to handle there backend.

Polyglot database comes to picture with invent of NoSQL databases. NoSQL databases comes in variation each one for specific purpose. The variation of NoSQL database are- Key-value pair database, column oriented database, Document oriented, Graph oriented. noSQL database are non-relational database which means it is a model through which we perceive data in the database.

Each of the noSQL database used in any application serves a different purpose. The example given above of Netflix may use ‘Redis’ database for maintaining user session, ‘Neo4J’ for recommendations, ‘RDBMS’ for transactions (financial data), ‘Cassandra’ for analytics, ‘MongoDB’ for movie catalog. So from this example it is clear that different databases serves different purpose in application making the application more robust, fault tolerant, consistent and maintaining the high availability of the application.