无模式是当前漂浮在NoSQL的世界各地的术语。
- 这是什么意思 ?
- 我今天有3个属性的文件,我转移到生产它,然后会发生什么我的数据,当我需要2个属性添加到我的文档?
- 这是一个纯粹的迁移问题,我需要管理我的数据迁移或者可以在NoSQL数据库创造尽可能多的摩擦关系数据库或使其以某种方式更容易?
无模式是当前漂浮在NoSQL的世界各地的术语。
无模式是有点用词不当的,最好是把它当做:
所以,当一个所谓的无模式NoSQL数据商店将在理论上允许你存储你喜欢的(通常为键值对,在文档中)没有按键,或数据类型的先验知识的任何数据,这将是毫无意义的,除非你有一些机制来检索和使用这些数据。 所以基本上架构部分从RDBMS移动到应用程序代码。 我说的部分,你会添加到索引文档集合和或分区数据的性能,所以NoSQL的DBMS都会有部分的架构本地定义,并通过独特的约束可能执行。
至于添加额外的属性,以在商店中的文件/对象。 取决于有多少填充是文档周围的(未使用的空间),在它的物理数据块,增加了更多的关键值对的文件可能会导致具有在物理上移动到存储的更大的连续块的文件中,和相关的指标重新修建。 如果你打算使用在经常使用的查询新密钥,那么你会想要还添加了一个合适的新指数,这显然需要一些物理存储,需要一段时间才能初步建成,并可能导致你问了系统管理员分配更多的内存到DBMS,以允许新的索引(一个或多个)被缓存。
晚了一天,但同时对话题找一下,我再次发现这篇文章
http://tech.pro/tutorial/1189/basics-of-ravendb-nosql
参见第3节的文章中,我将再次引用它的易用性。
添加和更改数据模型RavenDB不能再简单。 既然是NoSQL的数据库,它可以处理增删改你的模型非常简单。 如果属性添加到您的类,它会被设置成该类型的默认值。 如果一个属性被删除,然后反序列化时该值将被忽略。 没有更多的使用SQL脚本把玩。
这似乎是RavenDB符合逻辑的答案。