2011将被记住,因为SQL将在今年死去。今年,关系数据库正从前线下降。今年,开发人员
发现他们不需要将每个对象
转换为持久数据的表结构。
2011是
文档数据库的一年。虽然它一直稳步发展,有各种稳定的文档数据库从Amazon和谷歌的云的各种
开源工具,特别是MonDB,在过去的八年。
那么,MonDB是什么五件事是每个开发人员都应该知道的:
1)mondb是一个
独立的
服务器;
如MySQL或postresql,mondb提供一个监听端口的访问,它提供了
查询、
创建、更新和
删除。在理论上,你用它来做同样的事情:
连接,
执行任务,并
关闭连接。
2)它是基于文档的,而不是基于表的;
MonDB没有结构化的
语言。如果你想创建一个新的
文件类型,你不需要做任何事来告诉数据库对这些数据的结构,只是将其存储在数据库中。
总之,mondb使用类型的
处理类似于Javascript和PHP,数据库是一个灵活的和弱型。
虽然有一些数据,有
条件的限制(大数据块可能需要一些明确的处理),在大多数
情况下,你可以写下你的mondb代码就像写PHP代码。
3)它是非结构化的;
你还记得你写的数据库抽象层吗还记得你一直在处理的ORM层吗现在,你可以抛弃一切。你不需要他们在MonDB.MonDB没有很多的查询语句,在大多数情况下,只要给它一个数组来指定您想要的信息,然后它会给你的文件的数组。如果你想
运行一些非常复杂的查询(如图减少
操作),你可以通过Javascript mondb,及其内部的Javascript引擎可以解析这个
脚本。
4)不必
学习另一种查询语言;
开发时间也很短,因为没有需要
管理的结构和很少(如果有的话)数据映射。
学习曲线是平滑的,因为没有新的查询语言来学习。代码很简单。毕竟,没有任何其他ORM,封装可以非常简单。你的代码是未来的承诺。很容易向你的对象添加更多的字段。因此,需求发生变化,你可以快速
修改代码以适应。
mondb足以让我意识到这种改变
游戏规则的潜力。这也是大家提倡使用新一代文档数据库基于SQL的关系型数据库的
原因。离开关系数据库在尘埃中,更容易让他们做他们能做的事:商店属于行和表的数据。
mondb是面向文件的C++开发的数据库,并对数据库设计的传统范式,相关的对象被记录到一个文件,每个文件
模式的自由,即自由定义,更加灵活,尤其是在业务逻辑和应用场景的脸是可怕的。数据存储在BSON格式(类似于JSON)。一个不好的地方是,它可能会带来一定的数据冗余和存储开销。
此外,mondb的索引机制,MySQL和其他数据库一样,可以使用传统的关系型数据库的经验,使用mondb指数。
与许多其他的NoSQL产品工程师个人的基础上发展起来的应用场景,mondb是由专门的
公司,10gen。需要注意的一点是mondb本身并不管理
内存,无法指定大小的内存,和它是完全交给操作
系统来管理,所以有时是不可控的。在生产环境中,我们必须监视
操作系统级别的内存使用情况。
5)具有很强的主流开发语言的
支持,如C #,C++,java,PHP,Perl,Python,露比。