"Talk about your understanding of Nosql"

If you encounter this question and can't find an answer

There was confusion in his mind, and he hesitated when answering.

It is recommended that you read the entire article.

Hello everyone, I'm Mic, a Java programmer who has been working for 14 years

What is the interviewer looking for in this question?

Inspection target

Obviously, this is an interview question with no standard answer.

So the interviewer asks this question, nothing more than to test your technical accumulation and summary ability.

Because only a deep enough understanding of a technology can be expressed well.

Just like when we sum up our lost youth, although there are no gorgeous words, we can always express those joys, sorrows and sorrows so deeply.

Problem Analysis

Nosql is not a new word these days.

It first appeared in 1998, when Nosql was described as a lightweight, open source relational database that did not provide SQL functionality.

In 2009, Nosql was redefined. At this time, Nosql mainly refers to the database design mode that is non-relational, distributed, and does not provide ACID.

Note that it is not a technology, but a design philosophy.

As technologies such as MongoDB and Redis are gradually widely used, everyone's understanding of Nosql is becoming more and more thorough.

In essence, Nosql is actually to make up for the shortcomings of relational databases with poor performance in some specific scenarios.

The improvement of website performance under high concurrent traffic plays a very important role.

For different business data types, Nosql also has different implementations.

For example, Redis for KV storage, MongoDB for document storage, ClickHouse for columnar storage, Neo4j for graph storage, and InfluxDB for time-series data storage.

Therefore, Nosql can be understood as either Non-SQL or Not only SQL.

Expert:

NoSQL can be understood as Not Only SQL, which is actually a general term for non-relational data storage compared to traditional relational databases.

Under the distributed and high-concurrency architecture, traditional relational databases have shortcomings, such as performance, scalability, and storage of large amounts of data.

At the same time, with the growth of website traffic, these shortcomings seriously affect website performance and cause business impact.

NoSQL, on the other hand, emphasizes the design patterns of non-relational, distributed, scalable, and performance characteristics.

From a semantic point of view, it can obtain data without standardized SQL statements.

It means that there is no need for a fixed two-dimensional table schema and metadata storage, which can effectively avoid SQL and table-related query operations.

So as to better realize the characteristics of horizontal expansion.

At the same time, for different types of data, more efficient storage forms can be flexibly used, and the performance is further improved.

If you like my work, remember to like and subscribe! ! !

Need Java interview collection, resume template scan below!

Copyright notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated. Please indicate the source for Mic带你学架构 !
If this article is helpful to you, please help to follow and like, your persistence is the driving force for my continuous creation. Welcome to follow the WeChat public account of the same name to get more technical dry goods!

跟着Mic学架构
810 声望1.1k 粉丝

《Spring Cloud Alibaba 微服务原理与实战》、《Java并发编程深度理解及实战》作者。 咕泡教育联合创始人,12年开发架构经验,对分布式微服务、高并发领域有非常丰富的实战经验。