0 概念
ORDBMS(对象关系数据库系统): 是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能
ORDBMS在原来关系数据库的基础上,增加了一些新的特性。RDBMS 是关系数据库管理系统,是建立实体之间的联系,最后得到的是关系表。OODBMS 面向对象数据库管理系统,将所有实体都看着对象,并将这些对象类进行封装,对象之间的通信通过消息 OODBMS 对象关系数据库在实质上还是关系数据库
ORDBMS一些术语:
- 数据库: 数据库是一些关联表的集合
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格
- 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据
- **行:**一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据
- **外键:**外键用于关联两个表
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引
- **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性
1 PostgreSQL特征
-
函数:通过函数,可以在数据库服务器端执行指令程序
-
索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引
-
触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的"快照",用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交
-
规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE)
-
数据类型:包括文本、任意精度的数值数组、JSON 数据、枚举类型、XML 数据
等
-
全文检索:通过 Tsearch2 或 OpenFTS,8.3版本中内嵌 Tsearch2
-
NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器
-
数据仓库:能平滑迁移至同属 PostgreSQL 生态的 GreenPlum,DeepGreen,HAWK 等,使用 FDW 进行 ETL
2 应用场景
1.企业数据库
如 ERP、交易系统、财务系统涉及资金、客户等信息,数据不能丢失且业务逻辑复杂,选择 PostgreSQL 作为数据底层存储,一是可以帮助您在数据一致性前提下提供高可用性,二是可以用简单的编程实现复杂的业务逻辑。
2.含 LBS 的应用
大型游戏、O2O 等应用需要支持世界地图、附近的商家,两个点的距离等能力,PostGIS 增加了对地理对象的支持,允许您以 SQL 运行位置查询,而不需要复杂的编码,帮助您更轻松理顺逻辑,更便捷的实现 LBS,提高用户粘性。
3.数据仓库和大数据
PostgreSQL 更多数据类型和强大的计算能力,能够帮助您更简单搭建数据库仓库或大数据分析平台,为企业运营加分。
4.建站或App
PostgreSQL 良好的性能和强大的功能,可以有效的提高网站性能,降低开发难度。