Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
像我五岁一样解释:SQL(关系型)和NOSQL(非关系型)数据库_Sql_Nosql - Fatal编程技术网

像我五岁一样解释:SQL(关系型)和NOSQL(非关系型)数据库

像我五岁一样解释:SQL(关系型)和NOSQL(非关系型)数据库,sql,nosql,Sql,Nosql,如果我必须在1分钟内向大学生解释SQL和NOSQL: 您熟悉Excel电子表格,对吗?这就是SQL: id, name, age, weight 1, Adam, 20, 150 2, Bob, 30, 160 ... 现在想象一下,如果您事先不知道列名,并且希望在以后灵活地添加新列名。这就是NOSQL: id, column, value 1, name, Adam 1, age, 20 1, weight, 150 2, name, Bob 2, age, 30, 2, weight, 1

如果我必须在1分钟内向大学生解释SQL和NOSQL:

您熟悉Excel电子表格,对吗?这就是SQL:

id, name, age, weight
1, Adam, 20, 150
2, Bob, 30, 160
...
现在想象一下,如果您事先不知道列名,并且希望在以后灵活地添加新列名。这就是NOSQL:

id, column, value
1, name, Adam
1, age, 20
1, weight, 150
2, name, Bob
2, age, 30,
2, weight, 160
2, gender, Male
...
用技术术语来说,它们是彼此的支点

对于以下查询:

从年龄>20岁的人中选择*

SQL通常运行一台服务器,所有数据都在一个数据库中,并使用年龄列上的索引来过滤数据

NOSQL通常在集群中并行运行,数据分布在多个服务器上,每个服务器过滤其本地年龄数据映射,然后由一个中央服务器合并结果


这是一个很好的高层解释吗?

如果我必须像你五岁那样解释这个话题,它会是这样的: 我会让你坐在桌子上,买一个形状分类玩具

SQL:玩具已经定义了形状孔,只有特定的形状才能穿过和进入。这也意味着只能插入适合形状孔的形状,因此我们可以确保只插入我们认为应该插入的形状。当我们想把形状弄出来时,我们必须把它们从相同的孔里弄出来,这可能需要更多的工作。在SQL中,表已经定义,只有与表定义一致的数据才能插入,在SQL中,我们可能会在表之间进行大量连接,以获得我们想要的结果,这可能需要更多的时间和性能。 然后我会去掉有形状孔的表面,这样它就只是一个有大开口的塑料盒,带形状孔的塑料就消失了

NoSQL玩具没有一个表面上有孔,形状必须适合穿过,而是有一个大开口。这意味着您可以将所有内容放入其中,而不必关心它是否与已定义的形状对齐。这意味着我们可以把我们想要的任何东西放进去,因为没有已经定义好的形状只能插入。另外,当我们想把所有的形状都拿出来时,我们可以把盒子倒过来,所有的形状都会掉出来。在NoSQL数据库中,插入数据时不遵循定义,也不执行联接,因此不需要太多的时间和性能。
如果我必须像你五岁那样解释这个话题,它会是这样的: 我会让你坐在桌子上,买一个形状分类玩具

SQL:玩具已经定义了形状孔,只有特定的形状才能穿过和进入。这也意味着只能插入适合形状孔的形状,因此我们可以确保只插入我们认为应该插入的形状。当我们想把形状弄出来时,我们必须把它们从相同的孔里弄出来,这可能需要更多的工作。在SQL中,表已经定义,只有与表定义一致的数据才能插入,在SQL中,我们可能会在表之间进行大量连接,以获得我们想要的结果,这可能需要更多的时间和性能。 然后我会去掉有形状孔的表面,这样它就只是一个有大开口的塑料盒,带形状孔的塑料就消失了

NoSQL玩具没有一个表面上有孔,形状必须适合穿过,而是有一个大开口。这意味着您可以将所有内容放入其中,而不必关心它是否与已定义的形状对齐。这意味着我们可以把我们想要的任何东西放进去,因为没有已经定义好的形状只能插入。另外,当我们想把所有的形状都拿出来时,我们可以把盒子倒过来,所有的形状都会掉出来。在NoSQL数据库中,插入数据时不遵循定义,也不执行联接,因此不需要太多的时间和性能。
NoSQL基本上是非关系型数据库,有多种风格:密钥对、文档、图形。NoSQL基本上是非关系型数据库,有多种风格:密钥对、文档、图形。有趣的描述+1heh。。虽然大多数要求解释ELI5的人实际上都不是5岁,但5岁的孩子也不在乎这些东西。他们基本上是在问Eli20我不是有意冒犯,我只是觉得这会是一种解释复杂事物的有趣方式。。。这就是我在领导它的时候在脑海中想象的东西@d-_-b@stefandzalev,当然,我没有生气。。你的回答是一个有趣的解释谢谢,我觉得你的解释也很棒:有趣的描述+1heh。。虽然大多数要求解释ELI5的人实际上都不是5岁,但5岁的孩子也不在乎这些东西。他们基本上是在问Eli20我不是有意冒犯,我只是觉得这会是一种解释复杂事物的有趣方式。。。这就是我在领导它的时候在脑海中想象的东西@d-_-b@stefandzalev,c
当然,我没有生气。。你的回答很有趣谢谢,我觉得你的解释也很好