免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

开源数据库不一样的声音!您所不了解的PostgreSQL!(获奖名单已公布-2012-5-23) [复制链接]

论坛徽章:
0
71 [报告]
发表于 2012-04-13 10:32 |只看该作者
回复 68# ywpeng


    哦,谢谢,看来不只我一个人遇到这样的问题。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
72 [报告]
发表于 2012-04-13 13:13 |只看该作者
后面调用存储过程,前面用户端界面想显示进度表,达不到这样的效果,不是POSTGRESQL数据库的问题吧,

你用ORACLE ,DB2,SQL SERVER,MY SQL试试,它们能提供什么好办法?

我想这样的问题我,只能想想出二个办法:

1)不要用存储过程,直接用前端编程语言实现数据处理。

2)如果非要用存存储过程,那么可以设计一个临时表,该表包含当前记录,和总记录,每处理一条数据,存储过程则把这个表的当前记录数更新,
然后,前端界面用一个多线程,不停地读取这个临时表的数据。达到显示进度条这个效果。



论坛徽章:
0
73 [报告]
发表于 2012-04-13 14:15 |只看该作者
回复 72# tony_trh


    关于第一情况不说了。第二种情况,我上面说过,postgresql proceduaral 是在一个transaction 中完成,所以过程中是取不到progress,只有完成时,才能查询出来,这时肯定就是100% 。

论坛徽章:
1
技术图书徽章
日期:2014-07-11 16:30:58
74 [报告]
发表于 2012-04-13 14:19 |只看该作者
PG 用的多么? 没用过呀,不太了解。呵呵。看看大家的回复吧 。学习一下。  db2 用的多么?

论坛徽章:
0
75 [报告]
发表于 2012-04-13 20:16 |只看该作者
之前还看过一段时间的pg的代码的。可惜现在工作用不上了。很少接触了。

论坛徽章:
0
76 [报告]
发表于 2012-04-13 20:54 |只看该作者
应该能满足你的要求,sequence的行为类似于脏读  回复 70# sytpb


   

论坛徽章:
10
CU大牛徽章
日期:2013-09-18 15:20:48程序设计版块每日发帖之星
日期:2016-07-21 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:01技术图书徽章
日期:2014-10-14 16:00:43天蝎座
日期:2013-09-27 17:41:29CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58每日论坛发贴之星
日期:2016-07-21 06:20:00
77 [报告]
发表于 2012-04-14 20:53 |只看该作者
pgsql 用了十年左右,结合PHP用,跟MYSQL没什么差别。
只是导入导出字符集问题在7.2时好纠结。

因为用起来太顺手了,十年也没有整理过什么。小单位小网站,所以没觉得有什么慢,什么等。

整体感觉:跟MYSQL一样免维护(在FREEBSD平台),那么地安静让你想不起他的存在。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
78 [报告]
发表于 2012-04-14 22:03 |只看该作者
在企业级领域,有哪些特性是PostgreSQL所缺少的?

在PostgreSQL推出针对企业级应用的EDB后,应该是PostgreSQL在企业级上的应该应该已经可以和商用数据库ORACLE抗衡。虽然叫EDB,但官方的正式叫法是PostgreSQL Plus,从此处看来,PostgreSQL正在弥补它在企业级应用上的不足,同时在做ORACLE的兼容性方面的工作。看来是想从ORACLE的嘴里抢肉。
但从目前国内的行情来看,大家对POSTGRESQL的认可度还是十分的低,虽然当初推出EDB时似乎也曾经有过一段时间的“冲动”期,但目前来看反应还是比较平淡。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
79 [报告]
发表于 2012-04-16 11:40 |只看该作者
在技术上,我觉得POSTGRESQL跟商业的数据库上差异并不很大,随着更多的商业公司开始资助POSTGRESQL项目,这种技术上的差异,会更加缩小,
比如著名的网络电话公司SKYPE使用POSTGRESQL支撑全球业务,巴西CAIXA银行核心业务上使用它,就有力地证明在技术上的可行。

在海量数据处理年代,使用传统的商业数据库成本越来越昂贵,而事实上,新崛起的大型网络数据处理公司,基本上都是用开源解决方案,连淘宝这种有钱的公司,也开始逐步要“去ORACLE化”,可见,开源数据库的应用具有趋势性,掌握一种主流的开源数据库,是从事数据处理技术人员的一种必须工具。

POSTGRESQL由于在8.0之前,没有原生的WINDOWS版,导致应用面比较窄,使MYSQL这种缺乏很多数据库基本特性的产品,大行其道。

现在我们公司的一个小型系统中,就使用了POSTGRESQL来处理数据,感觉很爽,我可以在LINUX、FREEBSD等操作系统中测试折腾,在配置文件中,设定参数,调整优化,还可以看源代码,他们是怎么处理的(虽然看不太懂,但起码也能满足我的好奇心 ^_^),使用微软的SQL SERVER就无法有这种体验和乐趣。

在稳定性上,采用进程体系的,比线程要稳定,因为线程体系,很多数据都是共享的,一旦某个线程出了问题,就会污染公共数据,导致整体系统错误,
而进程体系的数据库,大部分都有自己的数据空间,不需要共享,出错也只能影响本进程,对其他进程不影响。这就是ORACLE、DB2比SQL SERVER要稳定的原因。而POSTGRESQ就是进程体系,所以,它比采用线程的MYSQL 要稳定多。

POSTGRESQL的存储过程语法和常用函数跟ORACLE一模一样,从开发员的角度上,掌握了PG的存储过程编写,就几乎很容易学会ORACLE的存储过程编写,特别是现在新版的DB2也兼容ORACLE语法,所以,学会POSTGRESQL开发,就几乎会ORACLE,DB2开发,一举三得!而MY SQL跟ORACLE语法和函数相差大,学习成本高太多了。


希望POSTGRESQL的下一版中,能加个调度功能,就像SQL SERVER代理服务器那样,可以在里面设定调度任务,比如做备份,虽然现在可以通过操作系统来实现,但觉得还是有些问题。

另外,在过程语言中,不知道现是否有类似ORACLE的 BULK COLLECT功能,加快批量数据处理速度,如果没有,希望能再加上这个特性。













论坛徽章:
0
80 [报告]
发表于 2012-04-16 13:35 |只看该作者
回复 43# lemoncandy


    我不得不向大家道歉,我的回复中说我们“Postgres数据库数据量接近10TB”,这个是不对的,是我们的存储容量为10TB,而目前的数据量大概2TB左右,今天看到回复我的帖子,去数据库服务器上核实了一下,因为我不是主要负责数据库的,具体的数据量记得不准确,向大家道歉了!
    对于Postgres数据库我倒是一直在接触和使用,但不是专业搞DBA的,所以谈不上什么深入,现在的数据库主要用在一个会员积分与管理的系统上。现在工作上有很多事情要处理,其他问题我会抽时间写写postgres的基本用法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP