DB Corral的Firebird和PostgreSQL。 [英] Firebird and PostgreSQL at the DB Corral.

查看:90
本文介绍了DB Corral的Firebird和PostgreSQL。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




大家好,


跟进另一个帖子,这里是FB和PG之间的比较
$ b来自FB''ers POV的$ b。 BTW,FB是Open-Source-Interbase的爱孩子。


顺便说一句,我试图尽可能准确地提供信息

在这个时候我可以使用 - 我无法找到任何类似于FB网站上的功能列表的
,所以大部分来自

内存。我在该网站的各个列表上都有一个电子邮件帐户,

我将在那里发布,看看他们要说什么。

这应该让球滚动在FB / PG的讨论中。希望我已应用的

原始格式将适用于每个人的机器,

我刚刚使用''> ''(如新闻组)和---------'分开

主题。如果你要回复,可能最好通过

主题来做主题,而不是无用地复制未回复的

帖子?简短,断断续续,愤怒的反应是我想要的! 8-)。

数据库的体系结构基本上与你的MVCC相同,对于我们的Firebirders(多代架构)来说是MGA。

从Open-Source-Interbase / Firebird的角度来看,PostgreSQL出现了几个问题。


易于使用(特别是在Windows上) 。 FB就像安装

Minesweeper一样简单。


< /有争议的评论>

PG似乎放了很多支持数组数据类型的努力。

虽然他们(在FB中)几乎不支持,但大多数建议不要使用它们

- 如果我按照自己的方式行事我会把它们撕掉 - 他们是魔鬼的作品。一个设计良好的架构可以解决任何阵列需求。他们违反了

关系型号,通常非常不便携。

<有争议的评论>

我不确定究竟在哪里我站在这里,但FB已被转移到C ++,

而AFAIK,PostgreSQL仍在C中 - 这可能是一场宗教的b $ b b战争(并且超出我),但是我以为我会提到它。

来自 http ://advocacy.postgresql.org/advantages/


--------------

免疫过度部署


同样适用于FB。

---------------

---------------比专有供应商更好的支持


同样适用于FB。

-----------------


--------------------- - 显着节省人员成本


同样适用于FB。

-------------------- -


----------------------传说中的雷利能力和稳定性


同样适用于FB。虽然有时间报告腐败的时间,但通常是因为服务器是服务器。实际上是一些最终用户的

PC。

-----------------------


-----------------------可扩展


同上FB。但是,如果你想扩展代码,你必须将这些更改返还给社区 - 许可证的格式比BSD更多。

----- -------------------


------------------- ----跨平台


FB支持约。 10个主要平台 - 不如PG那么多,但是

仍然可以继续使用。

-------------- ---------


------------------------专为高容量环境而设计
我们使用一种名为MVCC的多行数据存储策略,使PostgreSQL在高容量环境中具有极高的响应能力。
领先的专有数据库供应商也使用这种技术,同样原因。


同样适用于FB。它使用了被称为MGA的多种多样(多元化的代数架构 - 我认为他们让你们打败了

术语!),记录阴影或记录版本。它似乎与PG使用的相同,显然有不同的实现。

------------------ --------


--------------------------- GUI数据库设计和管理工具


同样适用于FB。一些免费的,一些专有的。

---------------------------


--------------------------- PostgreSQL提供的一些技术功能的点列表:


(在任何这些之前的X表示FB也是合规的,O表示

不是,但请注意警告)


---- -------完全符合ACID标准


X

-----------

----------- ANSI SQL兼容


X

------------
---------------参考诚信


X(为什么这应该被视为奖金超出我的范围!)

---------------

---------------复制(非商业性的和商业解决方案)允许将主数据库复制到多个从属机器


X警告:目前没有操作系统解决方案,但有一种阴影形式/>
一个人可以做 - 不是很好但总比没有好。

----------------


------------- --- ODBC,JDBC,C,C ++,PHP,Perl,TCL,ECPG,Python和Ruby的原生接口


X警告:我认为FB工作原理本机上绝大多数这些都是b $ b并且也有自己的接口,但显然不是ECPG。

-------------- ----


------------------规则


?我不明白这些 - 有人可以解释它们到底是什么吗?

-------------------

-------------------观看


X(FB'可以更新来启动!)< br $>
-------------------


------------ -------触发


X(puhlease!)

----------------- ---


-------------------- Unicode


X < br $>
---------------------


---------- -----------序列


X,用FB说法生成器!

----------- -----------


-----------------------继承


(NO !!!!!!!!!!)

-------------------- ---


-----------------------外部加入


X(这是一个大问题?)

------------------------

------------------------子选择


X(这个?)

------------------------


------ -----------------一个开放的API


X

-----------------------


----------------------存储过程


X(另一笔大买卖RDBMS?)

-----------------------


---- -------------------原生SSL支持


? (不确定 - 有一种名为Zebedee的东西允许通过互联网安全

连接)。

--------------- --------


-----------------------程序语言


X(重要的是再次 - 但是,请注意,不要和PG一样多。

----------------- ------


-----------------------热备用(商业解决方案)


?(不知道这是什么意思)

--------------------- -


-----------------------比行级锁定更好


X(我假设这里的意思是MVCC?)

------------------------


------------------------功能和部分索引


O

--------------------------


- ------------------------- Native Kerberos身份验证


O

- -------------------------


------------- -------------支持UNION,UNION ALL和EXCEP T查询


X

--------------------------


--------------------------可加载的扩展,提供SHA1,MD5,XML和其他功能


O. Caveat,也许是通过UDF的一部分?

----------------- ---------


--------------------------生成工具便携式SQL与其他符合SQL®的系统共享。


X FB使用相当标准的SQL语法。有几个免费软件

实用程序也可以帮助一个。

--------------------- ------


---------------------------提供可扩展的数据类型系统用于自定义,用户定义的数据类型和新数据类型的快速开发


X警告。 UDT'是一个涂鸦,但不能AFAIK创建行类型

变量。

------------------ ----------


---------------------------- - 跨数据库兼容性功能,以简化从其他更少SQL兼容的RDBMS



O的过渡,但许多应该/将很容易使用UDF'的。

-----------------------------

Paul ...


-

plinehan x__AT__x yahoo x__DOT__x com


C ++ Builder 5 SP1,Interbase 6.0.1.6 IBX 5.04 W2K Pro


请不要发帖。

------------- --------------(广播结束)---------------------------

提示2:您可以使用取消注册命令立即取消所有列表

(将注册YourEmailAddressHere发送到 ma ******* @ postgresql.org

解决方案

On Tue ,12月16日2003 21:04:10 -0000 Paul Ganainm< pa ************* @ hotmail.com>写道:

同样适用于FB。但是,如果你想扩展代码,你必须将这些更改发回给社区 - 许可证比GML更多GPL而不是BSD。




也许当你说可扩展时你需要澄清你的想法。


postgresql有sql扩展名,如create type;可扩展性是可能的

没有进入源代码。听起来你正在谈论在这里对firebird代码库进行更改




richard

-

Richard Welty rw****@averillpark.net

Averill Park网络518-573-7592

Java,PHP,PostgreSQL,Unix,Linux,IP网络工程,安全

------------- --------------(广播结束)---------------------------

提示2:您可以使用取消注册命令立即取消所有列表

(将注册YourEmailAddressHere发送到 ma ******* @ postgresql.org


Paul Ganainm< pa *** **********@hotmail.com>写道:

规则
?我不明白这些 - 有人可以解释它们究竟是什么吗?




基本上像查询宏 - 你可以使用规则来重写部分或

所有用户查询并将结果提供给查询优化器。

他们是如何实现视图,并且您可以创建可更新的视图

通过编写适当的规则。 PG视图不能默认更新的唯一原因是(AIUI)缺乏对如何使用
的复杂视图定义的协议。


-------------------

--------------- ----

视图



X(FB可以更新以启动!)




见上文。


-Doug


------------------ ---------(广播结束)---------------------------

提示6:您是否搜索了我们的列表档案?

http://archives.postgresql .org




On 16/12/2003 21:04 Paul Ganainm写道:

嗨Paul,

-----------------------

比行级锁定更好X(我假设这里的意思是MVCC?)
----------------------- -


我在一周内查看FB在线文档或两年前的b / b $ b $时找不到的东西就像支持交易一样隔离级别

可序列化。虽然PG文档声明它的实现tils

并不完全符合SQL规范,但它仍然非常好,因为你不需要用select来锁定
行...更新。 FB在这方面如何做?

------------------------

功能和部分索引



--------------------------




没有部分索引?让他们把它放在他们的TODO清单上;)


顺便说一句,FB有相当于PG的序列吗?


-

Paul Thomas

+ ------------------------------ + - ------------------------------------------- +

| Thomas Micro Systems Limited |较小的软件解决方案

业务|

|计算机顾问|
http://www.thomas-micro -systems-ltd.co.uk |

+ ---------------------------- - + + ---------------------------------------------


---------------------------(广播结束)------- --------------------

提示8:解释分析是你的朋友




Hi all,

Following up on another thread, here is a comparison between FB and PG
from an FB''ers POV. BTW, FB is the love-child of Open-Source-Interbase.

BTW, I have tried to be as accurate as I can with the information
available to me at this point in time - I was unable to find anything
resembling a feature list on the FB site, so most of this is from
memory. I do have an email account on the various lists on that site,
and I will post this there and see what they have to say.
This should get the ball rolling on an FB/PG discussion. Hopefully the
primitive formatting that I''ve applied will work on everybody''s machine,
I''ve just just used ''> '' (like newsgroups) and ---------''s to separate
topics. If you are going to reply, it might be better to do it topic by
topic, rather than uselessly copying endless lines of un-replied to
postings? Short, staccato, angry responses are what I want! 8-).
The architectures of the databases are fundamentally the same MVCC for
you, MGA for us Firebirders (Multi Generational Architecture).
From an Open-Source-Interbase/Firebird point of view there are several
issues where PostgreSQL falls down.

Ease of use (particularly on Windows). FB is about as easy as installing
Minesweeper.

</Controversial remark>
PG appears to place a lot of effort in supporting array datatypes.
While they are (barely) supported in FB, most advise against using them
- if I had my way I''d rip them out - they are the work of the Devil. A
well designed schema can get around any need for arrays. They break the
relational model and are generally very non-portable.
<Controversial remark>
I''m not sure exactly where I stand here, but FB has been moved to C++,
whereas AFAIK, PostgreSQL is still in C - this is probably a religious
war (and beyond me), but I just thought that I''d mention it.
From http://advocacy.postgresql.org/advantages/

--------------

Immunity to over-deployment
Ditto for FB.
---------------

--------------- Better support than the proprietary vendors
Ditto for FB.
-----------------

---------------------- Significant saving on staffing costs
Ditto for FB.
----------------------

---------------------- Legendary reliability and stability
Ditto for FB. Although there are reports of corruption from time to
time, it is generally because the "server" was actually some end-user''s
PC.
-----------------------

----------------------- Extensible
Ditto for FB. If you want to extend the code, though, you have to give
those changes back to the community - the licence is more GPL than BSD.
------------------------

----------------------- Cross platform
FB supports approx. 10 major platforms - not quite as many as PG, but
still enough to be getting on with.
-----------------------

------------------------ Designed for high volume environments
We use a multiple row data storage strategy called MVCC to make
PostgreSQL extremely responsive in high volume environments.
The leading proprietary database vendor uses this technology
as well, for the same reasons.
Ditto for FB. It uses what is termed variously as MGA (Multi-
Generational Architecture - I think that they have you guys beat for the
terminology!), Record Shadowing or Record Versioning. It seems to be
identical to what PG uses, with a different implementation obviously.
--------------------------

--------------------------- GUI database design and administration tools
Ditto for FB. Some free, some proprietary.
---------------------------

--------------------------- A point list for some technical features that PostgreSQL offers:
(an X before any of these means that FB is also compliant, an O means
not, but see caveats)

----------- Fully ACID compliant
X
-----------
----------- ANSI SQL compliant
X
------------
--------------- Referential Integrity
X (why this should be seen as a bonus is beyond me!)
---------------
--------------- Replication (non-commercial and commercial solutions) allowing
the duplication of the master database to multiple slave machines
X caveat: no OS solution at the moment, but there is a form of shadowing
that one can do - not great but better than nothing.
----------------

---------------- Native interfaces for ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG,
Python, and Ruby
X caveat: I think that FB works natively with the vast majority of these
and has its own interfaces as well, but not ECPG obviously.
------------------

------------------ Rules
? I don''t understand these - can somebody explain exactly what they are?
-------------------

------------------- Views
X (FB''s are updateable to boot!)
-------------------

------------------- Triggers
X (puhlease!)
--------------------

-------------------- Unicode
X
---------------------

--------------------- Sequences
X, in FB parlance Generators!
----------------------

----------------------- Inheritance
(NO!!!!!!!!!!)
-----------------------

----------------------- Outer Joins
X (This is a big deal?)
------------------------

------------------------ Sub-selects
X (and this?)
------------------------

----------------------- An open API
X
-----------------------

---------------------- Stored Procedures
X (another big deal for an RDBMS?)
-----------------------

----------------------- Native SSL support
? (not sure - there is a thing called Zebedee that allows secure
connections over the internet).
-----------------------

----------------------- Procedural languages
X (big deal yet again - though, mind you, not as many as PG.
-----------------------

----------------------- Hot stand-by (commercial solutions)
? (not sure what is meant by this)
-----------------------

----------------------- Better than row-level locking
X (I assume that what is meant here is MVCC?)
------------------------

------------------------ Functional and Partial indexes
O
--------------------------

-------------------------- Native Kerberos authentication
O
--------------------------

-------------------------- Support for UNION, UNION ALL and EXCEPT queries
X
--------------------------

-------------------------- Loadable extensions offering SHA1, MD5, XML, and other functionality
O. Caveat, maybe some of this through UDF''s?
--------------------------

-------------------------- Tools for generating portable SQL to share with other SQL-
compliant systems.
X FB uses fairly standard SQL syntax. There are a couple of freeware
utilities as well that help one.
---------------------------

--------------------------- Extensible data type system providing for custom, user-defined
datatypes and rapid development of new datatypes
X Caveat. UDT''s are a doodle, but cannot AFAIK create row type
variables.
----------------------------

----------------------------- Cross-database compatibility functions for easing the transition from
other, less SQL-compliant RDBMS



O, but many should/would be easy to write using UDF''s.
-----------------------------
Paul...

--

plinehan x__AT__x yahoo x__DOT__x com

C++ Builder 5 SP1, Interbase 6.0.1.6 IBX 5.04 W2K Pro

Please do not top-post.
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ma*******@postgresql.org)

解决方案

On Tue, 16 Dec 2003 21:04:10 -0000 Paul Ganainm <pa*************@hotmail.com> wrote:

Ditto for FB. If you want to extend the code, though, you have to give
those changes back to the community - the licence is more GPL than BSD.



maybe you need to clarify what you think of when you say "extensible".

postgresql has sql extensions like "create type"; extensibility is possible
w/o going into the source code. it sounds like you''re talking about making
changes to the firebird code base here.

richard
--
Richard Welty rw****@averillpark.net
Averill Park Networking 518-573-7592
Java, PHP, PostgreSQL, Unix, Linux, IP Network Engineering, Security
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ma*******@postgresql.org)


Paul Ganainm <pa*************@hotmail.com> writes:

Rules
? I don''t understand these - can somebody explain exactly what they are?



Basically like "query macros"--you can use a rule to rewrite part or
all of the user query and feed the result to the query optimizer.
They''re how views are implemented, and you can create updateable views
by writing the appriopriate rules. The only reason PG views aren''t
updateable by default is (AIUI) a lack of agreement on how they should
work for complex view definitions.

-------------------

-------------------

Views



X (FB''s are updateable to boot!)



See above.

-Doug

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



On 16/12/2003 21:04 Paul Ganainm wrote:
Hi Paul,

-----------------------

Better than row-level locking
X (I assume that what is meant here is MVCC?)
------------------------



One thing I couldn''t find when looking at the FB on-line docs a week or
two ago was anything like support for transaction isolation level
serializable. Whilst the PG docs states taht its implementation of t.i.l.s
is not quite to SQL spec, it is still very good as you don''t need to lock
rows with select ... for update. How does FB do in this respect?
------------------------

Functional and Partial indexes



O
--------------------------



No partial indexes? Get them to put it on their TODO list ;)

BTW, has FB got an equivalent of PG sequences?

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend


这篇关于DB Corral的Firebird和PostgreSQL。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆