您如何看待 Postgres 和 Firebird 数据库?
我正在尝试在 postgre 和 firebird 数据库之间进行选择。该数据库将安装在带有asp.net 3.5 的Windows 2003 服务器上。由于价格问题,我不想使用 sql server,我也不想使用 MySQL,我对它以及 .net 连接器和会员提供商的体验很糟糕。
I am trying to choose between postgre and firebird databasses. The database will be installed on a windows 2003 server with asp.net 3.5. i don't want to use sql server because of price issues and I don't want MySQL I had a bad experience with it and the .net connector and the membership provider.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(18)
我一直对 Postgres 印象深刻;它传统上拥有比 MySQL 更完整的功能集(在 ACID 合规性、对高级查询的支持等方面),它具有可靠的 Windows ODBC 驱动程序,并且其文档一丝不苟地指出它偏离 SQL 标准的任何领域。 (似乎所有数据库都在某一方面有所偏差,但 Postgres 是我见过的唯一一个可以确保您知道何时这样做的数据库。)我还没有尝试过您描述的使用场景,但我在 Linux 上运行它并从 Windows ODBC 和 Linux 客户端访问它没有任何问题。
我没有任何使用 Firebird 的经验;对不起。
I've always been impressed with Postgres; it's traditionally had a more complete feature set (in terms of ACID compliance, support for advanced queries, etc.) than MySQL, it has solid Windows ODBC drivers, and its documentation scrupulously points out any areas in which it deviates from the SQL standard. (All databases, it seems, deviate in one respect or another, but Postgres is the only one I've seen that makes sure you know when you're doing so.) I haven't tried the usage scenario you describe, but I've had no problems running it on Linux and accessing it from both Windows ODBC and Linux clients.
I don't have any experience with Firebird; sorry.
我从 1.0 开始就使用 firebird 数据库,
我对它非常满意,
我在 Windows 和 Linux 上使用它。
前段时间,我曾经使用 odbc。没有问题,非常容易
安装简单,维护量很小,很震撼 将
数据库分成几个文件是一种选择,但我不建议您这样做
在服务器崩溃(电力问题或硬盘已满)后,系统会立即继续工作,无需任何维护
我的测试版本为 2.1,生产版本为 1.5,
我使用 Flamerobin 来管理这两个版本
Hellen 的书非常适合了解 firebird
我还测试并阅读了 postgresql。
它看起来是一个很棒的数据库服务器
长期以来,他们都在使用多代记录(就像 firebird 在 interbase 之前在 groton 数据库从一开始就做的那样)
在 postgresql 上,现在你需要清理记录(在 firebird 上称为清理)
有人告诉你这不是在 postgresql 上不需要,但我不认为
postgresql 有更好的语言。你可以用这种语言编写你自己的函数(在 firebird 上你必须用 c、c++ 等编写新函数......)
postgresql 有更多的数据类型。事实上你有几个。
您还可以进行全面搜索。
在 postgresql 上,你也有正则表达式(我认为在 where,因此有替代选项)。该功能很快就会在 firebird 上准备就绪。
无论如何,我对 firebird 及其演变感到非常满意。
Postgresql 和 firebird 正在改进,它们之间的差异更小
许多比较 firebird 和 postgresql 的评论都复制自...
http://www.firebirdsql.org/dotnetfirebird /blog/2005/03/firebird-advantages-over-postgresql.html
这是一个旧的比较。我不认为 .net 上的 postgresql 驱动程序现在还不成熟
使用 firebird,你无法从一个数据库连接到另一个数据库(在不久的将来这将是可能的)
Firebird 比 postgresql 更小、更容易,但它的性能也非常好,稳定性和低维护
再见
I'm using firebird database since 1.0
I'm very happy with it
I'm using on windows and linux
Some time ago, I used to work with odbc. No problems and very easy
Easy instalation, very small maintenance, rocks
Dividing db in several files is an option, but I don't recomend you to do it
After server crashes (electric problem or full harddisk) the system continues working inmediatly without any maintenance
I have versión 2.1 on testing and 1.5 on production
I'm using flamerobin to manage both versions
Hellen's book is great to learn about firebird
I also tested and read about postgresql.
It looks a great db server
Since long time, they are using multigenerational records (as firebird before interbase before groton databases did since the begining)
On postgresql, now you need to vacued records (on firebird it is called sweep)
Someone told you it wasn't necesary on postgresql, but I don't thing so
postgresql has a better language. You can write your own funcions with this language (on firebird you have to write new functions on c, c++, etc...)
postgresql has more data types. In fact you have several of them.
You also have full search.
On postgresql you also have regular expresions (I think in where, and therefore with sustitution options). This funcionality will be ready on firebird very soon
In any case, I'm very happy with firebird and it evolucion.
Postgresql and firebird are improving and diferences bettwen them are smaller
Many of the comments comparing firebird and postgresql are copied from...
http://www.firebirdsql.org/dotnetfirebird/blog/2005/03/firebird-advantages-over-postgresql.html
this is an old comparation. I don't think postgresql driver on .net is not mature now
With firebird you cannot connect from one database to another (it will be possible in a short future)
Firebird is smaller and easer than postgresql, but it's also very good in performance, stability and low mantenaince
bye
我已经使用 Firebird 好几年了。它坚如磐石,我对此非常满意。优秀的综合文档可通过 Borrie 的“The Firebird Book”和“The Firebird Book”获得。它的更新。使用 IBexpert 可以提供出色的管理功能。
I've been using Firebird for several years. Its been rock solid and I'm very happy with it. Excellent comprehensive documentation is available via Borrie's "The Firebird Book" & its updates. Awesome administration capabilities are available using IBexpert.
六年多前,我一直在使用 PostgreSQL、Firebird、Oracle、MySQL、MSSQL,我最喜欢的是 Firebird 和 PostgreSQL。我不喜欢MySQL,因为商业许可证并不便宜,而且MySQL缺少一些功能。
我你问我 FB 和 Pg 之间我更喜欢哪个……它的要求和需求各不相同。我觉得当速度是必须的时候,Firebird 效果更好。我一直在使用非常大的数据库环境,并且没有遇到任何问题。 PostgreSQL 在使用 PHP、Python 和 Ruby 开发的网站和互联网应用程序中表现更好,但我认为这种情况不会持续太久。在过去的几个月里,大公司将 FB 视为一个非常重要的数据库。我推荐你FB。尝试一下,给它一个机会,你不会失望的。
I've been working with PostgreSQL, Firebird, Oracle, MySQL, MSSQL more than 6 years ago and my preferred are Firebird and PostgreSQL. I don't like MySQL because Commercial License is not cheap, and MySQL lacks of some functions.
I you ask me about what is my preferred one between FB and Pg.... It varies about requirements and needs. I feel that Firebird works better when speed is a must. I've been working with very large databases environments and I have not had problems. PostgreSQL is better in web sites and internet applications developed in PHP, Python and Ruby, but I think that this will not be for much time. In the last months big companies are looking to FB as a very serious DB. I recommend you FB. Try it, give it a chance, you won't be disappointed.
从 Firebird 诞生起我们就使用它。事实上我们喜欢这个数据库:)
We use Firebird since its birth. Actually we love this database :)
我喜欢使用 Postgres - 它功能强大、快速、可靠且文档非常齐全。 PL/PgSQL 语言的功能与您可以想象到的一样强大,而且我想不出我在使用它时遇到过任何严重问题。大多数问题往往是用户造成的,并在深入研究文档后得到解决。
如果您对“成熟”数据库有所了解(即不是像 MS Access 这样的数据库),或者准备好学习,我会全心全意地推荐 Postgres。
无法评论Firebird,因为我没有使用过它
I love using Postgres - it's powerful, fast, reliable and extremely well documented. The PL/PgSQL language is about as powerful as you could conceivably require, and I can't think of a single serious problem I've ever encountered with it. Most problems tend to be user-created ones, and are resolved after digging through the documentation.
Provided you know a bit about "grown up" databases (i.e. not something like MS Access), or are prepared to learn, I'd wholeheartedly recommend Postgres.
Can't comment on Firebird because I haven't used it
Firebird + FreeadhocUDFs + IBExpert,只是编程。
我们有 2 个系统已投入生产 6 年
(20 个域、200 个表、50 个视图、370 个存储过程、600 个触发器、
205 个生成器、11 个角色等)并经过测试可迁移到 PostgreSQL(仅
测试,我们喜欢火鸟)。
在具有传统数据类型(整数、varchar、日期、数字等)的表中
视情况而定,差异可能存在于其中之一,
但在存储过程中,Firebird比Postgresql强大得多,
更加简单和优雅。
两三年内,任何Linux发行版,不包括Firebird,只有Mysql和Postgresl。
今天不是白来的,而是传统的发行版(ubunutu / opensuse / fedora / centos 等)和
Firebird 包含在他们的存储库中。
不要说Postgresql比Firebird差,Firebird也并不比Postgresql好多少。
但我毫不犹豫地说 Firebird 与 Postgresql 没有什么可羡慕的,而且在很多方面都更强大。
(抱歉我的英语不好)
Firebird + FreeadhocUDFs + IBExpert, and just programming.
we have 2 systems in production for 6 years
(20 domains, 200 tables, 50 views, 370 stored procedures, 600 triggers,
205 generators, 11, roles, etc, etc) and have been tested to migrate to PostgreSQL (only
test, we love Firebird).
In tables with traditional data types (integer, varchar, date, numeric, etc, etc.)
differences could be for one or the other, as appropriate,
but in stored procedures, Firebird is much more powerful than Postgresql,
much more simple and elegant.
Two or three years, any Linux distribution, not including Firebird, only Mysql and Postgresl.
Not for nothing today, but tradicionesles distributions (ubunutu / opensuse / fedora / centos, etc, etc) and
Firebird include in their repositories.
Postgresql do not say that is worse than Firebird, Firebird is not that much better than Postgresql.
But without hesitation I say that Firebird has nothing to envy to Postgresql, and in many ways is more powerful.
(sorry for my bad english)
他们都很酷。然而,Firebird 的一大优势是它的 .net 数据提供程序。良好的成熟解决方案,与有缺陷的 npgsql(或一些付费的 Postgres 驱动程序)相比。因此,主要是选择您更熟悉的数据库或您的开发团队技能是什么。
Postgres 和 Firebird 都是优秀的数据库。
They are both cool. However, one BIG advantage for Firebird is it's .net data provider. Good mature solution, vs buggy npgsql (or some paid Postgres drivers). So it it mostly to chose what db you are more familiar with or what are your developement team skills.
Both Postgres and Firebird are excellent databases.
我已经使用 Firebird 8 年了,它真的很强大。
检查此链接http://www.ib-aid.com/articles/item104看到 Firebird 是一个非常好的数据库。
Postgres的.NET驱动还不够成熟,而firebird.net提供者甚至支持实体框架!
I've been using Firebird for 8 years and it is really strong.
Check this link http://www.ib-aid.com/articles/item104 and see that Firebird is a pretty good database.
Postgres's .NET driver is not mature enougth, while firebird .net provider is even supporting entity framework!!
Firebird 非常出色、坚固、易于维护、安装和使用。占地面积小(还有嵌入式版本)
唯一的缺点:您必须进行备份和恢复以物理删除已删除的记录。
因此,对于必须 24/7/365 的系统来说,这是一个巨大的限制。这不是我的情况,所以没问题。
PostgreSQL没有这个问题(但我从来没有使用过)。
一位朋友经营一家完整的航运公司,在带有 Linux 服务器和服务器的 PostgreSQL 上进行了数百万笔交易。 java,他很开心。但是维护比firebird更繁重。
另外如果你使用delphi,Firebird更适合。
Firebird is wonderfull, solid, easy to maintain, install & small footprint (embedded version as well)
The only drawback: you have to do a backup and restore to eliminate deleted records physically.
So for a system that has to be 24/7/365 it is a huge limitation.it is not my case so no problemo.
PostgreSQL does not have that problem (but I have never used it).
A friend runs an entire shipping company with millions of transactions on PostgreSQL with linux servers & java and he is very happy.But the maintenance is more heavy than firebird.
Besides if you use delphi, Firebird is better suited.
自 2005 年以来,我一直使用 Firebird 用 Delphi、C# 和 ASP.NET 编写应用程序。我的项目中从未出现过损坏的数据库。我从来不需要使用另一个数据库。
为什么选择 Firebird 而不是 PostgreSQL?
因为 Firebird 是:
6,4MB / Postgresql 9.0 下载:
47MB);
x86 / Linux AMD64 / MacOS X / Solaris
/HP-UNIX);
出色地。如果您使用 Firebird,则不需要另一个数据库。 :)
I always worked with Firebird since 2005 writing application in Delphi, C# and ASP.NET. I never had a corrupt database in my projects. I never needed to work with another database.
Why Firebird instead of PostgreSQL?
Because Firebird is:
6,4MB / Postgresql 9.0 Download:
47MB);
x86 / Linux AMD64 / MacOS X / Solaris
/ HP-UNIX);
Well. If you are using Firebird you dont need another Database. :)
我们从 1.0v 开始就使用 Firebird。它稳定、坚固,具有许多开箱即用的功能,并且非常易于安装和维护。
我们使用.Net 和Delphi 进行开发。
如果您选择 FB,如果您需要一些提示,请随时联系我们。
保罗·容奎拉.
http://www.rt1.com.br
We are using Firebird since 1.0v. It is stable, robust, many features out of the box and extremelly easy to install and mantain.
We develop using .Net and Delphi.
If you choosse FB, fell free to contact us if you need some tips.
Paulo Junqueira.
http://www.rt1.com.br
两者的大部分功能都是相同的,但我推荐 Firebird
1. FB - 支持表内的多种排序规则
2. FB - 更多成熟司机合作选择
3. FB - 由线程或进程管理的连接取决于您的使用/设置
4. FB - 嵌入式支持
不推荐
远离 MS SQLExpress
有一点缺点
1. FB - 如果满足以下条件,则 blob 处理不会那么好
但是如果将 blob 列移动到单独的表中,那么 blob 就没有问题
一个。海量数据挖掘/处理
b. blob 列是与其他数据列一起定义的
Most of the features are the same on both however I recommend Firebird
1. FB - supports multiple collation within a table
2. FB - more choices on mature drivers to work with
3. FB - connection managed by either Thread or Process depend on your use/setup
4. FB - embedded support
Not recommend
Stay away MS SQLExpress
A little Draw back
1. FB - blob handling is not so great if condition below are true
but if you move blob column(s) into separated table, then no issue with blob
a. massive data mining/manipulating
b. blob column(s) is/are defined with other data columns
Firebird Rocks 人,请参阅此 链接 Firebird 的优势PostgreSQL
成熟的 Windows 支持。 Firebird 在 Windows 上受到支持很长时间并且经过了充分的测试。 PostgreSQL 从 8.0 开始原生支持 Windows。还只有几个月的时间...
成熟的 ADO.NET 提供商。 Npqsql(PostgreSQL ADO.NET 提供程序)仍处于测试阶段。 Firebird ADO.NET 提供程序支持嵌入式 Firebird、服务 API(备份、恢复、统计、批量 SQL 执行...)。
嵌入式版本。嵌入式版本(具有 2 MB 运行时间并且可以轻松切换到独立服务器)似乎是 Firebird 的最大优势之一。
许可。 LGPL(Npgsql 被 LGPL 覆盖)似乎比 IPL 不太商业友好(至少它是一种不太清晰的语言)。
Firebird 开源数据库服务器荣获 SourceForge 社区选择奖(“最佳企业项目”类别)。
再见。
Firebird Rocks man, see this link Firebird Advantages over PostgreSQL
Mature Windows support. Firebird is supported on Windows for a very long time and it's well tested. PostgreSQL supports Windows natively since 8.0. Still only a few months...
Mature ADO.NET provider. Npqsql (PostgreSQL ADO.NET provider) is still in beta. Firebird ADO.NET provider supports the embedded Firebird, services API (backup, restore, statistics, batch SQL execution...).
Embedded version. Embedded version (with 2 MB runtime and easy switching to a standalone server) seems to be one of the biggest advantages of Firebird.
Licensing. LGPL (Npgsql is covered by LGPL) seems to be less commercial-friendly than IPL (at least it is a much less clear language).
The Firebird open source database server wins a SourceForge Community Choice Award (in the "Best Project for Enterprise" category).
Bye.
功能 1:Firebird 需要 0 管理并且比 Postgresql 更易于使用
(想想sqlite就像易于使用oracle/postgresql这样的功能)
2.Firebird确实有嵌入式模式,并且在2.5中是完全多线程的
3.是的,Firebird是完全多线程的,而Postgresql不是,
所以我们在这个领域处于领先地位至少 2 年或更长
“所有后端在单个进程中作为线程运行(不需要)
这消除了我们从当前设置中获得的进程保护。在现代系统上,线程创建通常与进程创建的开销相同,因此使用纯线程模型似乎是不明智的,并且 MySQL 和 DB2 已经证明,线程引入的问题与它们解决的问题一样多。线程化特定操作(例如 I/O、顺序扫描和连接管理)已经被讨论过,并且可能会被实现以实现特定的性能特性。 迁移到线程引擎还需要停止 PostgreSQL 上的所有其他工作一到两年。”
我稍后会用更多功能和链接更新这篇文章,为什么这样做
http://mapopa.blogspot.com/2010/10 /where-firebird-is-better-than.html
Feature no 1 : Firebird required 0 Administration and is simpler to use than Postgresql
(think of sqlite like easy of use with oracle/postgresql like features)
2.Firebird does have Embedded mode and is fully multi threaded in 2.5
3.And yes Firebird is fully multithreaded where Postgresql is NOT
so we are ahead in this area with at least 2 or more years
"All backends running as threads in a single process (not wanted)
This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years."
I will update the post later with more features and links why does
http://mapopa.blogspot.com/2010/10/where-firebird-is-better-than.html
正如其他人指出的那样,PostgreSQL 在功能、速度和可靠性方面都非常好。然而,在用它开发了一个企业.Net应用程序之后,我不得不说它不像SQL Server那样容易与Visual Studio融合。除此之外,SQL Server 与 PostgreSQL 有点像 Windows GUI 与 Linux shell:一个易于使用,但一旦您习惯了,另一个就会更快、更强大。
显然,您无法通过 ODBC 驱动程序使用 LINQ,并且如果您正在开发有时使用连接的移动设备的系统,您将失去自动同步的选项,否则您将与 SQL Server 和 SQL Server Compact 一起使用。
As others have pointed out, PostgreSQL is very good in terms of features, speed and reliability. However, after having developed an enterprise .Net application in it, I have to say that it does not mesh with Visual Studio as easily as SQL Server. Aside from that, SQL Server vs PostgreSQL is a little like the Windows GUI vs the Linux shell: one is easy to use, but the other is much faster and more powerful, ONCE you get used to it.
Apparently you can't use LINQ via the ODBC driver, and if you're developing a system using sometimes connected mobile devices, you lose the option of automatic synchronization that you would otherwise have with SQL Server and SQL Server Compact.
Firebird 的一个分支是一个名为 Fyracle 的 Oracle 克隆,它甚至能够运行 Compiere。在此页面上,您可以找到作者选择 Firebird 而不是 PostgreSQL,这也可能对您的决定有所帮助。从以下引用中可以看出 Oracle 模拟的成功程度:
One branch of Firebird is an Oracle clone called Fyracle which is even able to run Compiere. On this page you can find reasons why authors chose Firebird over PostgreSQL, which might also help you with your decision. How successful this Oracle emulation is can be seen from this quote:
为什么不尝试一下 SQL Express,它是 Microsoft 提供的 SQL 的缩小版本,可以免费使用。
Why don't you try SQL Express a scaled down version of SQL from Microsoft which is free to use.