关系数据库- relational database,是一种通过建立索引来储存数据类型和他们之间的关联的技术。随着互联网的发展,有很多数据访问类型不再需要这种大型的关联逻辑,而是需要储存和读取大量的数据。比如Facebook,人人之类的网站,他们的数据类型如果用关系数据库来表示,则又慢又占地方。
所以最近几年兴起的非关系数据库(NOSQL - No Only SQL),包括键值查询表数据库,图数据库等,就是针对这种不需要关联,不需要多个表JOIN,但是需要储存和读些大量数据的情况而设计的。比如Graph Database,图数据库,储存的是一个Graph上的Node和Edge。这样比如查询你和我之间有多少个共同好友,或者像Linked-In那种查询两个用户之间隔着几个人的查询,只需要做一个Graph Walk就可以。
非关系数据库的并没有关联的概念,它的前提条件就是数据不需要关联。当然,你可以通过Id和索引来读取多个表中的数据,然后手动将他们关联在一起。总的来说,非关系数据库没有为这个情况做任何优化,也不适用于需要大量关联的数据。
未来的主体一定是非关系数据库。。。。