原生 XML 数据库与 SQLite/MySQL

发布于 2024-10-24 08:45:26 字数 112 浏览 2 评论 0 原文

我正处于为嵌入式系统设计媒体播放器的设计阶段。大多数此类系统使用 SQLite/嵌入式 MySQL 进行数据管理。 您如何比较嵌入式系统中用于媒体播放器的 XML 数据库? 优点/缺点?

谢谢!

I am in a design phase for designing a media player for an embedded system. Most of such systems use SQLite/embedded MySQL for data management.
How would you compare an XML database used for media player in an embedded system?
Pros/Cons?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

微暖i 2024-10-31 08:45:26

优点/缺点(给定相同数量的数据):

  • XML
    • [+]应该使用更少的系统资源来进行简单的数据检索
    • [-] 更改数据会很困难(需要重写整个 XML 文件)
    • [-] 数据管理功能非常有限(为非常常见的 SQL 功能重新发明轮子的风险,例如 LIKEGROUP BYLIMIT 等)。不过,请检查您是否有 XQuery / XPath 库,但我想无论如何,您在数据写入、表管理、连接等方面都会受到很大的限制。
  • SQLite/MySQL
    • [+] 可以使用 SQL 管理数据,轻松处理多个表...
    • [+](仅限 SQLite):不需要服务器(与 MySQL 不同),因此应该会带来更少的安装问题,消耗更少的系统资源等。

我会选择 SQLite。

Pros / cons (given the same amount of data):

  • XML:
    • [+] Should use less system resources for simple data retrieving
    • [-] Changes on data would be difficult (need to rewrite entire XML files)
    • [-] Very limited data management capabilities (risks of reinventing the wheel for quite common SQL features such as LIKE, GROUP BY, LIMIT etc). However check if you have an XQuery / XPath lib, but I guess that anyway you would be very limited for data writing, tables management, joins etc.
  • SQLite/MySQL:
    • [+] Possibility to manage data using SQL, work easily with several tables...
    • [+] (SQLite only): no server required (unlike MySQL), should then bring less installing issues, consume less system resources etc.

I would then go for SQLite.

枕花眠 2024-10-31 08:45:26

XML 文档格式的数据比数据库更容易更新。
如果您的数据集不太大,请尝试本机 XML 数据库 eXist:
http://exist.sourceforge.net/

Data is easier to update in XML document format than in a database.
If your data set isn't too large, give the native XML database eXist a try:
http://exist.sourceforge.net/

拒绝两难 2024-10-31 08:45:26

“嵌入式系统”可以有多种含义,但总的来说,SQLite 比任何 XML 数据库都要轻量得多。如果我们谈论的是嵌入式而不是便携式(例如,可能是 64MB 或更少的可用 RAM),我也会避免任何需要 Java 环境的东西,因为 JIT 和垃圾收集在内存和处理方面都是昂贵的。

Sedna 的安装相对复杂,并且可能无法舒适地生活在嵌入式环境中。

除了非常适合嵌入式领域的 SQLite 之外,BerkeleyDB XML 可能是一个替代方案。

"Embedded System" can mean a number of things, but in general SQLite is considerably more lightweight than any XML database. If we're talking embedded rather than portable (as in, maybe 64MB or less of available RAM), I'd also avoid anything that needs a Java environment, because JIT and garbage collection are costly memory-wise and processing-wise.

Sedna is relatively complicated to install and may not live comfortably in an embedded environment.

Besides SQLite, which is a very good fit for the embedded space, BerkeleyDB XML may be an alternative if you really want something XML-based.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文