代码之家  ›  专栏  ›  技术社区  ›  Mawg says reinstate Monica

嵌入式“最佳”数据库是什么?[关闭]

  •  18
  • Mawg says reinstate Monica  · 技术社区  · 15 年前

    我是个嵌入式的人,不是数据库的人。我被要求重新设计一个在几个地方存在瓶颈的现有系统。

    嵌入式设备基于运行在220MHz的ARM9处理器。

    应该有一个包含50K条目的数据库(可以增加到250K),每个条目都有1K的数据(最多8个字段)。这是近似值-如果必要的话,我可以设法得到更精确的数字。

    他们目前正在使用sqllite 2并计划迁移到sqllite 3。

    如果不发动一场“火焰大战”——我是一个完全的D/B新手,只是在寻求建议——这是“最佳”决定吗?我知道这可能是“一根绳子有多长?”问题,但任何建议都会受到极大欢迎。我不介意做很多阅读和研究,只是希望你能让我有一个良好的开端。谢谢。

    另外,完全重写的P.S甚至可能不会坚持使用嵌入式Linux,而是改用ECOS,不要太担心D/B格式之间的一次性转换。哦,而且访问应该很少,最多每隔几秒钟访问一次。


    编辑:好的,它们似乎只有3万个条目(可能达到10万或更多),每个条目只有5或6个字段,但至少有3个可以作为一条记录的搜索键。他们在玩弄“完全没有D/B,因为数据是如此简单”,但在我看来,对于多个键,我们不能使用诸如quicksort()类型搜索(递归、二进制搜索)之类的花哨的东西。有没有关于“无D/B”的想法,只是数据结构?

    顺便说一句,一个键是800K—不确定sqllite处理得有多好(也许在“没有d/b”的情况下,我必须将800K散列为更小的值?)

    10 回复  |  直到 6 年前
        1
  •  23
  •   Valentin    15 年前

    另外,sqlite是几乎所有移动操作系统所选择的数据库。Android、iPhone OS和Symbian与sqlite合作,这让我觉得这些手机的处理器(几乎总是ARM)需要人力来优化它。

        2
  •  12
  •   selfawaresoup    15 年前

    我会坚持使用sqlite,它得到了广泛的支持,并且功能非常丰富。

        3
  •  7
  •   Carl Smotricz    15 年前
    • Firebird(以前是Interbase)声称嵌入良好。

    • hyrosonicql(hql)体积小、速度快,并且声称适合嵌入式使用。

    唉,我没有个人经验来支持这两种说法。

        4
  •  4
  •   figurassa    15 年前

    sqlite可能是一个相当安全的赌注。但是,如果性能对您的应用程序非常重要,并且您不需要关系数据库,我建议您查看伯克利数据库。 link text . 不过,伯克利数据库不是关系数据库。换句话说,如果您的数据分组在不同的表中,并且您经常需要查询需要来自多个表的相关数据的结果集,那么您可能需要一个关系数据库。Berkeley DB更适合类似于查找表(即,数据组织在几个表中,您不需要从多个表中查询数据来生成所需的结果集)。伯克利数据库是非常快,但它将需要更多的工作,你的目的,以得到最大的发挥。

        5
  •  3
  •   James    14 年前

    如果你想要其他的选择,那么 柏克莱数据库 值得一看。它以前归Sleepycat软件所有,但现在可以从Oracle获得。它是一个准数据库引擎;直接可编程(而不是SQL)前端。在许多主要数据库中,它被用作核心引擎的一部分,在许多嵌入式设备中,它被用作数据库,在路由器中管理路由表时,它曾特别流行。 如今,对于更时尚的设置,它往往会被忽视,但我发现它是体面的、可靠的,而且对于你所谈论的数字来说,它可能是闪电般的快。

        6
  •  2
  •   sagasw    15 年前

    我也建议使用sqlite3。 它被许多著名的应用所使用。

        7
  •  2
  •   jRam90    12 年前

    sqlite可以,但如果计划插入、更新和删除涉及6 millon行以上的数据(同时全部或任何部分),则不要使用它。问题是,vaccum关键字必须始终执行,然后它成为性能的一个非常严重的瓶颈,即使它是自动的。

        8
  •  1
  •   joetsuihk    15 年前

    我不熟悉嵌入式系统,但iPhone使用ARM9,并且 sqlite 作为数据库

        9
  •  1
  •   CPlusPlus OOA and D    10 年前

    01-11-10 embedded.com时事通讯很好地涵盖了这个主题。新闻稿可以在embedded.com上找到: Embedded.com Tech Focus Newsletter (1-11-10): Embedding Databases .

        10
  •  0
  •   Fredrik S    6 年前

    晚了8年,但作为一个更新:我在使用 Raima Database Manager . 如果你想找一个小规模的数据库,他们可以降到40K。我喜欢RDM的原因之一是平台独立性,它可以移植到32位和64位的机器上,在big endian和little endian架构之间,以及对大多数操作系统的支持,这意味着你可以在嵌入式Linux和ecos上使用它,如t中所述。他第一个职位。它的性能会随着您添加更好的硬件和用户而变得更好,而不是 SQLite

    推荐文章