Firebird 或 NexusDB
我知道有很多与 Delphi 数据库相关的问题,但我只考虑这两个数据库。我需要查询大约 100.000 条记录。
根据您的经验,哪个更快:
- 嵌入式
- 和 C/S
谢谢。
I know that there are many Delphi database related questions available, but I'm considering only these two databases. I will need to query around 100.000 records.
From your experience which one is faster:
- as embedded
- as C/S
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我还没用过 Nexus tbh,但我经常使用 Firebird(客户端/服务器),而且我非常喜欢它。它体积小、速度快、尝试兼容 SQL92,并且管理工具非常棒(请参阅 IBExpert,他们也有免费版本)
嵌入式版本应该与普通版本一样好。
I Haven't used Nexus tbh, but I use Firebird regulary (Client/Server) and I am absolutely loving it. It's small, fast, tries-to-be SQL92 compliant, and the management tools are f-a-n-t-a-s-t-i-c (see IBExpert, they have free edition aswell)
The embedded version should be as good as the normal one.
对于嵌入式数据库,我选择 SQLite。它速度快、几乎兼容 SQL-92、跨平台并且免费。
For embedded DB SQLite would be my choice. It's fast, almost SQL-92 compatible, cross platform and free.
我使用 NexusDB(它的前身)作为我编写的 GIS 可视化程序 中的嵌入式服务器不久前,我发现系统软件总体来说非常优秀。我确信在其中输入和输出了大量数据点(景观高度网格和其他空间数据),并且性能很好。现在我们的 CPU 至少已经超过了两代。
我同时评估了 Firebird,但我记得 NexusDB 只是集成得更干净、更容易(特别是部署更简单),并且它们提供了类似的性能,所以我选择了它。
I used NexusDB (well it's immediate predecessor) as the embedded server in a GIS Visualization program I wrote some time back now, and I found the system software to be generally excellent. I was certain throwing a lot of datapoints in and out of it (landscape height grids and other spatial data) and the performance was fine. We're two generations at least of CPU beyond that now too.
I evaluated Firebird at the same time, but as I recall NexusDB simply integrated more cleanly and easily (in particular deployment was simpler) and they offered similar performance so I went with that.
我没有使用过 NexusDB,但是 FireBird 可以轻松处理您提到的表大小。事实上,任何不能处理 100,000 条记录的数据库对于大多数用途来说都太有限了。简而言之,无论您选择哪一个,您都可能不会犯太大的错误。
嵌入式数据库和 C/S 数据库有不同的用途。 C/S的优点是允许多个客户端连接,并且可以在大型系统中更好地扩展。当您想要部署交钥匙系统(可能只需安装 XCopy)时,嵌入式非常有用。
由于涉及额外的层,我怀疑直接连接嵌入式系统中的数据库会比 C/S 更快。只有并排测试才能确定。
您可能已经知道 FireBird 可以部署为 C/S 或嵌入式。如果您还没有考虑过,ElevateDB 是另一个提供相同灵活性的选项。
I haven't used NexusDB, but FireBird will easily handle the table sizes you mentioned. In fact, any database that can't deal with 100,000 records would be too limited for most purposes. In short, you probably won't go too far wrong regardless of which you choose.
Embedded and C/S databases serve different purposes. C/S has the advantage of allowing multiple clients to connect, and may scale better in large systems. Embedded is great when you want to deploy a turnkey system, possibly with just an XCopy install.
Because of the extra layer involved, I suspect that direct connection to a database in an embedded system would be faster than C/S. Only side by side testing will tell for sure.
You probably already know that FireBird can be deployed as C/S or embedded. If you haven't already considered it, ElevateDB is another option that offers the same flexibility.