简体   繁体   English

非关系数据库

[英]non-relational database

  1. What exactly is non-relational database ??i have heard that web-sites like fb, google are using non relational database what is that 到底什么是非关系数据库?我听说像fb,google之类的网站正在使用非关系数据库,那是什么?

  2. Under what condition we should use non-relational database 在什么情况下我们应该使用非关系数据库

  3. What are the advantage of non-relational data base over relational database ..?? 非关系数据库比关系数据库有什么优势?

Objectivity, db4o (open source), etc are called object databases which I think you're asking about? 客观性,db4o(开放源代码)等被称为对象数据库,我您在问什么? Rather than RDBMS they're called ODBMS. 它们不是RDBMS,而是被称为ODBMS。 There's also the new "cloud databases" but I'm not too familiar with those and I'm not sure they'll be practical/useful for every type of application, even in the distant future. 也有新的“云数据库”,但我对它们不太熟悉,我不确定它们对每种类型的应用程序是否实用/有用,即使在遥远的将来也是如此。 Between those two that's (probably) the two major non-RDBMS db types. 在这两者之间(可能是)两种主要的非RDBMS数据库类型。 (see http://en.wikipedia.org/wiki/NoSQL ) (请参阅http://en.wikipedia.org/wiki/NoSQL

Object dbs are pretty cool, think something like Hibernate, only faster since there isn't a conversion to SQL being done. 对象数据库非常酷,想想像Hibernate之类的东西,只会更快,因为没有完成对SQL的转换。 Object dbs are supposed to be much faster when you have complex/deep data hierarchies. 当您具有复杂/深层的数据层次结构时,对象数据库应该更快。 (They're probably also a little faster "in general", but there are some downsides to watch out for.) (一般来说,它们可能还会快一些,但要注意一些缺点。)

One downside to an object database is that it puts more work on developers to sometimes to DBA-like tasks. 对象数据库的一个缺点是,它会使开发人员进行更多工作,有时甚至需要执行类似DBA的任务。 (I guess this could be good or bad.) Your traditional Oracle DBAs will be standing around clueless and useless if you use an object db. (我想这可能是好还是坏。)如果你使用一个对象数据库你传统的Oracle DBA会站在周围的无能和无用的。 Some issues include - (at least with db4o) no really powerful tools to help manage the db (RDBMS have a ton of these), a different "schema upgrade" process, and generally it's a less mature type of database. 一些问题包括-(至少对于db4o而言)没有真正强大的工具来帮助管理数据库(RDBMS有大量此类工具),不同的“模式升级”过程,并且通常它是一种不太成熟的数据库类型。 Scalability can be an issue if you're talking about a large system, there's no clustering in db4o or anything like that (yet). 如果您正在谈论大型系统,db4o中没有集群或类似的东西(尚未),那么可伸缩性可能是一个问题。

Also, just for completeness, older legacy databases like Adabas or VSAM are considered non-relational. 同样,仅出于完整性考虑,较旧的旧数据库(如Adabas或VSAM)被视为非关系数据库。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM