We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
Firebird(以前的 Interbase)声称可以很好地嵌入。
HypersonicQL(HQL)小而快,也号称适合嵌入式使用。
唉,我没有个人经验来支持这两种说法。
Firebird (previously Interbase) claims to work well embedded.
HypersonicQL (HQL) is small and fast and also claims to be suitable for embedded use.
Alas, I have no personal experience to back up either claim.
SQLite 可能是一个相当安全的选择。但是,如果性能对于您的应用程序确实很重要并且您不需要关系数据库,我建议您看看 Berkeley DB 链接文本 。但 Berkeley DB 不是关系数据库。换句话说,如果您的数据分组在不同的表中,并且您经常需要查询需要从多个表中关联数据的结果集,那么您可能需要一个关系数据库。 Berkeley DB 更适合查找表之类的功能(即,数据组织在几个表中,您无需从多个表中查询数据即可生成所需的结果集)。 Berkeley DB 速度非常快,但您需要做更多的工作才能充分利用它。
SQLite is probably a pretty safe bet. However, if performance is really important for your application and you do not need a relational database, I would suggest you take a look at Berkeley DB link text . Berkeley DB is not a relational database though. In other words, if your data is grouped in different tables and you constantly need to query result sets that require relating data from more than one table, you probably need a relational database. Berkeley DB is better suited for something like look up tables (i.e., the data is organized in a few tables and you don't need to query data from more than one of them in order to produce the result sets you want). Berkeley DB is very fast but it will require more work on your end in order to get the most out of it.
如果您想要替代方案,那么 berkeleydb 值得一看。它曾经由 sleepycat 软件拥有,但现在可以从 Oracle 获得。它是一个准系统数据库引擎;是直接可编程(而不是 SQL)的前端。它被用作许多主要数据库中核心引擎的一部分,以及许多嵌入式设备中的数据库 - 它曾经在管理路由器中的路由表方面特别流行。
如今,对于更时尚的设置来说,它往往会被忽视,但我发现它很不错,很坚固,而且对于你所说的数字来说,它可以快如闪电。
if you want an alternative, then berkeleydb is worth looking at. it used to be owned by sleepycat software, but is now available from oracle. it's a barebones database engine; is directly programmable (rather than a sql) frontend. it's used as part of the core engine in many major databases, and as the database in many embedded devices - it used to be particularly popular for managing routing tables in routers.
it tends to get overlooked these days for more fashionable setups, but i've found it to be decent, solid and for the numbers you are talking about it can be lightning fast.
SQLite 还可以,但如果您计划插入、更新和删除涉及超过 600 万行的数据(全部同时或任何部分),则不要使用。问题是 VACCUM 关键字必须时不时地执行,它成为性能的一个非常严重的瓶颈,即使它是自动的。
SQLite is ok, but don't plan to use if you plan to insert, update and delete data that involves more that 6 millon rows(All at the same time, or any partial part). The thing is that the VACCUM keyword has to be done everynow and then and it becomes a very severe bottleneck for performance, even when it's automatic.
晚了 8 年,但作为更新:我在使用 Raima Database Manager 方面获得了很好的经验。如果您正在寻找占用空间较小的数据库,它们可以降至 40k。我喜欢 RDM 的原因之一是平台独立性,它可以跨 32 位和 64 位机器以及大端和小端架构之间移植,并且支持大多数操作系统,这意味着您可以在嵌入式上使用它第一篇文章中提到了 Linux 和 eCos。当您添加更好的硬件和用户时,它的性能会变得更好,而不是 SQLite
8 Years late, but as an update: I've had pretty good experience using Raima Database Manager. If you are looking for a small footprint db, they can get down to 40k. One of the reasons I like RDM is the platform independence, it is portable across 32-bit and 64-bit machines and between big-endian and little-endian architectures as well as support for most operating systems, meaning you can use it on Embedded Linux and eCos as mentioned in the first post. And it's performance gets better as you add better hardware and users as opposed to SQLite
我也会推荐sqlite3。
许多著名的应用程序都使用它。
I will suggest sqlite3 too.
It is used by many famous application.
我不熟悉嵌入系统,但iphone使用arm9,和 sqlite 作为数据库
i am not familiar with embed system, but iphone use arm9, and sqlite as DB
2010 年 1 月 11 日的 Embedded.com 时事通讯很好地涵盖了这个主题。该新闻稿可在 Embedded.com 上找到:Embedded.com 技术焦点新闻通讯 (1-11-10):嵌入数据库。
The 01-11-10 Embedded.com Newsletter does a nice job of covering this topic. The newsletter can be found at Embedded.com: Embedded.com Tech Focus Newsletter (1-11-10): Embedding Databases.
SQLite 也是几乎所有移动操作系统选择的数据库。 Android、Iphone OS 和 Symbian 都附带了 SQLite,这让我觉得我们花费了人力来针对这些手机中的处理器(几乎总是 ARM)对其进行优化。
Also SQLite is the Database chosen by virtually all mobile operating systems. Android, Iphone OS and Symbian ship with SQLite which makes me think that manpower was spent to optimize it for the processor in those phones (nearly always ARM).
我会坚持使用 SQLite,它受到广泛支持并且功能非常丰富。
I would stick with SQLite, it's widely supported and pretty rich in features.