nosql意味着什么吗?谁能简单地给我解释一下吗?

时间:2021-07-07 01:35:50

in this post Stack Overflow Architecture i read about something called nosql, i didn't understand what it means, and i tried to search on google but seams that i can't get exactly whats it.

在这个post Stack Overflow架构中,我读到了一个叫做nosql的东西,我不明白它是什么意思,我试图在谷歌上搜索,但是我不能确切地知道它是什么。

Can anyone explain what nosql means in simple words?

有人能用简单的语言解释nosql是什么意思吗?

7 个解决方案

#1


25  

If you've ever worked with a database, you've probably worked with a relational database. Examples would be an Access database, SQL Server, or MySQL. When you think about tables in these kinds of databases, you generally think of a grid, like in Excel. You have to name each column of your database table, and you have to specify whether all the values in that column are integers, strings, etc. Finally, when you want to look up information in that table, you have to use a language called SQL.

如果您曾经使用过数据库,那么您可能使用过关系数据库。例如访问数据库、SQL服务器或MySQL。当您考虑这类数据库中的表时,通常会想到网格,比如Excel。您必须为数据库表的每一列命名,并且必须指定该列中的所有值是否都是整数、字符串等等。

A new trend is forming around non-relational databases, that is, databases that do not fall into a neat grid. You don't have to specify which things are integers and strings and booleans, etc. These types of databases are more flexible, but they don't use SQL, because they are not structured that way.

一种新的趋势正在非关系型数据库周围形成,即不属于整齐网格的数据库。您不必指定哪些东西是整数、字符串和布尔值等等。这些类型的数据库更灵活,但它们不使用SQL,因为它们的结构不是这样的。

Put simply, that is why they are "NoSQL" databases.

简单地说,这就是为什么它们是“NoSQL”数据库。

The advantage of using a NoSQL database is that you don't have to know exactly what your data will look like ahead of time. Perhaps you have a Contacts table, but you don't know what kind of information you'll want to store about each contact. In a relational database, you need to make columns like "Name" and "Address". If you find out later on that you need a phone number, you have to add a column for that. There's no need for this kind of planning/structuring in a NoSQL database. There are also potential scaling advantages, but that is a bit controversial, so I won't make any claims there.

使用NoSQL数据库的好处是,您不必预先知道您的数据是什么样子的。也许你有一个联系人表,但是你不知道关于每个联系人你想存储什么样的信息。在关系数据库中,需要创建“Name”和“Address”之类的列。如果稍后您发现您需要一个电话号码,您必须为此添加一个列。在NoSQL数据库中不需要这种规划/结构。也有潜在的扩展优势,但这有点有争议,所以我不会在这里提出任何要求。

Disadvantages of NoSQL databases is really the lack of SQL. SQL is simple and ubiquitous. SQL allows you to slice and dice your data easier to get aggregate results, whereas it's a bit more complicated in NoSQL databases (you'll probably use things like MapReduce, for which there is a bit of a learning curve).

NoSQL数据库的缺点是缺乏SQL。SQL简单而无所不在。SQL允许您对数据进行切片和切片,从而更容易获得聚合结果,而在NoSQL数据库中,它要复杂一些(您可能会使用MapReduce之类的东西,这需要一些学习曲线)。

#2


7  

From the NoSQL Homepage

NoSQL的主页

NoSQL is a fast, portable, relational database management system without arbitrary limits, (other than memory and processor speed) that runs under, and interacts with, the UNIX 1 Operating System. It uses the "Operator-Stream Paradigm" described in "Unix Review", March, 1991, page 24, entitled "A 4GL Language". There are a number of "operators" that each perform a unique function on the data. The "stream" is supplied by the UNIX Input/Output redirection mechanism. Therefore each operator processes some data and then passes it along to the next operator via the UNIX pipe function. This is very efficient as UNIX pipes are implemented in memory. NoSQL is compliant with the "Relational Model".

NoSQL是一种快速、可移植的关系数据库管理系统,没有任何限制(除了内存和处理器速度),它运行在UNIX 1操作系统下,并与之交互。它使用《Unix评论》(1991年3月,第24页,标题为“4GL语言”)中描述的“操作-流范式”。有许多“操作符”,它们各自在数据上执行一个惟一的函数。“流”由UNIX输入/输出重定向机制提供。因此,每个操作符都要处理一些数据,然后通过UNIX管道函数将其传递给下一个操作符。这非常有效,因为UNIX管道是在内存中实现的。NoSQL符合“关系模型”。

I would also see this answer on *.

我也会在*上看到这个答案。

#3


3  

NoSql is the new database philosophy which talks about all the shortcomings of the relational database design, particularly the problems they have in scaling up for today's demanding web environments.

NoSql是一种新的数据库哲学,它讨论了关系数据库设计的所有缺点,特别是它们在为当今苛刻的web环境扩展时遇到的问题。

NoSql is quickly evolving into a movement with new tools, software and formats coming up as alternative to SQL.

NoSql正在迅速演变成一种新的工具、软件和格式替代SQL的运动。

RDBMS is as ubiquitous as OOP and while both of these design methodologies solve some problems wonderfully, they don't solve all.

RDBMS和OOP一样普遍,虽然这两种设计方法都能很好地解决一些问题,但它们不能解决所有问题。

So think of NoSql as the functional programmin of the database world.

因此,可以将NoSql看作数据库世界的函数程序。

Was this simple enough?

这是很简单吗?

#4


3  

NoSQL is the idea that SQL-type databases don't satisfy the demands/requirements of a heavily-used database that requires transactions be reliable and failsafe (or close to it). This ties into the ideas of ACID and CAP, both things worth looking into but not something to lose sleep over unless you run a really popular site that is transaction-heavy (ie Amazon or Ebay). To get a great start on these subjects, I suggest:

NoSQL是一种思想,即sql类型的数据库不能满足一个需要大量使用的数据库的需求/需求,而这个数据库需要可靠的和故障安全的(或接近它)。这与ACID和CAP的思想有关,这两种东西都值得研究,但如果你不运行一个非常流行的网站(如Amazon或Ebay),就不会失眠。为了在这些问题上有一个好的开端,我建议:

http://www.eflorenzano.com/blog/post/my-thoughts-nosql/

http://www.eflorenzano.com/blog/post/my-thoughts-nosql/

and

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

#5


2  

Put simply, it means not using a relational database for data storage.

简单地说,它意味着不使用关系数据库进行数据存储。

Here's a relevant article: http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_

这里有一篇相关的文章:http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_

#6


1  

Something everyone considering a "nosql" approach should consider:

每个考虑“nosql”方法的人都应该考虑:

(I shan't risk putting the image into this post as it contains a curse word, and I don't want offensive flags. So clicker beware -- there's an f-word in there. Only click if you have a sense of humor.)

(我不会冒险把这张照片放到这个帖子里,因为里面有一个诅咒的字眼,我也不想要攻击性的旗帜。所以点击器要注意了,这里有个f字。只有当你有幽默感时才去点击。

http://browsertoolkit.com/fault-tolerance.png

http://browsertoolkit.com/fault-tolerance.png

#7


1  

Found this nice article about no-sql

找到这篇关于无sql的好文章

and this as well: NoSQL, Yes Search

还有,NoSQL, Yes Search

#1


25  

If you've ever worked with a database, you've probably worked with a relational database. Examples would be an Access database, SQL Server, or MySQL. When you think about tables in these kinds of databases, you generally think of a grid, like in Excel. You have to name each column of your database table, and you have to specify whether all the values in that column are integers, strings, etc. Finally, when you want to look up information in that table, you have to use a language called SQL.

如果您曾经使用过数据库,那么您可能使用过关系数据库。例如访问数据库、SQL服务器或MySQL。当您考虑这类数据库中的表时,通常会想到网格,比如Excel。您必须为数据库表的每一列命名,并且必须指定该列中的所有值是否都是整数、字符串等等。

A new trend is forming around non-relational databases, that is, databases that do not fall into a neat grid. You don't have to specify which things are integers and strings and booleans, etc. These types of databases are more flexible, but they don't use SQL, because they are not structured that way.

一种新的趋势正在非关系型数据库周围形成,即不属于整齐网格的数据库。您不必指定哪些东西是整数、字符串和布尔值等等。这些类型的数据库更灵活,但它们不使用SQL,因为它们的结构不是这样的。

Put simply, that is why they are "NoSQL" databases.

简单地说,这就是为什么它们是“NoSQL”数据库。

The advantage of using a NoSQL database is that you don't have to know exactly what your data will look like ahead of time. Perhaps you have a Contacts table, but you don't know what kind of information you'll want to store about each contact. In a relational database, you need to make columns like "Name" and "Address". If you find out later on that you need a phone number, you have to add a column for that. There's no need for this kind of planning/structuring in a NoSQL database. There are also potential scaling advantages, but that is a bit controversial, so I won't make any claims there.

使用NoSQL数据库的好处是,您不必预先知道您的数据是什么样子的。也许你有一个联系人表,但是你不知道关于每个联系人你想存储什么样的信息。在关系数据库中,需要创建“Name”和“Address”之类的列。如果稍后您发现您需要一个电话号码,您必须为此添加一个列。在NoSQL数据库中不需要这种规划/结构。也有潜在的扩展优势,但这有点有争议,所以我不会在这里提出任何要求。

Disadvantages of NoSQL databases is really the lack of SQL. SQL is simple and ubiquitous. SQL allows you to slice and dice your data easier to get aggregate results, whereas it's a bit more complicated in NoSQL databases (you'll probably use things like MapReduce, for which there is a bit of a learning curve).

NoSQL数据库的缺点是缺乏SQL。SQL简单而无所不在。SQL允许您对数据进行切片和切片,从而更容易获得聚合结果,而在NoSQL数据库中,它要复杂一些(您可能会使用MapReduce之类的东西,这需要一些学习曲线)。

#2


7  

From the NoSQL Homepage

NoSQL的主页

NoSQL is a fast, portable, relational database management system without arbitrary limits, (other than memory and processor speed) that runs under, and interacts with, the UNIX 1 Operating System. It uses the "Operator-Stream Paradigm" described in "Unix Review", March, 1991, page 24, entitled "A 4GL Language". There are a number of "operators" that each perform a unique function on the data. The "stream" is supplied by the UNIX Input/Output redirection mechanism. Therefore each operator processes some data and then passes it along to the next operator via the UNIX pipe function. This is very efficient as UNIX pipes are implemented in memory. NoSQL is compliant with the "Relational Model".

NoSQL是一种快速、可移植的关系数据库管理系统,没有任何限制(除了内存和处理器速度),它运行在UNIX 1操作系统下,并与之交互。它使用《Unix评论》(1991年3月,第24页,标题为“4GL语言”)中描述的“操作-流范式”。有许多“操作符”,它们各自在数据上执行一个惟一的函数。“流”由UNIX输入/输出重定向机制提供。因此,每个操作符都要处理一些数据,然后通过UNIX管道函数将其传递给下一个操作符。这非常有效,因为UNIX管道是在内存中实现的。NoSQL符合“关系模型”。

I would also see this answer on *.

我也会在*上看到这个答案。

#3


3  

NoSql is the new database philosophy which talks about all the shortcomings of the relational database design, particularly the problems they have in scaling up for today's demanding web environments.

NoSql是一种新的数据库哲学,它讨论了关系数据库设计的所有缺点,特别是它们在为当今苛刻的web环境扩展时遇到的问题。

NoSql is quickly evolving into a movement with new tools, software and formats coming up as alternative to SQL.

NoSql正在迅速演变成一种新的工具、软件和格式替代SQL的运动。

RDBMS is as ubiquitous as OOP and while both of these design methodologies solve some problems wonderfully, they don't solve all.

RDBMS和OOP一样普遍,虽然这两种设计方法都能很好地解决一些问题,但它们不能解决所有问题。

So think of NoSql as the functional programmin of the database world.

因此,可以将NoSql看作数据库世界的函数程序。

Was this simple enough?

这是很简单吗?

#4


3  

NoSQL is the idea that SQL-type databases don't satisfy the demands/requirements of a heavily-used database that requires transactions be reliable and failsafe (or close to it). This ties into the ideas of ACID and CAP, both things worth looking into but not something to lose sleep over unless you run a really popular site that is transaction-heavy (ie Amazon or Ebay). To get a great start on these subjects, I suggest:

NoSQL是一种思想,即sql类型的数据库不能满足一个需要大量使用的数据库的需求/需求,而这个数据库需要可靠的和故障安全的(或接近它)。这与ACID和CAP的思想有关,这两种东西都值得研究,但如果你不运行一个非常流行的网站(如Amazon或Ebay),就不会失眠。为了在这些问题上有一个好的开端,我建议:

http://www.eflorenzano.com/blog/post/my-thoughts-nosql/

http://www.eflorenzano.com/blog/post/my-thoughts-nosql/

and

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

#5


2  

Put simply, it means not using a relational database for data storage.

简单地说,它意味着不使用关系数据库进行数据存储。

Here's a relevant article: http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_

这里有一篇相关的文章:http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_

#6


1  

Something everyone considering a "nosql" approach should consider:

每个考虑“nosql”方法的人都应该考虑:

(I shan't risk putting the image into this post as it contains a curse word, and I don't want offensive flags. So clicker beware -- there's an f-word in there. Only click if you have a sense of humor.)

(我不会冒险把这张照片放到这个帖子里,因为里面有一个诅咒的字眼,我也不想要攻击性的旗帜。所以点击器要注意了,这里有个f字。只有当你有幽默感时才去点击。

http://browsertoolkit.com/fault-tolerance.png

http://browsertoolkit.com/fault-tolerance.png

#7


1  

Found this nice article about no-sql

找到这篇关于无sql的好文章

and this as well: NoSQL, Yes Search

还有,NoSQL, Yes Search