关系型/非关系型数据库

本文主要介绍两种不同类型的数据库。

关系型数据库(relational database)

关系型数据库已经有很老的历史了,两大巨头数据库即OracleMySQL,常年霸占数据库榜首。

关系型数据库对应的是结构化数据,一般以二维形式存储。 一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一列数据的属性是相同的。 如下所示:

id      name            age     gender
1       Liu Yi          20      male
2       Chen Er         35      female
3       Zhang San       28      male

结构化的数据的存储和排列是很有规律的,这非常利于查询和修改等操作。 但是,它的扩展性不好,如果字段不固定,则要进行重复的表结构变更,这十分麻烦也容易导致后台接口从数据库取数据出错。

非关系型数据库(non-relational database)

非关系型数据库则近年来才兴起,比较成功的例子有Neo4jOrientDB

非关系型数据库对应着半结构化数据,如图、树等,属于同一类实体可以有不同的属性,而且这些属性的顺序并不重要。 常见的存储方式有xmljson

<person>
    <name>A</name>
    <age>13</age>
    <gender>female</gender>
</person>

参考资料