400 050 6600
数据分析师

手机号

验证码

30天自动登录
当前位置:首页 - Q&A问答

Q&AQ&A问答

NoSQL数据库需要模式吗?

来源:CPDA数据分析师网 / 作者:数据君 / 时间:2020-11-30

NoSQL和模式
对于刚进入NoSQL的许多人来说,他们被诸如“不需要SQL”和“无需模式”的流行短语所吸引,但常常看不到有森林的树林。尽管NoSQL确实是对SQL的响应,但它并不是替代SQL ,而是作为增强和补充它的一种方式。更具体地说,这种缺乏模式意味着NoSQL非常灵活,可以将数据存储在大量不同的NoSQL数据模型中。

但这并不意味着NoSQL无法使用架构
而这正是很多人被绊倒的地方,毕竟NoSQL数据可能是丑陋的,随机的,混乱的和重复的无限(SQL专门用于路由重复数据,而NoSQL则不是),这样除非整个管道仅由计算机处理,否则不会因为数据科学不是的而处理,拥有模式肯定会有用。 

为NoSQL设计架构
由于NoSQL非常适合于可扩展性,因此可能主要的方案设计注意事项是就数据模型而言的可伸缩性和性能。重点尤其放在优化数据访问上,这终往往非常依赖于查询。因此,NoSQL中的模式设计侧重于计划键和索引,这些键和索引专门补充了工作流以使其快速有效,当然有几种方法可以选择主键或确定应为哪些字段建立索引,为此您肯定要考虑用户如何处理或想要处理数据,回顾以前的查询,可以很好地提示用户如何日常使用数据库以及如何作为启动点,这种查询驱动的设计通常至少需要包含业务数据实体,用户要求和规范,如果存在此类数据,则终需要所述用户的查询模式。 

为您的数据库编写的代码
掌握了这些基本要素之后,就可以开始设计架构了,一个好的起点就是设计NoSQL数据库的自定义,类似于表的结构,对于此步骤,重要的是找到编写兼具单个功能的代码和可以满足多个功能的代码之间的平衡。毕竟,即使使用NoSQL ,帮助减少开销仍然是重要的一步,一点将需要对数据进行规范化,因为这对于任何NoSQL模式设计都是必不可少的。尽管不一定是一门精确的科学,但是处理非规范化数据的两种方法是通过引用或嵌入。然后,这可以考虑诸如1:1、1:N或MN关系之类的核心设计模式。

建立之后下一步就是设计主键
不幸的是,由于每种NoSQL数据库体系结构都不相同,因此在这里我不能为您提供太多帮助,并且知道每种方法如何实现其主键是此步骤的基础,您将需要设计索引,并且与上面的步骤类似,它取决于您使用的NoSQL数据库有很大不同。但是,您应该考虑一些设计概念:

1、创建合并的属性列表作为查询谓词可以帮助您设计更有效的索引。当然,您应该避免创建过于精细的索引,因为这只会降低效率。
2、至此,仅当需要数组中的所有属性时,才应设计数组索引。如果计划建立索引,则保持数组大小小至关重要。 
3、对于具有复杂数据类型的索引,应避免使用特殊索引。

编辑NoSQL模式

鉴于NoSQL具有灵活性的倾向,对模式进行更改很容易,并且从根本上导致了设计和实现模式更改的终生过程。刚开始时这听起来像是一件琐事,但是当您几年后意识到需要做出非常重要的改变时,这终会很棒。没有模式的NoSQL往往会导致混乱,因此创建某种形式的模式会很有用。您不必,尤其是对于较小的应用程序,则不必认为NoSQL路线将使您不必创建模式。

 客服热线:400-050-6600

商业联合会数据分析专业委员会




Prev article

深度学习的风格:您需要知道的?

Next article

GPU怎样帮助BI和AI融合?

数据分析师

报名咨询

数据分析师

报名缴费

数据分析师

客服中心

数据分析师

课程服务

数据分析师

认证服务