postgresql 是一个开放源码的对象关系数据库管理系统(ORDBMS),它得到了许多人的广泛支持和使用,可以提供优良的可用性、灵活性和功能。 但是,即便是最好的关系数据库管理系统也会存在一些缺点,PostgreSQL亦不例外。因此,在使用之前,一定要了解它的主要弊端。
首先,PostgreSQL的“行级锁机制”容易致使性能瓶颈。这是由于行级锁常常限制数据库的并发性能,由于一定要等待其它会话释放锁才能继续履行。例如:
begin;
select * from personTable where id='1'; --行级锁被持有
select * from personTable where id='2'; --会话等待行级锁被释放
update personTable set age='20' where id='1'; --行级锁被持有
commit;
PostgreSQL的“表级锁”也可能致使性能瓶颈,即表被锁定时,其他会话将不能进行编辑操作,这会对系统的性能产生负面影响。
其次,PostgreSQL存在内存分配和数据恢复方面的问题。它在内存管理方面存在缺点,因此不能有效地分配内存。事务日志文件的过大也致使数据恢复变得十分困难,日志恢复进程通常需要更长的履行时间。
最后,PostgreSQL不支持XA散布式事务处理,不允许跨平台事务处理,也不允许跨多个数据库的散布式事务处理。由于这些缺点,PostgreSQL没法作为用户复杂场景的数据库管理系统来使用。
在总结中,PostgreSQL存在一些不可忽视的缺点,包括行级/表级锁限制并发性能、内存分配问题和数据恢复困难、不支持XA散布式事务处理的缺点。 虽然这些缺点的存在,PostgreSQL或者一个功能强大的关系数据库管理系统,是我们工程师在设计和开发RDBMS利用程序时的主流选择。
本文来源:https://www.yuntue.com/post/159291.html | 云服务器网,转载请注明出处!