数码资讯
第一个NoSQL的NoSQL数据库入门基础知识的NoSQL数据库
经过一年的大一项目,我对关系数据库结构有所了解。有时我觉得这二维表不是很顺利。阅读一篇文章后,我有一个初步了解NoSQL,(https: / / / 敏锐。IO博客/ 53958349217 /分析黑客如何看待事件数据)。这篇文章写得很好,并写出来NoSQL在实际的使用情况,并使用Minecraft
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
经过一年的大一项目,我对关系数据库结构有所了解。有时我觉得这二维表不是很顺利。阅读一篇文章后,我有一个初步了解NoSQL,(https: / / / 敏锐。IO博客/ 53958349217 /分析黑客如何看待事件数据)。这篇文章写得很好,并写出来NoSQL在实际的使用情况,并使用Minecraft去分析它,但它可能不够全面。例如,刚才提到的文章,实体数据和关系数据与事件的NoSQL如何保存、如何保存,我想借我的文章,分析原始数据的关系数据库事件类型是如何存储数据,然后对两种存储方法做一个比较是原来是一个补充。
这类死亡,有两块数据,一个关于爬山虎和一个掉进岩浆爆炸。如果我有使用关系数据库的二维表,我将把它这样。(如果你不知道什么样的数据是这样的,你可以看看NoSQL存储的方法,这样看起来更清晰。)
这种情况的数据可以说在数据库设计中是一个更复杂的情况,因为它包含两个情况(当然不是只有两例,然后更多的结构将产生的),但不同情况下的数据表结构是不同的,这是很麻烦的。我们一般的解决方案是设计表四利用关系数据库,设计以下四种形式。(我把它写在这里)
第一个表
我#第一的协会,主要表需要一个ID,这是没有什么区别,因为默认的NoSQL一般会有一个_id
时间戳#所有常见的部分可以在一个表中存在。
原因
player_uid
player_experience
因为它是一个数组的任意长度的player_age为player_inveneory_id #,只能保存在另一个表。
二表(对爬山虎的死)
这是我#表身份后可以与其他形式的关联
在主表中#协会
enemy_type
enemy_power
enemy_distance
enemy_age
第三个表(熔岩死亡的死亡)
这是我#表身份后可以与其他形式的关联
在主表中#协会
place_x
place_y
place_z
表第四(节约player_inveneory)
这是我#表身份后可以与其他形式的关联
在主表中#协会
inveneory
在这一点上,关系数据库设置了事件的这个不同的结构,后面是(我不画表)。
一
时间戳的原因player_uid player_experience player_age ID
12013-05-23t1:50:00-0600 爬山虎99234890823 8873729228
22013-05-24t23:25:00-0600 熔岩99234890823 8873722
二
ID中enemy_type enemy_power enemy_distance enemy_age
11爬行。887 3.34.6677
三
ID中place_x place_y place_z
1245.366 -13.333 -39.288
四
ID中inveneory
11戴梦得剑
21 火炬
32 石头
在这一点上,我们用关系数据库保存了两个事件数据。
让我们在NoSQL的存储方法看,因为每个数据不受领域限制(列名),可以直接保存不表。(例如,JSON格式)
第一#数据
{
时间戳:2013-05-23t1:50:00-0600
原因:爬山虎
敌人:{
型:爬山虎
权力:887。
distance_from_player :3.34
年龄:6677。
},
播放器:{
用户:99234890823
经验:8873729,
年龄:228,
inveneory :{戴梦得剑
}
}
#二数据
{
时间戳:2013-05-24t23:25:00-0600
原因:熔岩
位置:{
X:45.366
Y:-13.333
Z:-39.288
}
播放器:{
用户:99234890823
经验:88737,
年龄:22,
inveneory :{石头}
}
}
下面我们分析NoSQL这种数据存储方法的好处
1。首先,它是离散表结构的集成,因此应该将数据放在一起。
这就像在C语言中打开多个数组或使用结构数组的区别。把一些关系数据放在一起是人类的自然想法。当然,它将使人们更舒适,并改善关联和升级的简洁性。
2。存储更方便
让我们考虑一下如何存储它的数据。
对于二维表数据库:
1。数据分析是该类型
2。存储主表数据并返回到id
3。分,加上主表的ID,存储数据的熔岩或爬行在不同情况下的表
4。开环,插入多条记录到inveneory表
这只是一个简短的介绍。它还考虑了多个表操作时的数据回滚问题,实际上写了大约30行左右,因此错误可能大大改善。
对NoSQL类型
在一个词uff1a
插入(数据);#伪代码
事实上,您知道,当您获取数据时,原始关系数据库将是相同的。
3.nosql是动态生成和存储更方便。它要灵活得多。至少,我们可以在存储数据时设计数据库。
当然,如果存储不是事件或者类似的数据,那二维表还有很多自己的优点,这是我个人的分析。当然,有许多共同的意见。以下是两种数据库模型的一些公认的优点和缺点。我也这么认为。
关系优势:
1。事务处理——保持数据的一致性;
2。由于标准化,数据更新的开销非常小(同一字段基本上只有一个);
三.可以执行复杂查询,如连接。
关系型缺陷:
1。扩展难度:因为有一个多表查询机制,如连接,它使数据库难以扩展。
2、读写慢:这种情况主要发生在数据量达到一定规模的情况下,因为关系数据库的系统逻辑非常复杂,容易产生并发问题,如出生死亡锁等,导致其读写速度下降非常严重。
三.高成本:企业数据库的许可价格非常惊人,并且随着系统规模的增加;
4。有限的支持能力:现有的关系的解决方案不能支持海量数据的存储,如抛媚眼;
NoSQL的优势,主要体现在以下几点:
1,一个简单的扩展:一个典型的例子是卡桑德拉,因为其结构类似于经典的P2P,所以它可以很容易增加新的节点扩展类。
2、快速读写:主要的例子是redis。由于其简单的逻辑和纯内存操作,其性能非常出色。单个节点每秒可以处理10万多个读写操作。
三.低成本:这是大多数分布式数据库的共同特点,因为主要的来源是开源软件,并且没有昂贵的许可费用;
在NoSQL数据库有很多不足之处,主要有以下:
1。不支持SQL:如果不支持SQL这样的工业标准,用户将有一定的学习和应用程序转移成本。
2、支撑功能不丰富:现有产品功能相对有限。大部分的NoSQL数据库不支持事务,他们也没有提供额外的功能,如MS SQL Server、Oracle、Bi等报道。
三.现有产品还不够成熟:大部分产品还处于初级阶段,几十年的关系型数据库也不尽相同。
这类死亡,有两块数据,一个关于爬山虎和一个掉进岩浆爆炸。如果我有使用关系数据库的二维表,我将把它这样。(如果你不知道什么样的数据是这样的,你可以看看NoSQL存储的方法,这样看起来更清晰。)
这种情况的数据可以说在数据库设计中是一个更复杂的情况,因为它包含两个情况(当然不是只有两例,然后更多的结构将产生的),但不同情况下的数据表结构是不同的,这是很麻烦的。我们一般的解决方案是设计表四利用关系数据库,设计以下四种形式。(我把它写在这里)
第一个表
我#第一的协会,主要表需要一个ID,这是没有什么区别,因为默认的NoSQL一般会有一个_id
时间戳#所有常见的部分可以在一个表中存在。
原因
player_uid
player_experience
因为它是一个数组的任意长度的player_age为player_inveneory_id #,只能保存在另一个表。
二表(对爬山虎的死)
这是我#表身份后可以与其他形式的关联
在主表中#协会
enemy_type
enemy_power
enemy_distance
enemy_age
第三个表(熔岩死亡的死亡)
这是我#表身份后可以与其他形式的关联
在主表中#协会
place_x
place_y
place_z
表第四(节约player_inveneory)
这是我#表身份后可以与其他形式的关联
在主表中#协会
inveneory
在这一点上,关系数据库设置了事件的这个不同的结构,后面是(我不画表)。
一
时间戳的原因player_uid player_experience player_age ID
12013-05-23t1:50:00-0600 爬山虎99234890823 8873729228
22013-05-24t23:25:00-0600 熔岩99234890823 8873722
二
ID中enemy_type enemy_power enemy_distance enemy_age
11爬行。887 3.34.6677
三
ID中place_x place_y place_z
1245.366 -13.333 -39.288
四
ID中inveneory
11戴梦得剑
21 火炬
32 石头
在这一点上,我们用关系数据库保存了两个事件数据。
让我们在NoSQL的存储方法看,因为每个数据不受领域限制(列名),可以直接保存不表。(例如,JSON格式)
第一#数据
{
时间戳:2013-05-23t1:50:00-0600
原因:爬山虎
敌人:{
型:爬山虎
权力:887。
distance_from_player :3.34
年龄:6677。
},
播放器:{
用户:99234890823
经验:8873729,
年龄:228,
inveneory :{戴梦得剑
}
}
#二数据
{
时间戳:2013-05-24t23:25:00-0600
原因:熔岩
位置:{
X:45.366
Y:-13.333
Z:-39.288
}
播放器:{
用户:99234890823
经验:88737,
年龄:22,
inveneory :{石头}
}
}
下面我们分析NoSQL这种数据存储方法的好处
1。首先,它是离散表结构的集成,因此应该将数据放在一起。
这就像在C语言中打开多个数组或使用结构数组的区别。把一些关系数据放在一起是人类的自然想法。当然,它将使人们更舒适,并改善关联和升级的简洁性。
2。存储更方便
让我们考虑一下如何存储它的数据。
对于二维表数据库:
1。数据分析是该类型
2。存储主表数据并返回到id
3。分,加上主表的ID,存储数据的熔岩或爬行在不同情况下的表
4。开环,插入多条记录到inveneory表
这只是一个简短的介绍。它还考虑了多个表操作时的数据回滚问题,实际上写了大约30行左右,因此错误可能大大改善。
对NoSQL类型
在一个词uff1a
插入(数据);#伪代码
事实上,您知道,当您获取数据时,原始关系数据库将是相同的。
3.nosql是动态生成和存储更方便。它要灵活得多。至少,我们可以在存储数据时设计数据库。
当然,如果存储不是事件或者类似的数据,那二维表还有很多自己的优点,这是我个人的分析。当然,有许多共同的意见。以下是两种数据库模型的一些公认的优点和缺点。我也这么认为。
关系优势:
1。事务处理——保持数据的一致性;
2。由于标准化,数据更新的开销非常小(同一字段基本上只有一个);
三.可以执行复杂查询,如连接。
关系型缺陷:
1。扩展难度:因为有一个多表查询机制,如连接,它使数据库难以扩展。
2、读写慢:这种情况主要发生在数据量达到一定规模的情况下,因为关系数据库的系统逻辑非常复杂,容易产生并发问题,如出生死亡锁等,导致其读写速度下降非常严重。
三.高成本:企业数据库的许可价格非常惊人,并且随着系统规模的增加;
4。有限的支持能力:现有的关系的解决方案不能支持海量数据的存储,如抛媚眼;
NoSQL的优势,主要体现在以下几点:
1,一个简单的扩展:一个典型的例子是卡桑德拉,因为其结构类似于经典的P2P,所以它可以很容易增加新的节点扩展类。
2、快速读写:主要的例子是redis。由于其简单的逻辑和纯内存操作,其性能非常出色。单个节点每秒可以处理10万多个读写操作。
三.低成本:这是大多数分布式数据库的共同特点,因为主要的来源是开源软件,并且没有昂贵的许可费用;
在NoSQL数据库有很多不足之处,主要有以下:
1。不支持SQL:如果不支持SQL这样的工业标准,用户将有一定的学习和应用程序转移成本。
2、支撑功能不丰富:现有产品功能相对有限。大部分的NoSQL数据库不支持事务,他们也没有提供额外的功能,如MS SQL Server、Oracle、Bi等报道。
三.现有产品还不够成熟:大部分产品还处于初级阶段,几十年的关系型数据库也不尽相同。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。