Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 嵌入式数据库的选择?_Database_Sqlite_Embedded_Filesystems - Fatal编程技术网

Database 嵌入式数据库的选择?

Database 嵌入式数据库的选择?,database,sqlite,embedded,filesystems,Database,Sqlite,Embedded,Filesystems,我们正在一个嵌入式平台上构建一个应用程序,该平台需要一个性能相当高的数据库,在条目数>500000的表上,选择速度非常低。 数据库需要能够: 将原子提交信息存储在NVRAM中,以便在提交完成前断电时保留这些信息。 可以使用jffs2或yaffs2等工具将数据写入NAND闪存,以平衡内存中的磨损。 目前,我们的选择似乎是滚动您自己的方法,或者可能是SQLite。 任何其他选项,或关于滚动您自己的或使用SQLite的详细信息的指针,都将不胜感激! 编辑:目标内存为32MB,NVRAM为1MB,NAN

我们正在一个嵌入式平台上构建一个应用程序,该平台需要一个性能相当高的数据库,在条目数>500000的表上,选择速度非常低。 数据库需要能够: 将原子提交信息存储在NVRAM中,以便在提交完成前断电时保留这些信息。 可以使用jffs2或yaffs2等工具将数据写入NAND闪存,以平衡内存中的磨损。 目前,我们的选择似乎是滚动您自己的方法,或者可能是SQLite。 任何其他选项,或关于滚动您自己的或使用SQLite的详细信息的指针,都将不胜感激!
编辑:目标内存为32MB,NVRAM为1MB,NAND闪存为64MB。代码的其余部分是C,因此这是首选语言。目标处理器是ARM。一般来说,需要具有最高性能的查询非常简单。复杂查询不需要具有相同的性能级别。

Codebase提供了一个可靠的便携式轻型快速isam和事务。

Codebase提供了一个可靠的便携式轻型快速isam和事务。

如果嵌入式系统可以访问.NET framework,你可以嵌入。

如果你的嵌入式系统可以访问.NET framework,你可以嵌入。

苹果的iPhone和iPodtouch在很多功能上都使用SQLite DB,因此肯定有一个经过验证的基于flash的平台。然而,我怀疑这些表格中的数据量是否超过500k行。

苹果的iPhone和iPodtouch在很多功能上都使用SQLite DB,因此肯定有一个经过验证的基于flash的平台。但是,我怀疑这些表中的数据量是否超过500k行。

我认为这可能有助于您做出选择

但我不明白你为什么有你的具体NVRAM要求

我想这可能有助于你做出选择


但我不明白你为什么有你的具体NVRAM要求

平台上有什么信息吗?多少公羊?什么样的CPU?它能运行什么样的代码?JAVAC网根据可用资源的不同,有几种可能的选择。此外,您是否需要执行复杂的查询顺序、组、连接、组合条件、,诸如此类,或者您更关注的是基于密钥模式的1添加行2提取行?您是否知道,任何合理的RDBMS都会在事务日志中保留信息,以从电源故障中恢复?平台上的任何信息?多少公羊?什么样的CPU?它能运行什么样的代码?JAVAC网根据可用资源的不同,有几种可能的选择。此外,您是否需要执行复杂的查询顺序、组、连接、组合条件、,诸如此类,或者您更关注的是基于密钥模式的1添加行2提取行?您是否知道任何合理的RDBMS都会在事务日志中保留信息以从断电恢复?我们需要系统保留所有信息,即使在断电期间也是如此。NVRAM需要保留电源故障时正在进行的任何事务的信息。事务日志就是这样做的。它是在事务开始之前编写的,然后可以用于在断电后回滚或重新应用。@RoadWarrior:好的,我听说它被称为不同的东西。谢谢你的澄清。我们的目标是将事务日志保存在NVRAM中。我们需要系统来保存所有信息,即使在电源故障期间也是如此。NVRAM需要保留电源故障时正在进行的任何事务的信息。事务日志就是这样做的。它是在事务开始之前编写的,然后可以用于在断电后回滚或重新应用。@RoadWarrior:好的,我听说它被称为不同的东西。谢谢你的澄清。我们的目标是将事务日志保存在NVRAM.Hmm中。我下载了代码库示例,与SQLite.Hmm相比速度非常慢。我下载了代码库示例,与SQLite相比速度非常慢。Marc,我接受这个答案,因为它给了我最新的信息!谢谢马克,我接受这个答案是因为它给了我最新的信息!谢谢