我想获得有关Java中嵌入式数据库的意见或建议.特别是我在看H2,HSQLDB和Derby.您是否在生产项目中使用了这些?您是否有评论或建议选择其他人?
谢谢
编辑:我目前正在评估这些选项,以用于我们的内部开发,所以我没有考虑具体的用例.我正在评估它们的一个可能用途是使用数据库作为本地存储库的桌面应用程序.在某些时候,它与中央存储库(在本例中为DB2)同步.它是一个存储和转发架构.无论如何,这只是指导你的答案的可能性,基本上我正在寻找你使用这些工具的经验.
我最近问过一个关于Neo4j的问题,我开始工作,看起来不错.它是可嵌入的,它是用Java编写的,并没有(太多)依赖.
然而,这是一个图形数据库,我不知道将它用作简单的键/值存储是否是一个好主意.
基本上我有一张大地图,在Java中看起来像这样:
Map<Integer,Map<String,String>>
Run Code Online (Sandbox Code Playgroud)
我在主地图中有几千万个条目,每个条目都包含一个属性/值的映射."内部"地图相对较小:约20个条目.
我需要一种方法来保持从运行webapp到另一个的映射.
使用Neo4j,我所做的是为每个ID(整数)创建一个节点,然后为内部映射中的每个条目放置一个属性.从我早期的测试看起来似乎有效,但我不确定这是一个很好的方法.
用Java编写的哪个可嵌入数据库会用到吗?
要求是:
用Java编写
可嵌入(所以没什么太大)
不是 SQL(*)
开源
易于备份(我需要能够在服务器运行时进行"实时"备份)
我的术语也可能有点不对,所以请随时帮助我/纠正我.对于我的"地图地图",最合适的是键/值对DB吗?
由于键/值对DB,文档DB,大表,图形DB等之间的差异,我有点迷失.
我也喜欢使用像Neo4J这样的图形数据库来满足我的需求(我认为性能确实不会是一个问题,因为我会看到相对少量的条目).
当然我可以自己坚持我的地图地图,但我真的不想在这里重新发明任何轮子.我想重用一个久经考验的DB ......
(*)我不想要SQL的原因是我总是会有这个"地图图",内部地图会不断发展,所以我不想要太结构化的东西.
我正在寻找一个数据库,我可以使用它来存储多年来某些股票的数据.可能会有几千条记录.我正在用Java和Clojure编写一个应用程序,当需要显示数据时,它将从本地数据库中提取数据.
我想知道是否有人知道有一个好的数据库可以用于此目的吗?我只有在服务器端运行MySQL的经验.
哪个数据库最容易在Clojure和Java中用于本地存储?
谢谢,
亚当
我想创建一个程序,用户只需运行.jar文件即可运行.我希望这个程序能够访问数据库,该数据库在首次下载程序时预先填充了一些数据,并且当用户使用它时,会向数据库添加更多数据.
数据库应本地存储在用户的计算机上.
我最好的选择是什么?我应该使用哪个数据库引擎,以及我需要做些什么才能使用户在安装应用程序时不必设置数据库,它将预先填充.jar文件?
我有一个程序,不断从网站获取信息,并不断更新.截至目前,我将所有信息存储在一个arraylist,然后当我完成后,我将其写入文本文件.
我需要操纵这些信息; 但是,它创建了一个庞大的文本文件,我不能经常读取和写入文本文件的信息,因为它需要太长时间.所以有人告诉我要研究使用数据库.我曾经使用过的唯一一个数据库是一个网站的MySQL数据库,而不是java.
有没有办法让数据库本地化?就像在我的电脑上一样(当我是唯一一个在我的电脑上访问这些信息的人时,不想支付网络托管费用)?我看了一点SQLite,但我看到的一件事是它不允许并发.我正在考虑对我的程序进行多线程处理,并让它同时读写不同的部分.这可能吗?
基本上我在这里要求的是:
我的要求是
请建议我一个具有上述功能的数据库,以及一些关于这方面的好教程的指示.
我正在为学校做一个像Cleverbot这样的自动聊天客户端.我有一切工作,但我需要一种方法来建立响应的知识库.我打算制作一个矩阵,其中包含我需要机器人的所有响应,但我认为每次我想要添加对机器人的响应时都很难编辑代码.这是我对知识库矩阵的代码:
`String[][] Database={
{"hi","hello","howdy","hey"},//possible user input
{"hi","hello","hey"},//response
{"how are you", "how r u", "how r you", "how are u"},
{"good","doing well"}`
Run Code Online (Sandbox Code Playgroud)
我如何从文本文件中制作这样的矩阵?有没有比从文本文件中读取更好的方法来处理这个问题?