替代存储除mysql,sql等数据库之外的数据

时间:2010-02-17 12:36:53

标签: java database data-storage

我已经在Java核心中完成了我的项目地址簿,其中我的数据存储在数据库(MySql)中。

我遇到的问题是,当我在其他计算机上运行程序而不是tere时,需要再次创建孔数据库。

所以请告诉我任何替代方法,不使用mysql,sql等任何数据库软件来存储我的数据。

8 个答案:

答案 0 :(得分:6)

您可以使用内容数据库,例如HSQLDBDerby(a.k.a JavaDB),H2,..

所有这些都可以在没有任何其他软件安装的情况下运行,并且可以像其他库一样运行。

答案 1 :(得分:4)

我建议使用可嵌入的轻量级数据库,例如SQLite。看看这个。 从功能页面( SQLite的建议用途部分)下面:

  

应用程序文件格式。而不是   使用fopen()编写XML或一些   专有格式到磁盘文件中   您的应用程序使用,使用   而是SQLite数据库。你会避免的   必须编写和排除故障   解析器,您的数据将更容易   可访问和跨平台,和   您的更新将是交易性的。

答案 2 :(得分:2)

StackOverflow的重点在于您无需通过电子邮件发送问题/答案:)

您可以将数据存储在文件系统,内存(使用序列化等)中,这是DB的简单替代方案。您甚至可以使用可以在内存中完全运行的HSQLDB

答案 3 :(得分:0)

如果您的数据不是那么大,您可以使用简单的txt文件并将所有内容存储在其中。然后将其加载到内存中。但这会导致您改变修改/查询数据的方式。

答案 4 :(得分:0)

像mysql,sql等数据库软件在实现工作方面提供了抽象。如果您希望避免使用相同的内容,您可以考虑拥有自己的数据库,如XML或平面文件。由于XML解析器或处理程序可用,XML仍然是更好的选择。从长远来看,将数据放入自定义数据库/平面文件中将无法管理。

你为什么不探索sqlite?它是基于文件的,意味着您不需要单独安装它,仍然有标准的SQL来检索数据或与数据交互?我认为,sqlite将是一个更好的选择。

答案 5 :(得分:0)

只需使用一个prevayler(.org)。比使用数据库更快更简单。

答案 6 :(得分:0)

我从您的问题中假设您需要某种形式的持久存储到您的应用程序运行的机器的本地文件系统。除此之外,您还需要决定应用程序中的数据使用方式以及数据量。你需要一个数据库吗?你打算在不同领域搜索数据吗?你需要一种查询语言吗?数据是否足够小以适应内存中的简单数据结构?它需要有多大的弹性?这些类型的问题的答案将有助于正确选择存储。可能您需要的只是一个简单的CSV文件,XML或类似文件。有许多轻量级数据库,如SQLite,Berkelely DB,JavaDB等 - 但无论您是否需要数据库的强大功能都符合您的要求。

答案 7 :(得分:0)

这些天我经常使用的商店是Neo4j。它是一个图形数据库,不仅易于使用,而且完全采用Java并且是嵌入式的。我更喜欢它替代SQL。